From 283569d28f985897dc237018f2b53aa39121dd70 Mon Sep 17 00:00:00 2001 From: MartinTheDragon Date: Tue, 12 Sep 2023 15:25:13 +0200 Subject: [PATCH] Play pipe sound when placing default ducts --- src/main/java/com/hbm/blocks/ModBlocks.java | 2 +- .../java/com/hbm/blocks/ModSoundTypes.java | 2 + .../com/hbm/items/machine/ItemFluidDuct.java | 7 +- src/main/java/com/hbm/main/MainRegistry.java | 140 +++++++++--------- 4 files changed, 73 insertions(+), 78 deletions(-) diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 196925a44..868165597 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1958,7 +1958,7 @@ public class ModBlocks { machine_detector = new PowerDetector(Material.iron).setBlockName("machine_detector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_detector_off"); fluid_duct = new BlockFluidDuct(Material.iron).setBlockName("fluid_duct").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":fluid_duct_icon"); fluid_duct_solid = new BlockFluidDuctSolid(Material.iron).setBlockName("fluid_duct_solid").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":fluid_duct_solid"); - fluid_duct_neo = new FluidDuctStandard(Material.iron).setBlockName("fluid_duct_neo").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pipe_neo"); + fluid_duct_neo = new FluidDuctStandard(Material.iron).setBlockName("fluid_duct_neo").setStepSound(ModSoundTypes.pipe).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pipe_neo"); fluid_duct_box = new FluidDuctBox(Material.iron).setBlockName("fluid_duct_box").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fluid_duct_box"); fluid_duct_exhaust = new FluidDuctBoxExhaust(Material.iron).setBlockName("fluid_duct_exhaust").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fluid_duct_box"); fluid_duct_paintable = new FluidDuctPaintable().setBlockName("fluid_duct_paintable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); diff --git a/src/main/java/com/hbm/blocks/ModSoundTypes.java b/src/main/java/com/hbm/blocks/ModSoundTypes.java index 2b4213cd4..544f70c1e 100644 --- a/src/main/java/com/hbm/blocks/ModSoundTypes.java +++ b/src/main/java/com/hbm/blocks/ModSoundTypes.java @@ -1,7 +1,9 @@ package com.hbm.blocks; +import com.hbm.main.MainRegistry; import net.minecraft.block.Block; class ModSoundTypes { static final ModSoundType grate = ModSoundType.customStep(Block.soundTypeStone, "hbm:step.metalBlock", 0.5F, 1.0F); + static final ModSoundType pipe = ModSoundType.customDig(Block.soundTypeMetal, "hbm:block.pipePlaced", 0.85F, 0.65F).enveloped(MainRegistry.instance.rand).pitchFunction((in, rand, type) -> { if (type == ModSoundType.SubType.BREAK) in -= 0.15F; return type == ModSoundType.SubType.STEP ? in : in + rand.nextFloat() * 0.2F; }); } diff --git a/src/main/java/com/hbm/items/machine/ItemFluidDuct.java b/src/main/java/com/hbm/items/machine/ItemFluidDuct.java index b366e39ea..93413ee62 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidDuct.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidDuct.java @@ -1,12 +1,9 @@ package com.hbm.items.machine; -import java.util.List; - import com.hbm.blocks.ModBlocks; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.tileentity.network.TileEntityPipeBaseNT; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; @@ -19,6 +16,8 @@ import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; import net.minecraft.world.World; +import java.util.List; + public class ItemFluidDuct extends Item { IIcon overlayIcon; @@ -126,8 +125,6 @@ public class ItemFluidDuct extends Item { ((TileEntityPipeBaseNT) world.getTileEntity(x, y, z)).setType(Fluids.fromID(stack.getItemDamage())); } - world.playSoundEffect(x, y, z, "hbm:block.pipePlaced", 1.0F, 0.65F + world.rand.nextFloat() * 0.2F); - return true; } } diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 7c3542ec2..44e8ebca1 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -1,6 +1,71 @@ package com.hbm.main; +import com.google.common.collect.ImmutableList; +import com.hbm.blocks.BlockEnums.EnumStoneType; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockMotherOfAllOres; +import com.hbm.blocks.generic.BlockToolConversion; +import com.hbm.commands.CommandDebugChunkLoad; +import com.hbm.commands.CommandReloadRecipes; import com.hbm.commands.CommandSatellites; +import com.hbm.config.*; +import com.hbm.crafting.RodRecipes; +import com.hbm.creativetabs.*; +import com.hbm.entity.EntityMappings; +import com.hbm.entity.grenade.*; +import com.hbm.entity.logic.IChunkLoader; +import com.hbm.entity.mob.siege.SiegeTier; +import com.hbm.handler.*; +import com.hbm.handler.imc.IMCBlastFurnace; +import com.hbm.handler.imc.IMCCentrifuge; +import com.hbm.handler.imc.IMCCrystallizer; +import com.hbm.handler.imc.IMCHandler; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.hazard.HazardRegistry; +import com.hbm.inventory.FluidContainerRegistry; +import com.hbm.inventory.OreDictManager; +import com.hbm.inventory.OreDictManager.DictFrame; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.recipes.*; +import com.hbm.inventory.recipes.anvil.AnvilRecipes; +import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ItemAmmoEnums.Ammo4Gauge; +import com.hbm.items.ItemEnums.EnumAchievementType; +import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemFertilizer; +import com.hbm.items.weapon.ItemGenericGrenade; +import com.hbm.lib.HbmWorld; +import com.hbm.lib.Library; +import com.hbm.lib.RefStrings; +import com.hbm.packet.PacketDispatcher; +import com.hbm.potion.HbmPotion; +import com.hbm.saveddata.satellites.Satellite; +import com.hbm.tileentity.TileMappings; +import com.hbm.tileentity.bomb.TileEntityNukeCustom; +import com.hbm.tileentity.machine.TileEntityMachineReactorLarge; +import com.hbm.tileentity.machine.TileEntityNukeFurnace; +import com.hbm.tileentity.machine.rbmk.RBMKDials; +import com.hbm.util.*; +import com.hbm.world.feature.BedrockOre; +import com.hbm.world.feature.OreCave; +import com.hbm.world.feature.OreLayer3D; +import com.hbm.world.feature.SchistStratum; +import com.hbm.world.generator.CellularDungeonFactory; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.Mod.EventHandler; +import cpw.mods.fml.common.Mod.Instance; +import cpw.mods.fml.common.Mod.Metadata; +import cpw.mods.fml.common.ModMetadata; +import cpw.mods.fml.common.SidedProxy; +import cpw.mods.fml.common.event.*; +import cpw.mods.fml.common.event.FMLInterModComms.IMCEvent; +import cpw.mods.fml.common.event.FMLInterModComms.IMCMessage; +import cpw.mods.fml.common.event.FMLMissingMappingsEvent.MissingMapping; +import cpw.mods.fml.common.network.NetworkRegistry; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; import net.minecraft.block.BlockDispenser; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.dispenser.BehaviorDefaultDispenseItem; @@ -26,12 +91,8 @@ import net.minecraftforge.common.ForgeChunkManager.Ticket; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; import net.minecraftforge.common.util.EnumHelper; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.Mod; -import cpw.mods.fml.common.Mod.EventHandler; -import cpw.mods.fml.common.Mod.Instance; -import cpw.mods.fml.common.Mod.Metadata; -import cpw.mods.fml.common.ModMetadata; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.io.File; import java.util.HashMap; @@ -40,71 +101,6 @@ import java.util.List; import java.util.Map.Entry; import java.util.Random; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import com.google.common.collect.ImmutableList; -import com.hbm.blocks.BlockEnums.EnumStoneType; -import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.generic.BlockMotherOfAllOres; -import com.hbm.blocks.generic.BlockToolConversion; -import com.hbm.commands.CommandDebugChunkLoad; -import com.hbm.commands.CommandReloadRecipes; -import com.hbm.config.*; -import com.hbm.crafting.RodRecipes; -import com.hbm.creativetabs.*; -import com.hbm.entity.EntityMappings; -import com.hbm.entity.grenade.*; -import com.hbm.entity.logic.*; -import com.hbm.entity.mob.siege.*; -import com.hbm.handler.*; -import com.hbm.handler.imc.*; -import com.hbm.handler.pollution.PollutionHandler; -import com.hbm.handler.radiation.ChunkRadiationManager; -import com.hbm.hazard.HazardRegistry; -import com.hbm.inventory.*; -import com.hbm.inventory.OreDictManager.DictFrame; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.recipes.*; -import com.hbm.inventory.recipes.anvil.AnvilRecipes; -import com.hbm.inventory.recipes.loader.SerializableRecipe; -import com.hbm.items.ModItems; -import com.hbm.items.tool.ItemFertilizer; -import com.hbm.items.weapon.ItemGenericGrenade; -import com.hbm.items.ItemAmmoEnums.Ammo4Gauge; -import com.hbm.items.ItemEnums.EnumAchievementType; -import com.hbm.lib.HbmWorld; -import com.hbm.lib.Library; -import com.hbm.lib.RefStrings; -import com.hbm.packet.PacketDispatcher; -import com.hbm.potion.HbmPotion; -import com.hbm.saveddata.satellites.Satellite; -import com.hbm.tileentity.TileMappings; -import com.hbm.tileentity.bomb.TileEntityNukeCustom; -import com.hbm.tileentity.machine.*; -import com.hbm.tileentity.machine.rbmk.RBMKDials; -import com.hbm.util.AchievementHandler; -import com.hbm.util.ArmorUtil; -import com.hbm.util.Compat; -import com.hbm.util.StatHelper; -import com.hbm.util.SuicideThreadDump; -import com.hbm.world.feature.*; -import com.hbm.world.generator.CellularDungeonFactory; - -import cpw.mods.fml.common.SidedProxy; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLMissingMappingsEvent; -import cpw.mods.fml.common.event.FMLInterModComms.IMCEvent; -import cpw.mods.fml.common.event.FMLInterModComms.IMCMessage; -import cpw.mods.fml.common.event.FMLMissingMappingsEvent.MissingMapping; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.event.FMLServerStartedEvent; -import cpw.mods.fml.common.event.FMLServerStartingEvent; -import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; - @Mod(modid = RefStrings.MODID, name = RefStrings.NAME, version = RefStrings.VERSION) public class MainRegistry { @@ -249,7 +245,7 @@ public class MainRegistry { public static File configDir; public static File configHbmDir; - Random rand = new Random(); + public Random rand = new Random(); @EventHandler public void PreLoad(FMLPreInitializationEvent PreEvent) {