From aee7709b93422a7b5da82d15faaf831745af244b Mon Sep 17 00:00:00 2001 From: Bob Date: Tue, 15 Dec 2020 22:29:46 +0100 Subject: [PATCH] experimental new converter functionality, more bolter stuff --- src/main/java/assets/hbm/lang/de_DE.lang | 4 +- src/main/java/assets/hbm/lang/en_US.lang | 4 +- src/main/java/assets/hbm/lang/ru_RU.lang | 2 +- src/main/java/assets/hbm/lang/zh_CN.lang | 2 +- .../hbm/textures/models/weapons/bolter.png | Bin 2121 -> 2379 bytes .../blocks/machine/BlockConverterHeRf.java | 6 ++- .../blocks/machine/BlockConverterRfHe.java | 6 ++- .../hbm/handler/guncfg/Gun75BoltFactory.java | 6 ++- .../com/hbm/inventory/AssemblerRecipes.java | 10 ++++ src/main/java/com/hbm/items/ModItems.java | 2 +- .../java/com/hbm/items/weapon/ItemAmmo.java | 6 +++ src/main/java/com/hbm/lib/RefStrings.java | 2 +- .../java/com/hbm/main/CraftingManager.java | 9 ++-- .../item/weapon/ItemRenderWeaponBolter.java | 6 ++- .../machine/TileEntityConverterHeRf.java | 25 +++++++--- .../machine/TileEntityConverterRfHe.java | 47 +++++++++--------- src/main/resources/mcmod.info | 2 +- 17 files changed, 91 insertions(+), 48 deletions(-) diff --git a/src/main/java/assets/hbm/lang/de_DE.lang b/src/main/java/assets/hbm/lang/de_DE.lang index 19bc366e0..7b87a9efb 100644 --- a/src/main/java/assets/hbm/lang/de_DE.lang +++ b/src/main/java/assets/hbm/lang/de_DE.lang @@ -259,7 +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_ntm_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 @@ -431,6 +431,7 @@ item.ammo_5mm_chlorophyte.name=5mm Patrone (Grünalgen) item.ammo_5mm_du.name=5mm Patrone (DU) item.ammo_5mm_explosive.name=5mm Patrone (Explosiv) item.ammo_5mm_star.name=5mm Patrone (Sternenmetall) +item.ammo_75bolt.name=30er .75 Bolzenmagazin item.ammo_9mm.name=9mm Patrone item.ammo_9mm_ap.name=9mm Patrone (Panzerbrechend) item.ammo_9mm_chlorophyte.name=9mm Patrone (Grünalgen) @@ -1006,6 +1007,7 @@ item.gun_bolt_action.name=Dream-Repetiergewehr (Original) item.gun_bolt_action_ammo.name=12x74 Brenneke (LEGACY) item.gun_bolt_action_green.name=Dream-Repetiergewehr (Grün) item.gun_bolt_action_saturnite.name=Saturnitbüchse +item.gun_bolter.name=Boltergewehr item.gun_calamity.name=Calamity item.gun_calamity_ammo.name=.50 BMG Patrone (LEGACY) item.gun_calamity_dual.name=Sattelkanone diff --git a/src/main/java/assets/hbm/lang/en_US.lang b/src/main/java/assets/hbm/lang/en_US.lang index 1235e01da..0d48c12fc 100644 --- a/src/main/java/assets/hbm/lang/en_US.lang +++ b/src/main/java/assets/hbm/lang/en_US.lang @@ -259,7 +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_ntm_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 @@ -431,6 +431,7 @@ item.ammo_5mm_chlorophyte.name=5mm Round (Chlorophyte) item.ammo_5mm_du.name=5mm Round (DU) item.ammo_5mm_explosive.name=5mm Round (Explosive) item.ammo_5mm_star.name=5mm Round (Starmetal) +item.ammo_75bolt.name=.75 Bolt Magazine (30rnd) item.ammo_9mm.name=9mm Round item.ammo_9mm_ap.name=9mm Round (Armor Piercing) item.ammo_9mm_chlorophyte.name=9mm Round (Chlorophyte) @@ -1006,6 +1007,7 @@ item.gun_bolt_action.name=Dream Bolt-Action Rifle (Original) item.gun_bolt_action_ammo.name=12x74 Slug (LEGACY) item.gun_bolt_action_green.name=Dream Bolt-Action Rifle (Green) item.gun_bolt_action_saturnite.name=Saturnite Rifle +item.gun_bolter.name=Bolter item.gun_calamity.name=Calamity item.gun_calamity_ammo.name=.50 BMG Round (LEGACY) item.gun_calamity_dual.name=Saddle Gun diff --git a/src/main/java/assets/hbm/lang/ru_RU.lang b/src/main/java/assets/hbm/lang/ru_RU.lang index c95b97446..080980c57 100644 --- a/src/main/java/assets/hbm/lang/ru_RU.lang +++ b/src/main/java/assets/hbm/lang/ru_RU.lang @@ -2007,7 +2007,7 @@ entity.entity_cyber_crab.name=Киберкраб entity.entity_tesla_crab.name=Теслакраб entity.entity_taint_crab.name=Заражённый порчей теслакраб entity.entity_elder_one.name=Крякос Старший -entity.entity_hbm_fbi.name=Агент ФБР +entity.entity_ntm_fbi.name=Агент ФБР item.cap_aluminium.name=Алюминиевый колпачок item.hull_small_steel.name=Небольшая стальная оболочка diff --git a/src/main/java/assets/hbm/lang/zh_CN.lang b/src/main/java/assets/hbm/lang/zh_CN.lang index b0a51adba..10b34c2fa 100644 --- a/src/main/java/assets/hbm/lang/zh_CN.lang +++ b/src/main/java/assets/hbm/lang/zh_CN.lang @@ -270,7 +270,7 @@ death.attack.teleporter=%1$s 被传送到虚空 entity.entity_cyber_crab.name=赛博螃蟹 entity.entity_elder_one.name=老鸭子 entity.entity_fucc_a_ducc.name=鸭子 -entity.entity_hbm_fbi.name=FBI特工 +entity.entity_ntm_fbi.name=FBI特工 entity.entity_mob_hunter_chopper.name=猎人直升机 entity.entity_mob_mask_man.name=面具人 entity.entity_mob_nuclear_creeper.name=核爆爬行者 diff --git a/src/main/java/assets/hbm/textures/models/weapons/bolter.png b/src/main/java/assets/hbm/textures/models/weapons/bolter.png index a33a8c7de58ace6410db79f97a5a36caaa19e9f9..5095755e22d6fbec53e567ccc9f13cff913e0a0b 100644 GIT binary patch delta 2353 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 XR9Xe24U(dj00000NkvXXu0mjfvg)cH delta 2093 zcmV+|2-5e<63GydGk*vGNklJ#X7a7{~vzNt%(y~_Xa&MhZC#35rQ!9J<@@2TTwifH$@pz19&z{Z7 z>vTFHeRHgE^l{zj5-y1qvj)Km$L5*X;^>05wzgo~cC7O~&s%6U^i9&o@)V7fubQ-t zfxQ=zfT@K8fPcYYfFu?tgNR4|Z;+EoxU;h}Se6y*T;KO2&uIjUPiEobR(4q&fV$8K zS5Z<6cjHJT3JqAtq!IHAj^nhVLM>(CfQ)6HEn%U(W!X70Z<-C6GIf;N>lQ!d;4)lU}bEdY%W@bukVLW#P@6H>K=7N@H#k#KF9W6ZDp||Tg75pnv59t!XwOl1I`4QAqAae~ z@0_reMn3CKr%4lLIF8fW-``)j?%?2{b#!#3{=LewAsSb7r?WVY)7swNo)fj-?@I+` zyGa0e`t)g-YaGWTkFJufEMPkL^D10bI)5t&?;d35)5zkuN_UmM?GO*l|d8jH)B>+9>- z=dP@X?W&f-$-;~xoD<%)QAFiE7Y?Y3tK#OPqdfZi=#JTnjOC1?CTUg0U%dM-b8NS= zvJ!i%NEwB8m8#-679u9^iFDCZUVqIP7lX1q0cTM$#x>zUMX9yLm62MEaVj8=NL8MM zH)9;;Czs<=mpE?e#yHU=uB!CBsIVeAb;#Gnq`Z{3SN`M~@zr za#o_Ot94}T?d^rY^hMW)4>$`XF((lRa`##FJ%&KZUdGcf?)ZX4+_<#28+eFu= z8sk{8id@)8!U0u1!9OQ|o=9YX31l! zu|Ho%uh+xQ??0opHpIqP>$CL3!^2s_W<`wp(I}S0!ts74i=?$Ui+`eyt3EGlKJGYx z?@urqjWN8OHj0TQcl&*R{-vbd-Cdl2KE;2RBZOmDdTm;29ml012!F0_g!3?TrNy~?Eb*$BrF1XmdQ6O6nuE{9W#GtE`$HIvEJLfZM~ zQ(U@ZT#dxRHYHfNy1EL(Fkl!4Ow&Zv=SDb&tE&JL-^X-!+o@oNAr~$PuIA3^^?LZ_ z$8Rwl`3OdOLX}21hJV#n1Eyucwr#X;yvjHh=lfrri{0H_+*$bxhC9aXcJ}El9*uAe zA3vS8K7KmQl*ey>{2Ax8Orb%o=PK(=BV0vkx=I1;M1$x@AEMHA(Fhk4(GEdHZRwau zxNf%_@|G^u5wg8-njfLaMy$iPYkjSu`FZVe%A=ARXh# z?sW9uGLdCF3*9sUcyZ8Hnz(^9bCnW`=mO)Cc#K*g|rgaZxPp<_AK zqBg<_P_-3?E`QHdD%`TU|G>1ORqkIRS^$}KW~H$>30ZeK*SUdB6An}qsc@EME&Mg8 zBg^;~Ipx(*PK3gdB~x`1k6w;T=3nWwJkjQyko}F>Rj5@a>Y-9 zsFxATtE_9c$)n%zD}5C~6jJ0ib3!bS*9yaM+PjEWfF?#ASAAaGd}OHlwJOn+S62Q9 XNHUTucq3r!00000NkvXXu0mjfD;X-8 diff --git a/src/main/java/com/hbm/blocks/machine/BlockConverterHeRf.java b/src/main/java/com/hbm/blocks/machine/BlockConverterHeRf.java index 702ed37cc..873724220 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockConverterHeRf.java +++ b/src/main/java/com/hbm/blocks/machine/BlockConverterHeRf.java @@ -9,6 +9,7 @@ import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; public class BlockConverterHeRf extends BlockContainer { @@ -32,7 +33,10 @@ public class BlockConverterHeRf extends BlockContainer { TileEntityConverterHeRf entity = (TileEntityConverterHeRf) world.getTileEntity(x, y, z); if(entity != null) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_converter_he_rf, world, x, y, z); + player.addChatComponentMessage(new ChatComponentText("Note: Buffer may not accuratly represent current conversion rate, keep tact rates in mind.")); + player.addChatComponentMessage(new ChatComponentText("HE: " + (entity.buf / 4))); + player.addChatComponentMessage(new ChatComponentText("RF: " + entity.buf)); + //FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_converter_he_rf, world, x, y, z); } return true; } else { diff --git a/src/main/java/com/hbm/blocks/machine/BlockConverterRfHe.java b/src/main/java/com/hbm/blocks/machine/BlockConverterRfHe.java index 85e5b8b9f..b4793ee36 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockConverterRfHe.java +++ b/src/main/java/com/hbm/blocks/machine/BlockConverterRfHe.java @@ -9,6 +9,7 @@ import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; public class BlockConverterRfHe extends BlockContainer { @@ -32,7 +33,10 @@ public class BlockConverterRfHe extends BlockContainer { TileEntityConverterRfHe entity = (TileEntityConverterRfHe) world.getTileEntity(x, y, z); if(entity != null) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_converter_rf_he, world, x, y, z); + player.addChatComponentMessage(new ChatComponentText("Note: Buffer may not accuratly represent current conversion rate, keep tact rates in mind.")); + player.addChatComponentMessage(new ChatComponentText("HE: " + (entity.buf / 4))); + player.addChatComponentMessage(new ChatComponentText("RF: " + entity.buf)); + //FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_converter_rf_he, world, x, y, z); } return true; } else { diff --git a/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java index d39e049ec..d0b2f5d6d 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java @@ -76,8 +76,10 @@ public class Gun75BoltFactory { bullet.ammo = ModItems.ammo_75bolt; bullet.ammoCount = 30; bullet.spread *= inaccuracy; - bullet.dmgMin = 5; - bullet.dmgMax = 10; + bullet.dmgMin = 16; + bullet.dmgMax = 24; + bullet.doesRicochet = false; + bullet.explosive = 0.25F; return bullet; } diff --git a/src/main/java/com/hbm/inventory/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/AssemblerRecipes.java index b6c2df999..b4619fb04 100644 --- a/src/main/java/com/hbm/inventory/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/AssemblerRecipes.java @@ -533,6 +533,16 @@ public class AssemblerRecipes { new ComparableStack(ModItems.pipes_steel, 1) }, 200); + makeRecipe(new ComparableStack(ModItems.ammo_75bolt, 2), new AStack[] { + new OreDictStack("plateSteel", 2), + new OreDictStack("plateCopper", 1), + new ComparableStack(ModItems.primer_50, 5), + new ComparableStack(ModItems.casing_50, 5), + new ComparableStack(ModItems.ingot_semtex, 2), + new ComparableStack(ModItems.cordite, 3), + new ComparableStack(ModItems.ingot_u238, 1) + }, 60); + makeRecipe(new ComparableStack(ModBlocks.block_cap_nuka, 1), new AStack[] { new ComparableStack(ModItems.cap_nuka, 128) }, 10); makeRecipe(new ComparableStack(ModBlocks.block_cap_quantum, 1), new AStack[] { new ComparableStack(ModItems.cap_quantum, 128) }, 10); makeRecipe(new ComparableStack(ModBlocks.block_cap_sparkle, 1), new AStack[] { new ComparableStack(ModItems.cap_sparkle, 128) }, 10); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 0dd150e62..2e82a6e17 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -3084,7 +3084,7 @@ public class ModItems { ammo_50bmg_star = new ItemAmmo().setUnlocalizedName("ammo_50bmg_star").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_star"); ammo_50bmg_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_50bmg_chlorophyte").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_chlorophyte"); ammo_50bmg_sleek = new ItemAmmo().setUnlocalizedName("ammo_50bmg_sleek").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_sleek"); - ammo_75bolt = new ItemAmmo().setUnlocalizedName("ammo_75bolt").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_75bolt"); + ammo_75bolt = new ItemAmmo().setUnlocalizedName("ammo_75bolt").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(8).setTextureName(RefStrings.MODID + ":ammo_75bolt"); ammo_357_desh = new ItemAmmo().setUnlocalizedName("ammo_357_desh").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_357_desh"); ammo_44 = new ItemAmmo().setUnlocalizedName("ammo_44").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44"); ammo_44_ap = new ItemAmmo().setUnlocalizedName("ammo_44_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_ap"); diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmo.java b/src/main/java/com/hbm/items/weapon/ItemAmmo.java index d10ca5ee4..c0d668027 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmo.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmo.java @@ -516,6 +516,12 @@ public class ItemAmmo extends Item { list.add(EnumChatFormatting.RED + "- Not penetrating"); } + //BOLTS + if(this == ModItems.ammo_75bolt) { + list.add(EnumChatFormatting.YELLOW + "Gyro-stabilized armor-piercing"); + list.add(EnumChatFormatting.YELLOW + "DU round with tandem charge"); + } + //FOLLY if(this == ModItems.ammo_folly) { list.add(EnumChatFormatting.BLUE + "+ Focused starmetal reaction blast"); diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index e9c9890b4..12952cfa9 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (3710)"; + public static final String VERSION = "1.0.27 BETA (3719)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 85311f10f..4b4945027 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -782,16 +782,16 @@ 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 })); + 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 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_xvl1456_ammo, 64), new Object[] { "SSS", "SRS", "SSS", 'S', "plateSteel", 'R', ModItems.rod_quad_uranium_fuel_depleted })); 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 })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_xvl1456_ammo, 64), new Object[] { "SSS", "SRS", "SSS", 'S', "plateSteel", 'R', ModItems.rod_quad_uranium_fuel_depleted })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_xvl1456_ammo, 32), new Object[] { " S ", "SRS", " S ", 'S', "plateSteel", 'R', ModItems.rod_dual_uranium_fuel_depleted })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_xvl1456_ammo, 16), new Object[] { " S ", " R ", " S ", 'S', "plateSteel", 'R', ModItems.rod_uranium_fuel_depleted })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_xvl1456_ammo, 16), new Object[] { "SRS", 'S', "plateSteel", 'R', ModItems.rod_uranium_fuel_depleted })); @@ -831,6 +831,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uzi_silencer, 1), new Object[] { "P ", " P ", " U", 'P', "ingotPolymer", 'U', ModItems.gun_uzi })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uzi_saturnite, 1), new Object[] { "SMS", " PB", " P ", 'S', "ingotSaturnite", 'M', ModItems.mechanism_rifle_2, 'P', "plateSaturnite", 'B', ModItems.bolt_tungsten })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uzi_saturnite_silencer, 1), new Object[] { "P ", " P ", " U", 'P', "ingotPolymer", 'U', ModItems.gun_uzi_saturnite })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_bolter, 1), new Object[] { "SSM", "PIP", " I ", 'S', ModItems.plate_saturnite, 'I', ModItems.ingot_saturnite, 'M', ModItems.mechanism_special, 'P', "ingotPolymer" })); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ammo_44, 1), new Object[] { ModItems.gun_revolver_nopip_ammo }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ammo_44_pip, 1), new Object[] { ModItems.gun_revolver_pip_ammo }); diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponBolter.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponBolter.java index 37cf594c3..f58fe4ec6 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponBolter.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponBolter.java @@ -101,6 +101,7 @@ public class ItemRenderWeaponBolter implements IItemRenderer { double s1 = 0.2D; GL11.glScaled(s1, s1, s1); GL11.glTranslated(0, 1, 0); + GL11.glRotatef(90, 0, 1, 0); break; @@ -129,17 +130,18 @@ public class ItemRenderWeaponBolter implements IItemRenderer { GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); FontRenderer font = Minecraft.getMinecraft().fontRenderer; String s = ((ItemGunBase)item.getItem()).getMag(item) + ""; float f3 = 0.04F; - GL11.glTranslatef(-0.025F - (font.getStringWidth(s) / 2) * 0.04F, 2.15F, 2.95F); + GL11.glTranslatef(0.025F -(font.getStringWidth(s) / 2) * 0.04F, 2.11F, 2.91F); GL11.glScalef(f3, -f3, f3); GL11.glRotatef(45, 1, 0, 0); GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3); font.drawString(s, 0, 0, 0xff0000); - + GL11.glEnable(GL11.GL_LIGHTING); GL11.glPopAttrib(); RenderHelper.enableGUIStandardItemLighting(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityConverterHeRf.java b/src/main/java/com/hbm/tileentity/machine/TileEntityConverterHeRf.java index 70d7f9d65..3168e94cb 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityConverterHeRf.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityConverterHeRf.java @@ -23,8 +23,10 @@ public class TileEntityConverterHeRf extends TileEntityMachineBase implements IC } public long power; - public final long maxPower = 1000000; - public EnergyStorage storage = new EnergyStorage(4000000, 2500000, 2500000); + public long maxPower = 500000000; + public EnergyStorage storage = new EnergyStorage(2000000000, 2000000000, 2000000000); + + public int buf; //Thanks to the great people of Fusion Warfare for helping me with this part. @@ -32,13 +34,10 @@ public class TileEntityConverterHeRf extends TileEntityMachineBase implements IC public void updateEntity() { if (!worldObj.isRemote) { - long convert = Math.min(storage.getMaxEnergyStored() - storage.getEnergyStored(), power * 4); - - power -= convert / 4; - storage.setEnergyStored((int) (storage.getEnergyStored() + convert)); + storage.setCapacity((int)power * 4); + storage.setEnergyStored((int)power * 4); - if(convert > 0) - this.markDirty(); + buf = storage.getEnergyStored(); for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { @@ -57,16 +56,22 @@ public class TileEntityConverterHeRf extends TileEntityMachineBase implements IC } } + power = storage.getEnergyStored() / 4; + NBTTagCompound data = new NBTTagCompound(); data.setInteger("rf", storage.getEnergyStored()); + data.setInteger("maxrf", storage.getEnergyStored()); data.setLong("he", power); + data.setLong("maxhe", power); this.networkPack(data, 25); } } public void networkUnpack(NBTTagCompound nbt) { storage.setEnergyStored(nbt.getInteger("rf")); + storage.setCapacity(nbt.getInteger("maxrf")); power = nbt.getLong("he"); + maxPower = nbt.getLong("maxhe"); } @Override @@ -101,6 +106,10 @@ public class TileEntityConverterHeRf extends TileEntityMachineBase implements IC @Override public long getMaxPower() { + + if(power < 1000000) + return 500000000;//Long.MAX_VALUE / 100; + return maxPower; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityConverterRfHe.java b/src/main/java/com/hbm/tileentity/machine/TileEntityConverterRfHe.java index 968c5c233..673f2647a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityConverterRfHe.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityConverterRfHe.java @@ -16,10 +16,12 @@ import net.minecraftforge.common.util.ForgeDirection; public class TileEntityConverterRfHe extends TileEntityMachineBase implements ISource, IEnergyHandler { public long power; - public final long maxPower = 1000000; + public long maxPower = 500000000; public List list = new ArrayList(); - public int age = 0; - public EnergyStorage storage = new EnergyStorage(4000000, 2500000, 2500000); + public boolean tact; + public EnergyStorage storage = new EnergyStorage(2000000000, 2000000000, 2000000000); + + public int buf; public TileEntityConverterRfHe() { super(0); @@ -35,33 +37,32 @@ public class TileEntityConverterRfHe extends TileEntityMachineBase implements IS if (!worldObj.isRemote) { - long convert = Math.min(storage.getEnergyStored(), (maxPower - power) * 4); + power = storage.getEnergyStored() / 4; + maxPower = Math.max(1000000, power); + + buf = storage.getEnergyStored(); - storage.setEnergyStored((int) (storage.getEnergyStored() - convert)); - power += convert / 4; + tact = false; + ffgeuaInit(); + tact = true; + ffgeuaInit(); - if(convert > 0) - this.markDirty(); - - age++; - if(age >= 20) - { - age = 0; - } - - if(age == 9 || age == 19) - ffgeuaInit(); + storage.setEnergyStored((int)power * 4); NBTTagCompound data = new NBTTagCompound(); data.setInteger("rf", storage.getEnergyStored()); + data.setInteger("maxrf", storage.getEnergyStored()); data.setLong("he", power); + data.setLong("maxhe", power); this.networkPack(data, 25); } } public void networkUnpack(NBTTagCompound nbt) { storage.setEnergyStored(nbt.getInteger("rf")); + storage.setCapacity(nbt.getInteger("maxrf")); power = nbt.getLong("he"); + maxPower = nbt.getLong("maxhe"); } @Override @@ -71,6 +72,7 @@ public class TileEntityConverterRfHe extends TileEntityMachineBase implements IS @Override public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) { + storage.setCapacity(2000000000); return storage.receiveEnergy(maxReceive, simulate); } @@ -81,6 +83,10 @@ public class TileEntityConverterRfHe extends TileEntityMachineBase implements IS @Override public int getMaxEnergyStored(ForgeDirection from) { + + if(storage.getEnergyStored() < 4000000) + return 2000000000; + return storage.getMaxEnergyStored(); } @@ -102,12 +108,7 @@ public class TileEntityConverterRfHe extends TileEntityMachineBase implements IS @Override public boolean getTact() { - if(age >= 0 && age < 10) - { - return true; - } - - return false; + return tact; } public long getPowerScaled(long i) { diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 774503dc2..6f4ccd859 100755 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,7 +3,7 @@ "modid": "hbm", "name": "Hbm's Nuclear Tech", "description": "A mod that adds weapons, nuclear themed stuff and machines", - "version":"1.0.27-3710", + "version":"1.0.27-3719", "mcversion": "1.7.10", "url": "", "updateUrl": "",