From 01f8d02e8ae9d87e736b4a6e19cd05cc6af58f8c Mon Sep 17 00:00:00 2001 From: Bob Date: Fri, 25 Jun 2021 00:05:39 +0200 Subject: [PATCH] demon core rotation, shackles, more digamma stuff, bismuth anvil --- src/main/java/com/hbm/blocks/ModBlocks.java | 7 ++- .../com/hbm/blocks/machine/DemonLamp.java | 5 ++ src/main/java/com/hbm/config/MobConfig.java | 3 +- .../hbm/entity/effect/EntityBlackHole.java | 3 +- .../inventory/container/ContainerAnvil.java | 11 +++- src/main/java/com/hbm/items/ModItems.java | 3 + .../com/hbm/items/armor/ItemModShackles.java | 35 ++++++++++++ .../com/hbm/items/special/ItemDigamma.java | 2 +- .../java/com/hbm/main/ModEventHandler.java | 53 ++++++++++++------ .../render/tileentity/RenderDemonLamp.java | 14 ++++- .../tileentity/machine/TileEntitySILEX.java | 2 +- .../machine/rbmk/TileEntityRBMKBase.java | 34 +++++------ .../machine/rbmk/TileEntityRBMKControl.java | 5 -- src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 4 +- .../hbm/textures/blocks/anvil_bismuth.png | Bin 0 -> 678 bytes .../assets/hbm/textures/items/shackles.png | Bin 0 -> 350 bytes 17 files changed, 134 insertions(+), 49 deletions(-) create mode 100644 src/main/java/com/hbm/items/armor/ItemModShackles.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/anvil_bismuth.png create mode 100644 src/main/resources/assets/hbm/textures/items/shackles.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index c1a9f689b..f5688d7f1 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -890,6 +890,7 @@ public class ModBlocks { public static Block anvil_meteorite; public static Block anvil_starmetal; public static Block anvil_ferrouranium; + public static Block anvil_bismuth; public static Block anvil_schrabidate; public static Block anvil_dnt; public static Block anvil_murky; @@ -1793,8 +1794,9 @@ public class ModBlocks { anvil_meteorite = new NTMAnvil(Material.iron, 3).setBlockName("anvil_meteorite").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_meteorite"); anvil_starmetal = new NTMAnvil(Material.iron, 3).setBlockName("anvil_starmetal").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_starmetal"); anvil_ferrouranium = new NTMAnvil(Material.iron, 4).setBlockName("anvil_ferrouranium").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_ferrouranium"); - anvil_schrabidate = new NTMAnvil(Material.iron, 5).setBlockName("anvil_schrabidate").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_schrabidate"); - anvil_dnt = new NTMAnvil(Material.iron, 6).setBlockName("anvil_dnt").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_dnt"); + anvil_bismuth = new NTMAnvil(Material.iron, 5).setBlockName("anvil_bismuth").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_bismuth"); + anvil_schrabidate = new NTMAnvil(Material.iron, 6).setBlockName("anvil_schrabidate").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_schrabidate"); + anvil_dnt = new NTMAnvil(Material.iron, 7).setBlockName("anvil_dnt").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_dnt"); anvil_murky = new NTMAnvil(Material.iron, 1916169).setBlockName("anvil_murky").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_steel"); machine_deaerator = new MachineDeaerator(Material.iron).setBlockName("machine_deaerator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_deaerator"); @@ -2402,6 +2404,7 @@ public class ModBlocks { GameRegistry.registerBlock(anvil_meteorite, ItemBlockAnvil.class, anvil_meteorite.getUnlocalizedName()); GameRegistry.registerBlock(anvil_starmetal, ItemBlockAnvil.class, anvil_starmetal.getUnlocalizedName()); GameRegistry.registerBlock(anvil_ferrouranium, ItemBlockAnvil.class, anvil_ferrouranium.getUnlocalizedName()); + GameRegistry.registerBlock(anvil_bismuth, ItemBlockAnvil.class, anvil_bismuth.getUnlocalizedName()); GameRegistry.registerBlock(anvil_schrabidate, ItemBlockAnvil.class, anvil_schrabidate.getUnlocalizedName()); GameRegistry.registerBlock(anvil_dnt, ItemBlockAnvil.class, anvil_dnt.getUnlocalizedName()); GameRegistry.registerBlock(anvil_murky, ItemBlockAnvil.class, anvil_murky.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/DemonLamp.java b/src/main/java/com/hbm/blocks/machine/DemonLamp.java index 9f44ab60a..cba29158a 100644 --- a/src/main/java/com/hbm/blocks/machine/DemonLamp.java +++ b/src/main/java/com/hbm/blocks/machine/DemonLamp.java @@ -42,4 +42,9 @@ public class DemonLamp extends BlockContainer implements IItemHazard { public boolean renderAsNormalBlock() { return false; } + + @Override + public int onBlockPlaced(World world, int x, int y, int z, int side, float fX, float fY, float fZ, int meta) { + return side; + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/config/MobConfig.java b/src/main/java/com/hbm/config/MobConfig.java index 828f3c9bf..c98ee9c95 100644 --- a/src/main/java/com/hbm/config/MobConfig.java +++ b/src/main/java/com/hbm/config/MobConfig.java @@ -25,6 +25,7 @@ public class MobConfig { public static int elementalDistance = 32; public static boolean enableDucks = true; + public static boolean enableMobGear = true; public static void loadFromConfig(Configuration config) { @@ -51,6 +52,6 @@ public class MobConfig { elementalDistance = CommonConfig.createConfigInt(config, CATEGORY, "12.E04_elementalAttackDistance", "How far away elementals will spawn from the targeted player", 32); enableDucks = CommonConfig.createConfigBool(config, CATEGORY, "12.D00_enableDucks", "Whether pressing O should allow the player to duck", true); - + enableMobGear = CommonConfig.createConfigBool(config, CATEGORY, "12.D01_enableMobGear", "Whether zombies and skeletons should have additional gear when spawning", true); } } diff --git a/src/main/java/com/hbm/entity/effect/EntityBlackHole.java b/src/main/java/com/hbm/entity/effect/EntityBlackHole.java index 8a2d2f0b7..161daa963 100644 --- a/src/main/java/com/hbm/entity/effect/EntityBlackHole.java +++ b/src/main/java/com/hbm/entity/effect/EntityBlackHole.java @@ -32,10 +32,11 @@ public class EntityBlackHole extends Entity { super(p_i1582_1_); this.ignoreFrustumCheck = true; this.isImmuneToFire = true; + this.noClip = true; } public EntityBlackHole(World world, float size) { - super(world); + this(world); this.dataWatcher.updateObject(16, size); } diff --git a/src/main/java/com/hbm/inventory/container/ContainerAnvil.java b/src/main/java/com/hbm/inventory/container/ContainerAnvil.java index a707a3837..35755bb69 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerAnvil.java +++ b/src/main/java/com/hbm/inventory/container/ContainerAnvil.java @@ -78,7 +78,14 @@ public class ContainerAnvil extends Container { ItemStack var5 = var4.getStack(); var3 = var5.copy(); - if(par2 <= 2) { + if(par2 == 2) { + + if(!this.mergeItemStack(var5, 3, this.inventorySlots.size(), true)) { + return null; + } + var4.onSlotChange(var5, var3); + + } else if(par2 <= 1) { if(!this.mergeItemStack(var5, 3, this.inventorySlots.size(), true)) { return null; } else { @@ -95,6 +102,8 @@ public class ContainerAnvil extends Container { } else { var4.onSlotChanged(); } + + var4.onPickupFromSlot(p_82846_1_, var5); } return var3; diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index aa7b19059..d9c832d8d 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -2051,6 +2051,7 @@ public class ModItems { public static Item scrumpy; public static Item wild_p; public static Item fabsols_vodka; + public static Item shackles; public static Item injector_5htp; public static Item injector_knife; public static Item medal_liquidator; @@ -3098,6 +3099,7 @@ public class ModItems { scrumpy = new ItemModRevive(1).setUnlocalizedName("scrumpy").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":scrumpy"); wild_p = new ItemModRevive(3).setUnlocalizedName("wild_p").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":wild_p"); fabsols_vodka = new ItemModRevive(9999).setUnlocalizedName("fabsols_vodka").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":fabsols_vodka"); + shackles = new ItemModShackles().setUnlocalizedName("shackles").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":shackles"); injector_5htp = new ItemModAuto().setUnlocalizedName("injector_5htp").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":injector_5htp"); injector_knife = new ItemModKnife().setUnlocalizedName("injector_knife").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":injector_knife"); medal_liquidator = new ItemModMedal().setUnlocalizedName("medal_liquidator").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":medal_liquidator"); @@ -7081,6 +7083,7 @@ public class ModItems { GameRegistry.registerItem(scrumpy, scrumpy.getUnlocalizedName()); GameRegistry.registerItem(wild_p, wild_p.getUnlocalizedName()); GameRegistry.registerItem(fabsols_vodka, fabsols_vodka.getUnlocalizedName()); + GameRegistry.registerItem(shackles, shackles.getUnlocalizedName()); GameRegistry.registerItem(injector_5htp, injector_5htp.getUnlocalizedName()); GameRegistry.registerItem(injector_knife, injector_knife.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/armor/ItemModShackles.java b/src/main/java/com/hbm/items/armor/ItemModShackles.java new file mode 100644 index 000000000..306dd3c2a --- /dev/null +++ b/src/main/java/com/hbm/items/armor/ItemModShackles.java @@ -0,0 +1,35 @@ +package com.hbm.items.armor; + +import java.util.List; + +import com.hbm.handler.ArmorModHandler; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +public class ItemModShackles extends ItemArmorMod { + + public ItemModShackles() { + super(ArmorModHandler.extra, false, false, true, false); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + + list.add(EnumChatFormatting.RED + "You will speak when I ask you to."); + list.add(EnumChatFormatting.RED + "You will eat when I tell you to."); + list.add(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + "You will die when I allow you to."); + + list.add(""); + list.add(EnumChatFormatting.GOLD + "∞ revives left"); + list.add(""); + super.addInformation(stack, player, list, bool); + } + + @Override + public void addDesc(List list, ItemStack stack, ItemStack armor) { + + list.add(EnumChatFormatting.GOLD + " " + stack.getDisplayName() + " (∞ revives left)"); + } +} diff --git a/src/main/java/com/hbm/items/special/ItemDigamma.java b/src/main/java/com/hbm/items/special/ItemDigamma.java index 87baec6f0..b9bcf2fa6 100644 --- a/src/main/java/com/hbm/items/special/ItemDigamma.java +++ b/src/main/java/com/hbm/items/special/ItemDigamma.java @@ -56,7 +56,7 @@ public class ItemDigamma extends ItemHazard { public boolean onEntityItemUpdate(EntityItem entityItem) { if(entityItem != null) { - if(entityItem.onGround) { + if(entityItem.onGround && !entityItem.worldObj.isRemote) { if(WeaponConfig.dropSing) { EntityQuasar bl = new EntityQuasar(entityItem.worldObj, 5F); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index a0249e3b5..516ade27e 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -39,6 +39,7 @@ import com.hbm.items.ModItems; import com.hbm.items.armor.ArmorFSB; import com.hbm.items.armor.ItemArmorMod; import com.hbm.items.armor.ItemModRevive; +import com.hbm.items.armor.ItemModShackles; import com.hbm.items.special.ItemHot; import com.hbm.items.weapon.ItemGunBase; import com.hbm.lib.Library; @@ -171,10 +172,8 @@ public class ModEventHandler { } } - @SubscribeEvent - public void onEntityDeath(LivingDeathEvent event) { - - HbmLivingProps.setRadiation(event.entityLiving, 0); + @SubscribeEvent(priority = EventPriority.HIGHEST) + public void onEntityDeathFirst(LivingDeathEvent event) { for(int i = 1; i < 5; i++) { @@ -184,24 +183,43 @@ public class ModEventHandler { ItemStack revive = ArmorModHandler.pryMods(stack)[ArmorModHandler.extra]; - if(revive != null && revive.getItem() instanceof ItemModRevive) { + if(revive != null) { - revive.setItemDamage(revive.getItemDamage() + 1); - - if(revive.getItemDamage() >= revive.getMaxDamage()) { - ArmorModHandler.removeMod(stack, ArmorModHandler.extra); - } else { - ArmorModHandler.applyMod(stack, revive); + //Classic revive + if(revive.getItem() instanceof ItemModRevive) { + revive.setItemDamage(revive.getItemDamage() + 1); + + if(revive.getItemDamage() >= revive.getMaxDamage()) { + ArmorModHandler.removeMod(stack, ArmorModHandler.extra); + } else { + ArmorModHandler.applyMod(stack, revive); + } + + event.entityLiving.setHealth(event.entityLiving.getMaxHealth()); + event.entityLiving.addPotionEffect(new PotionEffect(Potion.resistance.id, 60, 99)); + event.setCanceled(true); + return; } - event.entityLiving.setHealth(event.entityLiving.getMaxHealth()); - event.entityLiving.addPotionEffect(new PotionEffect(Potion.resistance.id, 60, 99)); - event.setCanceled(true); - return; + //Shackles + if(revive.getItem() instanceof ItemModShackles && HbmLivingProps.getRadiation(event.entityLiving) < 1000F) { + + event.entityLiving.setHealth(event.entityLiving.getMaxHealth()); + HbmLivingProps.incrementRadiation(event.entityLiving, Math.max(HbmLivingProps.getRadiation(event.entityLiving), 10F)); + event.setCanceled(true); + return; + } } } } + } + + @SubscribeEvent + public void onEntityDeath(LivingDeathEvent event) { + + HbmLivingProps.setRadiation(event.entityLiving, 0); + if(event.entity.worldObj.isRemote) return; @@ -286,9 +304,12 @@ public class ModEventHandler { } @SubscribeEvent - public void spawnMob(LivingSpawnEvent event) { + public void decorateMob(LivingSpawnEvent event) { EntityLivingBase entity = event.entityLiving; World world = event.world; + + if(!MobConfig.enableMobGear) + return; if(entity instanceof EntityZombie) { if(rand.nextInt(64) == 0) diff --git a/src/main/java/com/hbm/render/tileentity/RenderDemonLamp.java b/src/main/java/com/hbm/render/tileentity/RenderDemonLamp.java index 2bc7764cb..50da922a3 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderDemonLamp.java +++ b/src/main/java/com/hbm/render/tileentity/RenderDemonLamp.java @@ -21,7 +21,19 @@ public class RenderDemonLamp extends TileEntitySpecialRenderer { public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glTranslated(x + 0.5D, y + 0.5D, z + 0.5D); + + switch(tileEntity.getBlockMetadata()) { + case 0: GL11.glRotated(180, 1, 0, 0); break; + case 1: break; + case 2: GL11.glRotated(90, 1, 0, 0); GL11.glRotated(180, 0, 0, 1); break; + case 3: GL11.glRotated(90, 1, 0, 0); break; + case 4: GL11.glRotated(90, 1, 0, 0); GL11.glRotated(90, 0, 0, 1); break; + case 5: GL11.glRotated(90, 1, 0, 0); GL11.glRotated(270, 0, 0, 1); break; + } + + GL11.glTranslated(0, -0.5F, 0); + GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_CULL_FACE); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java index 043695516..c309d705b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java @@ -153,7 +153,7 @@ public class TileEntitySILEX extends TileEntityMachineBase implements IFluidAcce int load = recipe.fluidProduced; - if(load <= this.maxFill - this.currentFill && load < tank.getFill()) { + if(load <= this.maxFill - this.currentFill && load <= tank.getFill()) { this.currentFill += load; this.current = new ComparableStack(slots[0]).makeSingular(); tank.setFill(tank.getFill() - load); diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java index 0c7b2b3cf..9e74dabad 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java @@ -31,6 +31,7 @@ import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent; @@ -258,8 +259,16 @@ public abstract class TileEntityRBMKBase extends TileEntity implements INBTPacke } public void onMelt(int reduce) { + + standardMelt(reduce); + + if(this.getBlockMetadata() == RBMKBase.DIR_NORMAL_LID.ordinal() + RBMKBase.offset) + spawnDebris(DebrisType.LID); + } + + protected void standardMelt(int reduce) { - /*reduce = MathHelper.clamp_int(reduce, 1, 3); + reduce = MathHelper.clamp_int(reduce, 1, RBMKDials.getColumnHeight(worldObj)); if(worldObj.rand.nextInt(3) == 0) reduce++; @@ -269,13 +278,7 @@ public abstract class TileEntityRBMKBase extends TileEntity implements INBTPacke if(i <= 4 - reduce) { if(reduce > 1 && i == 4 - reduce) { - - if(worldObj.rand.nextInt(3) == 0) { - worldObj.setBlock(xCoord, yCoord + i, zCoord, ModBlocks.corium_block); - } else { - worldObj.setBlock(xCoord, yCoord + i, zCoord, ModBlocks.pribris_burning); - } - + worldObj.setBlock(xCoord, yCoord + i, zCoord, ModBlocks.pribris_burning); } else { worldObj.setBlock(xCoord, yCoord + i, zCoord, ModBlocks.pribris); } @@ -285,17 +288,6 @@ public abstract class TileEntityRBMKBase extends TileEntity implements INBTPacke } worldObj.markBlockForUpdate(xCoord, yCoord + i, zCoord); } - - for(int i = 0; i < 2; i++) { - EntityRBMKDebris debris = new EntityRBMKDebris(worldObj, xCoord + 0.5D, yCoord + 4D, zCoord + 0.5D, DebrisType.values()[worldObj.rand.nextInt(DebrisType.values().length)]); - debris.motionX = worldObj.rand.nextGaussian() * 0.25D; - debris.motionZ = worldObj.rand.nextGaussian() * 0.25D; - debris.motionY = 1D + worldObj.rand.nextDouble(); - worldObj.spawnEntityInWorld(debris); - }*/ - - if(this.getBlockMetadata() == RBMKBase.DIR_NORMAL_LID.ordinal() + RBMKBase.offset) - spawnDebris(DebrisType.LID); } protected void spawnDebris(DebrisType type) { @@ -319,6 +311,8 @@ public abstract class TileEntityRBMKBase extends TileEntity implements INBTPacke //assumes that !worldObj.isRemote public void meltdown() { + RBMKBase.dropLids = false; + columns.clear(); getFF(xCoord, yCoord, zCoord); @@ -382,6 +376,8 @@ public abstract class TileEntityRBMKBase extends TileEntity implements INBTPacke MainRegistry.proxy.effectNT(data); worldObj.playSoundEffect(avgX + 0.5, yCoord + 1, avgZ + 0.5, "hbm:block.rbmk_explosion", 50.0F, 1.0F); + + RBMKBase.dropLids = true; } private void getFF(int x, int y, int z) { diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java index 1aa902da2..000722c63 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java @@ -1,7 +1,6 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.machine.rbmk.RBMKBase; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import cpw.mods.fml.relauncher.Side; @@ -93,8 +92,6 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase { @Override public void onMelt(int reduce) { - - RBMKBase.dropLids = false; reduce = MathHelper.clamp_int(reduce, 1, 3); @@ -123,8 +120,6 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase { spawnDebris(DebrisType.ROD); } - RBMKBase.dropLids = true; - //control rods will not spawn lid projectiles since the lid is already part of the rod projectiles //super.onMelt(reduce); } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 0d8b40e0f..0178d5c09 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -2179,6 +2179,7 @@ item.seg_20.name=Größe 20 Bindeglied item.serum.name=Serum item.servo_set.name=Servo-Set item.servo_set_desh.name=Deshservo-Set +item.shackles.name=Fußschellen item.shimmer_axe.name=Shimmer Axe item.shimmer_axe_head.name=Schwerer Axtkopf item.shimmer_handle.name=Verstärketer Polymergriff @@ -2461,6 +2462,7 @@ tile.ams_base.name=AMS-Basis [WIP] tile.ams_emitter.name=AMS-Emitter [WIP] tile.ams_limiter.name=AMS-Stabilisator [WIP] tile.ancient_scrap.name=Antikes Altmetall +tile.anvil_bismuth.name=Bismutamboss tile.anvil_dnt.name=Dineutroniumamboss tile.anvil_ferrouranium.name=Ferrouranamboss tile.anvil_iron.name=Eisenamboss diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index dc8d13779..8fd41261b 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -734,7 +734,7 @@ item.battery_creative.name=Infinite Battery item.battery_generic.name=Battery item.battery_lithium.name=Lithium-Ion Battery item.battery_lithium_cell.name=Lithium-Ion Power Cell -item.battery_lithium_cell_3.name=Tripple Lithium-Ion Power Cell +item.battery_lithium_cell_3.name=Triple Lithium-Ion Power Cell item.battery_lithium_cell_6.name=Sixfold Lithium-Ion Power Cell item.battery_potato.name=Potato Battery item.battery_potatos.name=PotatOS @@ -2247,6 +2247,7 @@ item.seg_20.name=Size 20 Connector item.serum.name=Serum item.servo_set.name=Servo Set item.servo_set_desh.name=Desh Servo Set +item.shackles.name=Shackles item.shimmer_axe.name=Shimmer Axe item.shimmer_axe_head.name=Heavy Axe Head item.shimmer_handle.name=Reinforced Polymer Handle @@ -2529,6 +2530,7 @@ tile.ams_base.name=AMS Base [WIP] tile.ams_emitter.name=AMS Emitter [WIP] tile.ams_limiter.name=AMS Stabilizer [WIP] tile.ancient_scrap.name=Ancient Scrap Metal +tile.anvil_bismuth.name=Bismuth Anvil tile.anvil_dnt.name=Dineutronium Anvil tile.anvil_ferrouranium.name=Ferrouranium Anvil tile.anvil_iron.name=Iron Anvil diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_bismuth.png b/src/main/resources/assets/hbm/textures/blocks/anvil_bismuth.png new file mode 100644 index 0000000000000000000000000000000000000000..9b388a6143d3eb78d693e0621dd04cece288d4fd GIT binary patch literal 678 zcmV;X0$KfuP)NG^1Mq zzH^w8Dz_8gcSfcm9=ao=_Y)Es| zgK)uimKZJ*{lt-Nko-Gae`G3!F(+cFWD!D@SR1_u8Av3WJC?6U;ymaVjcE70&ksN* zt1u=-hJ4&8MtK`@*f)IX)PrN?cA{+$#Qr~S?JF6cX%x|f4 z!_r5kFWcRS_vF8)dF2Gh5!Hn M07*qoM6N<$f{HIE_5c6? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/shackles.png b/src/main/resources/assets/hbm/textures/items/shackles.png new file mode 100644 index 0000000000000000000000000000000000000000..1987571513e3c3beb749cd5bf268bee0c8e1ad22 GIT binary patch literal 350 zcmV-k0iphhP)~w84#;g#~VI?q}AMzW!*ea3dm;EX$DRIf|lCcYR+V4gx@3*NT}1z^#$G8}#1G zvMdN8fQWuILTvEf3o{E5UA~!Fm|48{a)^CyJnPB`0A2u)W!WB!h%OIS6om>Qpe#!; zvxE?^8{~Pu7Z1@+x?1##?ywP7RTYdeFvcKF zQz0UiJi+sD+qQenIVVliNb&@SVNd{|wT3a~kZ4_3Y}