From 20cb0f6f5ddf6d5bbb36e9ab83d191ac185395e1 Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 10 Mar 2025 21:56:35 +0100 Subject: [PATCH] ba-dee-ya, say do u rember? ba-dee-ya, wen u feeled happy ba-dee-ya, alway rember happy day! --- changelog | 6 +++- src/main/java/com/hbm/blocks/ModBlocks.java | 3 ++ .../weapon/sedna/factory/GunFactory.java | 4 +-- .../sedna/factory/GunFactoryClient.java | 1 + .../weapon/sedna/factory/XFactory10ga.java | 13 ++++++-- .../weapon/sedna/factory/XFactory50.java | 2 +- .../weapon/sedna/factory/XFactory762mm.java | 2 +- src/main/java/com/hbm/lib/Library.java | 13 ++++---- .../com/hbm/main/ModEventHandlerClient.java | 25 +++++++++++++++- .../item/weapon/sedna/ItemRenderMAS36.java | 4 +-- .../world/RenderNTMSkyboxChainloader.java | 28 ++++++++++++++++-- .../java/com/hbm/wiaj/cannery/Dummies.java | 5 ++-- src/main/resources/assets/hbm/lang/de_DE.lang | 2 ++ src/main/resources/assets/hbm/lang/en_US.lang | 2 ++ .../assets/hbm/textures/items/ammo.png | Bin 18879 -> 18987 bytes .../items/ammo_standard.g10_explosive.png | Bin 0 -> 330 bytes .../ammo_standard.g12_explosive_pellet.png | Bin 0 -> 336 bytes ...al_all_secrets_to_me.png => star_lode.png} | Bin 18 files changed, 88 insertions(+), 22 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/items/ammo_standard.g10_explosive.png create mode 100644 src/main/resources/assets/hbm/textures/items/ammo_standard.g12_explosive_pellet.png rename src/main/resources/assets/hbm/textures/misc/{star_bober_what_is_this_please_reveal_all_secrets_to_me.png => star_lode.png} (100%) diff --git a/changelog b/changelog index 1f55cd941..d4a2c8ae3 100644 --- a/changelog +++ b/changelog @@ -4,6 +4,10 @@ * Can toggle `DAMAGE_COMPATIBILITY_MODE`, off by default, enables a more compatible (but slightly jankier) version of the bullet damage code * `MINE__DAMAGE` can be used to adjust landmine damage * `TAINT_TRAILS` now replaces the hardcore taint config option, making taint blocks more potent and the potion effect trail taint blocks +* New ammo types + * Explosive 7.62mm + * Explosive .50 BMG + * Explosive 10 gauge buckshot (unlike 12 gauge which has explosive slugs) ## Changed * Fat mines now use the standardized mini nuke code @@ -23,7 +27,7 @@ * Copper wires, like AA and gold, can now be welded into dense wires ## Fixed -* Fixed animation error on the MAS-36 +* Fixed animation errors on the MAS-36 * Fixed drone docks, requester and provider crates not dropping their contents when broken * Fixed all missing texture errors that appear in the startup log * Potentially fixed a crash with mekanism during the recipe change phase diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 7dac239ef..759ae0e9e 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -464,6 +464,7 @@ public class ModBlocks { public static Block glass_polonium; public static Block glass_ash; public static Block glass_quartz; + public static Block glass_polarized; public static Block mush; public static Block mush_block; @@ -1648,6 +1649,7 @@ public class ModBlocks { glass_polonium = new BlockNTMGlassCT(1, RefStrings.MODID + ":glass_polonium", Material.glass).setBlockName("glass_polonium").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); glass_ash = new BlockNTMGlassCT(1, RefStrings.MODID + ":glass_ash", Material.glass).setBlockName("glass_ash").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(3F); glass_quartz = new BlockNTMGlassCT(0, RefStrings.MODID + ":glass_quartz", Material.packedIce, true).setBlockName("glass_quartz").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGlass).setHardness(1.0F).setResistance(40.0F).setBlockTextureName(RefStrings.MODID + "glass_quartz"); + glass_polarized = new BlockNTMGlassCT(0, RefStrings.MODID + ":glass_polarized", Material.glass).setBlockName("glass_polarized").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); mush = new BlockMush(Material.plants).setBlockName("mush").setCreativeTab(MainRegistry.blockTab).setLightLevel(0.5F).setStepSound(Block.soundTypeGrass).setBlockTextureName(RefStrings.MODID + ":mush"); mush_block = new BlockMushHuge(Material.plants).setBlockName("mush_block").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_skin"); @@ -2940,6 +2942,7 @@ public class ModBlocks { GameRegistry.registerBlock(glass_polonium, glass_polonium.getUnlocalizedName()); GameRegistry.registerBlock(glass_ash, glass_ash.getUnlocalizedName()); GameRegistry.registerBlock(glass_quartz, glass_quartz.getUnlocalizedName()); + GameRegistry.registerBlock(glass_polarized, glass_polarized.getUnlocalizedName()); //Silo Hatch GameRegistry.registerBlock(seal_frame, seal_frame.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactory.java b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactory.java index b5b4486de..64f058fb7 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactory.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactory.java @@ -91,7 +91,7 @@ public class GunFactory { COIL_TUNGSTEN, COIL_FERROURANIUM, NUKE_STANDARD, NUKE_DEMO, NUKE_HIGH, NUKE_TOTS, NUKE_HIVE, G10, G10_SHRAPNEL, G10_DU, G10_SLUG, - R762_HE, BMG50_HE + R762_HE, BMG50_HE, G10_EXPLOSIVE //ONLY ADD NEW ENTRIES AT THE BOTTOM TO AVOID SHIFTING! ; @@ -108,7 +108,7 @@ public class GunFactory { BMG50_SP, BMG50_FMJ, BMG50_JHP, BMG50_AP, BMG50_DU, BMG50_HE, B75, B75_INC, B75_EXP, G12_BP, G12_BP_MAGNUM, G12_BP_SLUG, G12, G12_SLUG, G12_FLECHETTE, G12_MAGNUM, G12_EXPLOSIVE, G12_PHOSPHORUS, - G10, G10_SHRAPNEL, G10_DU, G10_SLUG, + G10, G10_SHRAPNEL, G10_DU, G10_SLUG, G10_EXPLOSIVE, G26_FLARE, G26_FLARE_SUPPLY, G26_FLARE_WEAPON, G40_HE, G40_HEAT, G40_DEMO, G40_INC, G40_PHOSPHORUS, ROCKET_HE, ROCKET_HEAT, ROCKET_DEMO, ROCKET_INC, ROCKET_PHOSPHORUS, diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java index ef840553e..4aeeed591 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java @@ -170,6 +170,7 @@ public class GunFactoryClient { g10_shrapnel.setRenderer(LegoClient.RENDER_STANDARD_BULLET); g10_du.setRenderer(LegoClient.RENDER_DU_BULLET); g10_slug.setRenderer(LegoClient.RENDER_STANDARD_BULLET); + g10_explosive.setRenderer(LegoClient.RENDER_HE_BULLET); g26_flare.setRenderer(LegoClient.RENDER_FLARE); g26_flare_supply.setRenderer(LegoClient.RENDER_FLARE_SUPPLY); diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java index 85165ea5c..e875b7800 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java @@ -3,6 +3,7 @@ package com.hbm.items.weapon.sedna.factory; import java.util.function.BiConsumer; import java.util.function.BiFunction; +import com.hbm.entity.projectile.EntityBulletBaseMK4; import com.hbm.items.ModItems; import com.hbm.items.ItemEnums.EnumCasingType; import com.hbm.items.weapon.sedna.BulletConfig; @@ -22,6 +23,7 @@ import com.hbm.render.anim.BusAnimationKeyframe.IType; import com.hbm.render.anim.HbmAnimations.AnimType; import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; public class XFactory10ga { @@ -29,6 +31,12 @@ public class XFactory10ga { public static BulletConfig g10_shrapnel; public static BulletConfig g10_du; public static BulletConfig g10_slug; + public static BulletConfig g10_explosive; + + public static BiConsumer LAMBDA_TINY_EXPLODE = (bullet, mop) -> { + if(mop.typeOfHit == mop.typeOfHit.ENTITY && bullet.ticksExisted < 3 && mop.entityHit == bullet.getThrower()) return; + Lego.tinyExplode(bullet, mop, 2F); bullet.setDead(); + }; public static void init() { @@ -37,12 +45,13 @@ public class XFactory10ga { g10_shrapnel = new BulletConfig().setItem(EnumAmmo.G10_SHRAPNEL).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 4).setProjectiles(10).setDamage(1F/10F).setSpread(buckshotSpread).setRicochetAngle(90).setRicochetCount(15).setThresholdNegation(5F).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0xE5DD00, SpentCasing.COLOR_CASE_12GA).setScale(1F).register("10GAShrapnel")); g10_du = new BulletConfig().setItem(EnumAmmo.G10_DU).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 4).setProjectiles(10).setDamage(1F/4F).setSpread(buckshotSpread).setRicochetAngle(15).setThresholdNegation(10F).setArmorPiercing(0.2F).setDoesPenetrate(true).setDamageFalloutByPen(false).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x538D53, SpentCasing.COLOR_CASE_12GA).setScale(1F).register("10GADU")); g10_slug = new BulletConfig().setItem(EnumAmmo.G10_SLUG).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 4).setRicochetAngle(15).setThresholdNegation(10F).setArmorPiercing(0.1F).setDoesPenetrate(true).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x808080, SpentCasing.COLOR_CASE_12GA).setScale(1F).register("10GASlug")); + g10_explosive = new BulletConfig().setItem(EnumAmmo.G10_EXPLOSIVE).setCasing(EnumCasingType.BUCKSHOT_ADVANCED, 4).setWear(3F).setProjectiles(10).setDamage(1F/4F).setSpread(buckshotSpread).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0xFAC943, SpentCasing.COLOR_CASE_12GA).setScale(1F).register("10GAEXP")).setOnImpact(LAMBDA_TINY_EXPLODE); ModItems.gun_double_barrel = new ItemGunBaseNT(WeaponQuality.SPECIAL, new GunConfig() .dura(1000).draw(10).inspect(39).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(30F).rounds(2).delay(10).reload(41).reloadOnEmpty(true).sound("hbm:weapon.fire.shotgun", 1.0F, 0.9F) - .mag(new MagazineFullReload(0, 2).addConfigs(g10, g10_shrapnel, g10_du, g10_slug)) + .mag(new MagazineFullReload(0, 2).addConfigs(g10, g10_shrapnel, g10_du, g10_slug, g10_explosive)) .offset(0.75, -0.0625, -0.1875) .setupStandardFire().recoil(LAMBDA_RECOIL_DOUBLE_BARREL)) .setupStandardConfiguration() @@ -52,7 +61,7 @@ public class XFactory10ga { .dura(6000).draw(10).inspect(39).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(45F).spreadAmmo(1.35F).rounds(2).delay(10).reload(41).reloadOnEmpty(true).sound("hbm:weapon.fire.shotgun", 1.0F, 0.9F) - .mag(new MagazineFullReload(0, 2).addConfigs(g10, g10_shrapnel, g10_du, g10_slug)) + .mag(new MagazineFullReload(0, 2).addConfigs(g10, g10_shrapnel, g10_du, g10_slug, g10_explosive)) .offset(0.75, -0.0625, -0.1875) .setupStandardFire().recoil(LAMBDA_RECOIL_DOUBLE_BARREL)) .setupStandardConfiguration() diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java index 6ec2b755b..1dded0aab 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java @@ -51,7 +51,7 @@ public class XFactory50 { .setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50ap")); bmg50_du = new BulletConfig().setItem(EnumAmmo.BMG50_DU).setCasing(EnumCasingType.LARGE_STEEL, 12).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(2.5F).setThresholdNegation(21F).setArmorPiercing(0.25F) .setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50du")); - bmg50_he = new BulletConfig().setItem(EnumAmmo.BMG50_HE).setCasing(EnumCasingType.LARGE_STEEL, 12).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(2F).setOnImpact(LAMBDA_STANDARD_EXPLODE) + bmg50_he = new BulletConfig().setItem(EnumAmmo.BMG50_HE).setCasing(EnumCasingType.LARGE_STEEL, 12).setWear(3F).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(2F).setOnImpact(LAMBDA_STANDARD_EXPLODE) .setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("bmg50he")); ModItems.gun_m2 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java index a22b2f24f..eb7b7b79e 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java @@ -58,7 +58,7 @@ public class XFactory762mm { .setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("r762ap")); r762_du = new BulletConfig().setItem(EnumAmmo.R762_DU).setCasing(EnumCasingType.SMALL_STEEL, 6).setDoesPenetrate(true).setDamageFalloutByPen(false).setDamage(2.5F).setThresholdNegation(15F).setArmorPiercing(0.25F) .setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("r762du")); - r762_he = new BulletConfig().setItem(EnumAmmo.R762_HE).setCasing(EnumCasingType.SMALL_STEEL, 6).setDamage(2F).setOnImpact(LAMBDA_TINY_EXPLODE) + r762_he = new BulletConfig().setItem(EnumAmmo.R762_HE).setCasing(EnumCasingType.SMALL_STEEL, 6).setWear(3F).setDamage(2F).setOnImpact(LAMBDA_TINY_EXPLODE) .setCasing(casing762.clone().setColor(SpentCasing.COLOR_CASE_44).register("r762he")); energy_lacunae = new BulletConfig().setItem(EnumAmmo.CAPACITOR).setCasing(new ItemStack(ModItems.ingot_polymer, 2), 4 * 40).setupDamageClass(DamageClass.LASER).setBeam().setReloadCount(40).setSpread(0.0F).setLife(5).setRenderRotations(false).setOnBeamImpact(BulletConfig.LAMBDA_STANDARD_BEAM_HIT); diff --git a/src/main/java/com/hbm/lib/Library.java b/src/main/java/com/hbm/lib/Library.java index 96a019726..e64f3cc36 100644 --- a/src/main/java/com/hbm/lib/Library.java +++ b/src/main/java/com/hbm/lib/Library.java @@ -3,8 +3,9 @@ package com.hbm.lib; import api.hbm.energymk2.IBatteryItem; import api.hbm.energymk2.IEnergyConnectorBlock; import api.hbm.energymk2.IEnergyConnectorMK2; -import api.hbm.fluid.IFluidConnector; -import api.hbm.fluid.IFluidConnectorBlock; +import api.hbm.fluidmk2.IFluidConnectorBlockMK2; +import api.hbm.fluidmk2.IFluidConnectorMK2; + import com.hbm.blocks.ModBlocks; import com.hbm.entity.mob.EntityHunterChopper; import com.hbm.entity.projectile.EntityChopperMine; @@ -83,8 +84,8 @@ public class Library { Block b = world.getBlock(x, y, z); - if(b instanceof IFluidConnectorBlock) { - IFluidConnectorBlock con = (IFluidConnectorBlock) b; + if(b instanceof IFluidConnectorBlockMK2) { + IFluidConnectorBlockMK2 con = (IFluidConnectorBlockMK2) b; if(con.canConnect(type, world, x, y, z, dir.getOpposite() /* machine's connecting side */)) return true; @@ -92,8 +93,8 @@ public class Library { TileEntity te = world.getTileEntity(x, y, z); - if(te instanceof IFluidConnector) { - IFluidConnector con = (IFluidConnector) te; + if(te instanceof IFluidConnectorMK2) { + IFluidConnectorMK2 con = (IFluidConnectorMK2) te; if(con.canConnect(type, dir.getOpposite() /* machine's connecting side */)) return true; diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 5272a545a..6f851c112 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -1088,6 +1088,9 @@ public class ModEventHandlerClient { return null; } + + public static boolean renderLodeStar = false; // GENUINELY shut the fuck up i'm not kidding + public static long lastStarCheck = 0L; @SideOnly(Side.CLIENT) @SubscribeEvent(priority = EventPriority.LOWEST) @@ -1118,6 +1121,24 @@ public class ModEventHandlerClient { world.provider.setSkyRenderer(new RenderNTMSkyboxChainloader(sky)); } } + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + long millis = System.currentTimeMillis(); + + if(lastStarCheck + 200 < millis) { + renderLodeStar = false; // GENUINELY shut the fuck up i'm not kidding + lastStarCheck = millis; + + if(player != null) { // GENUINELY shut the fuck up i'm not kidding + Vec3NT pos = new Vec3NT(player.posX, player.posY, player.posZ); // GENUINELY shut the fuck up i'm not kidding + Vec3NT lodestarHeading = new Vec3NT(0, 0, -1D).rotateAroundXDeg(-15).multiply(25); // GENUINELY shut the fuck up i'm not kidding + Vec3NT nextPos = new Vec3NT(pos).add(lodestarHeading.xCoord,lodestarHeading.yCoord, lodestarHeading.zCoord); // GENUINELY shut the fuck up i'm not kidding + MovingObjectPosition mop = world.func_147447_a(pos, nextPos, false, true, false); // GENUINELY shut the fuck up i'm not kidding + if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK && world.getBlock(mop.blockX, mop.blockY, mop.blockZ) == ModBlocks.glass_polarized) { // GENUINELY shut the fuck up i'm not kidding + renderLodeStar = true; // GENUINELY shut the fuck up i'm not kidding + } + } + } } if(event.phase == Phase.START) { @@ -1417,7 +1438,9 @@ public class ModEventHandlerClient { } } - if(event.phase == event.phase.END) ItemCustomLore.updateSystem(); + if(event.phase == event.phase.END) { + ItemCustomLore.updateSystem(); + } } @SubscribeEvent diff --git a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java index d12175c1f..6dd2cd761 100644 --- a/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java +++ b/src/main/java/com/hbm/render/item/weapon/sedna/ItemRenderMAS36.java @@ -76,9 +76,9 @@ public class ItemRenderMAS36 extends ItemRenderWeaponBase { GL11.glPopMatrix(); GL11.glPushMatrix(); - GL11.glTranslated(0, 1.125, 0); + GL11.glTranslated(0, 0.0625 * 18.5, 0); GL11.glRotated(boltTurn[2], 0, 0, 1); - GL11.glTranslated(0, -1.125, 0); + GL11.glTranslated(0, 0.0625 * -18.5, 0); GL11.glTranslated(0, 0, boltPull[2]); ResourceManager.mas36.renderPart("Bolt"); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/render/world/RenderNTMSkyboxChainloader.java b/src/main/java/com/hbm/render/world/RenderNTMSkyboxChainloader.java index 1156015c6..09f4eba0c 100644 --- a/src/main/java/com/hbm/render/world/RenderNTMSkyboxChainloader.java +++ b/src/main/java/com/hbm/render/world/RenderNTMSkyboxChainloader.java @@ -3,6 +3,7 @@ package com.hbm.render.world; import org.lwjgl.opengl.GL11; import com.hbm.extprop.HbmLivingProps; +import com.hbm.main.ModEventHandlerClient; import cpw.mods.fml.client.FMLClientHandler; import net.minecraft.client.Minecraft; @@ -23,6 +24,7 @@ public class RenderNTMSkyboxChainloader extends IRenderHandler { //why an abstra private IRenderHandler parent; private static final ResourceLocation digammaStar = new ResourceLocation("hbm:textures/misc/star_digamma.png"); + private static final ResourceLocation lodeStar = new ResourceLocation("hbm:textures/misc/star_lode.png"); private static final ResourceLocation bobmazonSat = new ResourceLocation("hbm:textures/misc/sat_bobmazon.png"); /* @@ -54,6 +56,8 @@ public class RenderNTMSkyboxChainloader extends IRenderHandler { //why an abstra world.provider.setSkyRenderer(this); } + Tessellator tessellator = Tessellator.instance; + GL11.glPushMatrix(); GL11.glDepthMask(false); @@ -68,6 +72,25 @@ public class RenderNTMSkyboxChainloader extends IRenderHandler { //why an abstra GL11.glColor4f(brightness, brightness, brightness, 1.0F); + float var12 = 1F + world.rand.nextFloat() * 0.5F; + double dist = 100D; + + if(ModEventHandlerClient.renderLodeStar) { + GL11.glPushMatrix(); + GL11.glRotatef(-75.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(10.0F, 0.0F, 1.0F, 0.0F); + FMLClientHandler.instance().getClient().renderEngine.bindTexture(lodeStar); // GENUINELY shut the fuck up i'm not kidding + + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-var12, dist, -var12, 0.0D, 0.0D); + tessellator.addVertexWithUV(var12, dist, -var12, 0.0D, 1.0D); + tessellator.addVertexWithUV(var12, dist, var12, 1.0D, 1.0D); + tessellator.addVertexWithUV(-var12, dist, var12, 1.0D, 0.0D); + tessellator.draw(); + + GL11.glPopMatrix(); + } + GL11.glPushMatrix(); GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(world.getCelestialAngle(partialTicks) * 360.0F, 1.0F, 0.0F, 0.0F); @@ -77,10 +100,9 @@ public class RenderNTMSkyboxChainloader extends IRenderHandler { //why an abstra FMLClientHandler.instance().getClient().renderEngine.bindTexture(digammaStar); float digamma = HbmLivingProps.getDigamma(Minecraft.getMinecraft().thePlayer); - float var12 = 1F * (1 + digamma * 0.25F); - double dist = 100D - digamma * 2.5; + var12 = 1F * (1 + digamma * 0.25F); + dist = 100D - digamma * 2.5; - Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); tessellator.addVertexWithUV(-var12, dist, -var12, 0.0D, 0.0D); tessellator.addVertexWithUV(var12, dist, -var12, 0.0D, 1.0D); diff --git a/src/main/java/com/hbm/wiaj/cannery/Dummies.java b/src/main/java/com/hbm/wiaj/cannery/Dummies.java index 2ecfd0c38..839373ddf 100644 --- a/src/main/java/com/hbm/wiaj/cannery/Dummies.java +++ b/src/main/java/com/hbm/wiaj/cannery/Dummies.java @@ -1,11 +1,10 @@ package com.hbm.wiaj.cannery; - import api.hbm.energymk2.IEnergyConnectorMK2; -import api.hbm.fluid.IFluidConnector; +import api.hbm.fluidmk2.IFluidConnectorMK2; import net.minecraft.tileentity.TileEntity; public class Dummies { - public static class JarDummyConnector extends TileEntity implements IEnergyConnectorMK2, IFluidConnector { } + public static class JarDummyConnector extends TileEntity implements IEnergyConnectorMK2, IFluidConnectorMK2 { } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index b9ead782f..1bc9ed130 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1209,6 +1209,7 @@ item.ammo_standard.b75_exp.name=.75 Bolzen (Explosiv) item.ammo_standard.b75_inc.name=.75 Bolzen (Brand) item.ammo_standard.bmg50_ap.name=.50 BMG Patrone (Panzerbrechend) item.ammo_standard.bmg50_du.name=.50 BMG Patrone (Urangeschoss) +item.ammo_standard.bmg50_he.name=.50 BMG Patrone (Explosiv) item.ammo_standard.bmg50_fmj.name=.50 BMG Patrone (Vollmantelgeschoss) item.ammo_standard.bmg50_jhp.name=.50 BMG Patrone (Hohlspitz) item.ammo_standard.bmg50_sp.name=.50 BMG Patrone (Teilmantelgeschoss) @@ -1223,6 +1224,7 @@ item.ammo_standard.flame_gas.name=Flammenwerferbrennstoff, Gas item.ammo_standard.flame_napalm.name=Flammenwerferbrennstoff, Napalm item.ammo_standard.g10.name=Kaliber 10 Schrot item.ammo_standard.g10_du.name=Kaliber 10 Uranschrot +item.ammo_standard.g10_explosive.name=Kaliber 10 Explosivschrot item.ammo_standard.g10_shrapnel.name=Kaliber 10 Schrapnell-Schrot item.ammo_standard.g10_slug.name=Kaliber 10 Laufgeschoss item.ammo_standard.g12.name=Kaliber 12 Schrot diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 4199f185f..920b175a6 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1933,6 +1933,7 @@ item.ammo_standard.b75_exp.name=.75 Bolt (Explosive) item.ammo_standard.b75_inc.name=.75 Bolt (Incendiary) item.ammo_standard.bmg50_ap.name=.50 BMG Round (Armor Piercing) item.ammo_standard.bmg50_du.name=.50 BMG Round (Depleted Uranium) +item.ammo_standard.bmg50_he.name=.50 BMG Round (High-Explosive) item.ammo_standard.bmg50_fmj.name=.50 BMG Round (Full Metal Jacket) item.ammo_standard.bmg50_jhp.name=.50 BMG Round (Jacketed Hollow Point) item.ammo_standard.bmg50_sp.name=.50 BMG Round (Soft Point) @@ -1947,6 +1948,7 @@ item.ammo_standard.flame_gas.name=Flamer Fuel, Gas item.ammo_standard.flame_napalm.name=Flamer Fuel, Napalm item.ammo_standard.g10.name=10 Gauge Buckshot item.ammo_standard.g10_du.name=10 Gauge Uranium Buckshot +item.ammo_standard.g10_explosive.name=10 Gauge Explosive Buckshot item.ammo_standard.g10_shrapnel.name=10 Gauge Shrapnel Buckshot item.ammo_standard.g10_slug.name=10 Gauge Slug item.ammo_standard.g12.name=12 Gauge Buckshot diff --git a/src/main/resources/assets/hbm/textures/items/ammo.png b/src/main/resources/assets/hbm/textures/items/ammo.png index 1359f476264f22eb3551852d5edd23ff2b2e866c..f2a4ac28e9acd2ddf770ca5f16a6a0f29a736378 100644 GIT binary patch literal 18987 zcmYIw1z1#F)b631p;Kw3q`N~w5RmT106}S`nE?dpln`kHkWw0v20 z^laZWHQ*Y0YG#JkR}IbuI-=V>EczU-nFg_^AHE_Y6LWKK(Xg_T0kb~?Yb)GE?%w4A zj`nIt2QY~ukWa-pu$XtmfSO$y{rldN92Rj^pBh3`qj~veuyvcU3cWJmT5k=&#$Dh1 zev;N(QcMIJdvpIxMz*-InYv*SoB7`*W=Ri1AmqYIz#gT22QCr>WTys^4Z>T8)#*K zllymhfAs%m0o1m1gn${Y_0!KI6M=se3PZkc*INtg-Ju0Ko=B*dPyLX>{l1OtDnTh+ z9(cRqhm5;RjRUY!{)-LN0Yp7_q=HkHpxR!f#y!!6IIlVnO(w-8~j_|C_t zsd;%6K)^T zIUDzJgPpNadMDLHLk$Tm#HoVcxXjBQWfTz3V$;10{(xnz#R&`y6k|yQmd(+Gk>My? zQ`7rZchTaj7AoN*amu+(I9scbslN^+v4Gli-~F{D#mwTb|5yPpA&laIrJHIM1)yz; zzQ6F@QQ)f^q!zUpgH0lM9rl(Ph-qiSp~qgG?;2TK4@{vaskYnBcW3Yb%G(NW()kS1 z@)Z4jX4(T!pWWf(ds|Mv*GFTaMTHAwxfyWZQKSb8yzRrUhAR+*+oRMsj}<=065cOx zjs7=`;^}2i&x>Q4hB?`qfY&&;Uo@?DY!!Tfvbp(* enhJshPtlDn1HHEyX!Ifnq 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 literal 18879 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 diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g10_explosive.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g10_explosive.png new file mode 100644 index 0000000000000000000000000000000000000000..b74aab00736a36e29ade414b4d652c0d8c5e247e GIT binary patch literal 330 zcmV-Q0k!^#P)m(-jf7eHDn+8h80#0hc( zT1s;bwlTzK2&E|?fmK*5VI)ib#XS8P%doG+Lam02h@`5j5RpZY0g#L_4Cm?YVm4$2 zBoP6i>pET@)|{QLXG7Gmfr#*Y{{=cfIcBr%>AH>>qdIK=iJ-2pj@Z5R0BpAX>^NhI zw~ssZ`u@S?O`OEZ75mqEi{h*%_Dme-++>qnK}kd~#sE+h1q=LjJH;JxR2P9cQs6OXdirn;_^wKlbFo2<2q|I8j_vH3UT c-{wR51aew!ddMGAng9R*07*qoM6N<$g3>;Vxc~qF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_explosive_pellet.png b/src/main/resources/assets/hbm/textures/items/ammo_standard.g12_explosive_pellet.png new file mode 100644 index 0000000000000000000000000000000000000000..c746a13ddf86739ad0f927039327c281f2eed689 GIT binary patch literal 336 zcmV-W0k8gvP)P1ea3jODYCl`K1fiQt1N2HyAa|L}l+7@4v>8-9pLvMd7;1xtnk(OTp1 zwvX3Al7m2q2ms)m!)~1*y-b26(J%oK;q~c9baio#`Lc&|4qewpe*CyXba#7(X5Rw< z=F2{)&WU-oNabbo1+6szV7E^2{_%-s-{a=~?PPx}nzxQp3f9^qX6D5`b(B(IW-xR3 zovaqA5Rn*Tq%2FRs!EEYkfCHO0RZ6PxryR91~a2=Thw(8Yb}@=#+dLV#u&--{5Q!Y i*e96`4<&zw$L1U6@M)98eJKe50000