From e6bbd632671c3e69705249688a6bec6b703ba652 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 4 Nov 2024 16:59:46 +0100 Subject: [PATCH] ow --- changelog | 4 + src/main/java/com/hbm/blocks/ModBlocks.java | 7 +- .../com/hbm/blocks/generic/BlockCoalOil.java | 75 ------------------ .../hbm/blocks/machine/MachineAmmoPress.java | 36 +++++++++ .../java/com/hbm/config/ClientConfig.java | 3 + src/main/java/com/hbm/config/WorldConfig.java | 2 - .../weapon/sedna/impl/ItemGunStinger.java | 2 +- src/main/java/com/hbm/lib/HbmWorldGen.java | 3 - .../com/hbm/render/block/RenderReeds.java | 14 +++- .../machine/TileEntityMachineAmmoPress.java | 38 +++++++++ src/main/java/com/hbm/util/Compat.java | 1 + .../gui/processing/gui_ammo_press.png | Bin 0 -> 1960 bytes .../hbm/textures/items/fragment_base.png | Bin 0 -> 264 bytes 13 files changed, 98 insertions(+), 87 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/machine/MachineAmmoPress.java create mode 100644 src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmmoPress.java create mode 100644 src/main/resources/assets/hbm/textures/gui/processing/gui_ammo_press.png create mode 100644 src/main/resources/assets/hbm/textures/items/fragment_base.png diff --git a/changelog b/changelog index 46b68a1a7..d7a485e02 100644 --- a/changelog +++ b/changelog @@ -47,6 +47,10 @@ * Removed legacy wire items * Removed random ore, along with its configs * DFC emitters are now only 95% efficient instead of 98% +* Oily coal has been removed from worldgen, it no longer spawns in new chunks + * Existing oily coal can be mined risk-free +* Reeds rendering into water can now be toggled with the RENDER_REEDS client config + * This option is usually enabled by default, unless Angelica is installed ## Fixed * The conveyor grabber should no longer skip over items when used in long lines diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 6b4b0992c..56474db0e 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -146,8 +146,8 @@ public class ModBlocks { public static Block ore_bedrock_oil; public static Block ore_lignite; public static Block ore_asbestos; - public static Block ore_coal_oil; - public static Block ore_coal_oil_burning; + @Deprecated public static Block ore_coal_oil; + @Deprecated public static Block ore_coal_oil_burning; public static Block ore_tikite; @@ -1008,6 +1008,7 @@ public class ModBlocks { public static Block machine_press; public static Block machine_epress; public static Block machine_conveyor_press; + public static Block machine_ammo_press; public static Block machine_siren; @@ -2179,6 +2180,7 @@ public class ModBlocks { machine_press = new MachinePress(Material.iron).setBlockName("machine_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_press"); machine_epress = new MachineEPress(Material.iron).setBlockName("machine_epress").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_epress"); machine_conveyor_press = new MachineConveyorPress(Material.iron).setBlockName("machine_conveyor_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_ammo_press = new MachineAmmoPress().setBlockName("machine_ammo_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); reactor_research = new ReactorResearch(Material.iron).setBlockName("machine_reactor_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_reactor_small"); reactor_zirnox = new ReactorZirnox(Material.iron).setBlockName("machine_zirnox").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); zirnox_destroyed = new ZirnoxDestroyed(Material.iron).setBlockName("zirnox_destroyed").setHardness(100.0F).setResistance(800.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); @@ -2959,6 +2961,7 @@ public class ModBlocks { GameRegistry.registerBlock(machine_press, machine_press.getUnlocalizedName()); GameRegistry.registerBlock(machine_epress, machine_epress.getUnlocalizedName()); register(machine_conveyor_press); + register(machine_ammo_press); register(pump_steam); register(pump_electric); register(heater_firebox); diff --git a/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java b/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java index b2de5b355..cb6f4ea7e 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java @@ -3,20 +3,12 @@ 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.util.Vec3; -import net.minecraft.world.Explosion; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; public class BlockCoalOil extends Block { @@ -24,19 +16,6 @@ public class BlockCoalOil extends Block { super(mat); } - @Override - public void onNeighborBlockChange(World world, int x, int y, int z, Block b) { - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - - Block n = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - - if(n == ModBlocks.ore_coal_oil_burning || n == ModBlocks.balefire || n == Blocks.fire || n.getMaterial() == Material.lava) { - world.scheduleBlockUpdate(x, y, z, this, world.rand.nextInt(20) + 2); - } - } - } - @Override public void updateTick(World world, int x, int y, int z, Random rand) { world.setBlock(x, y, z, ModBlocks.ore_coal_oil_burning); @@ -51,58 +30,4 @@ public class BlockCoalOil extends Block { public int quantityDropped(Random rand) { return 2 + rand.nextInt(2); } - - public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) { - - if(doesToolIgnite(player)) { - if(world.rand.nextInt(10) == 0) - world.setBlock(x, y, z, Blocks.fire); - } - } - - public void onBlockClicked(World world, int x, int y, int z, EntityPlayer player) { - - if(!world.isRemote) - return; - - if(doesToolIgnite(player)) { - - Random rand = world.rand; - for(int i = 0; i < 15; i++) { - Vec3 vec = Vec3.createVectorHelper(1, 0, 0); - vec.rotateAroundZ((float)(Math.PI * rand.nextDouble() * 2D)); - vec.rotateAroundY((float)(Math.PI * rand.nextDouble() * 2D)); - - double dX = vec.xCoord; - double dY = vec.yCoord; - double dZ = vec.zCoord; - - if(Math.abs(dX) > 1) - dX /= Math.abs(dX); - if(Math.abs(dY) > 1) - dY /= Math.abs(dY); - if(Math.abs(dX) > 1) - dZ /= Math.abs(dZ); - - world.spawnParticle("flame", x + 0.5 + dX * 0.75, y + 0.5 + dY * 0.75, z + 0.5 + dZ * 0.75, 0.0, 0.0, 0.0); - } - } - } - - public void onBlockDestroyedByExplosion(World world, int x, int y, int z, Explosion explosion) { - world.setBlock(x, y, z, Blocks.fire); - } - - private boolean doesToolIgnite(EntityPlayer player) { - - if(player.getHeldItem() == null) - return false; - - if(!(player.getHeldItem().getItem() instanceof ItemTool || player.getHeldItem().getItem() instanceof ItemToolAbility)) - return false; - - ItemTool tool = (ItemTool) player.getHeldItem().getItem(); - - return tool.func_150913_i() != ToolMaterial.WOOD; - } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineAmmoPress.java b/src/main/java/com/hbm/blocks/machine/MachineAmmoPress.java new file mode 100644 index 000000000..226a16a67 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineAmmoPress.java @@ -0,0 +1,36 @@ +package com.hbm.blocks.machine; + +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.machine.TileEntityMachineAmmoPress; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +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.world.World; + +public class MachineAmmoPress extends BlockContainer { + + public MachineAmmoPress() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityMachineAmmoPress(); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); + return true; + } else { + return false; + } + } +} diff --git a/src/main/java/com/hbm/config/ClientConfig.java b/src/main/java/com/hbm/config/ClientConfig.java index ff1246dc4..ffe66aeb4 100644 --- a/src/main/java/com/hbm/config/ClientConfig.java +++ b/src/main/java/com/hbm/config/ClientConfig.java @@ -15,6 +15,7 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.main.MainRegistry; +import com.hbm.util.Compat; // https://youtube.com/shorts/XTHZWqZt_AI public class ClientConfig { @@ -36,6 +37,7 @@ public class ClientConfig { public static ConfigWrapper RENDER_CABLE_HANG = new ConfigWrapper(true); public static ConfigWrapper NUKE_HUD_FLASH = new ConfigWrapper(true); public static ConfigWrapper NUKE_HUD_SHAKE = new ConfigWrapper(true); + public static ConfigWrapper RENDER_REEDS = new ConfigWrapper(!Compat.isModLoaded(Compat.MOD_ANG)); private static void initDefaults() { configMap.put("GEIGER_OFFSET_HORIZONTAL", GEIGER_OFFSET_HORIZONTAL); @@ -51,6 +53,7 @@ public class ClientConfig { configMap.put("RENDER_CABLE_HANG", RENDER_CABLE_HANG); configMap.put("NUKE_HUD_FLASH", NUKE_HUD_FLASH); configMap.put("NUKE_HUD_SHAKE", NUKE_HUD_SHAKE); + configMap.put("RENDER_REEDS", RENDER_REEDS); } /** Initializes defaults, then reads the config file if it exists, then writes the config file. */ diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index a4b6b11e9..63b9d13b0 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -24,7 +24,6 @@ public class WorldConfig { public static int rareSpawn = 6; public static int lithiumSpawn = 6; public static int cinnebarSpawn = 1; - public static int oilcoalSpawn = 128; public static int gassshaleSpawn = 5; public static int gasbubbleSpawn = 12; public static int explosivebubbleSpawn = 0; @@ -141,7 +140,6 @@ public class WorldConfig { asbestosSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.12_asbestosSpawnRate", "Amount of asbestos ore veins per chunk", 2); lithiumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.13_lithiumSpawnRate", "Amount of schist lithium ore veins per chunk", 6); rareSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.14_rareEarthSpawnRate", "Amount of rare earth ore veins per chunk", 6); - oilcoalSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.15_oilCoalSpawnRate", "Spawns an oily coal vein every nTH chunk", 128); gassshaleSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.16_gasShaleSpawnRate", "Amount of oil shale veins per chunk", 5); gasbubbleSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.17_gasBubbleSpawnRate", "Spawns a gas bubble every nTH chunk", 12); cinnebarSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.18_cinnebarSpawnRate", "Amount of cinnebar ore veins per chunk", 1); diff --git a/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunStinger.java b/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunStinger.java index b3c2cc422..20fe6ef71 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunStinger.java +++ b/src/main/java/com/hbm/items/weapon/sedna/impl/ItemGunStinger.java @@ -107,7 +107,7 @@ public class ItemGunStinger extends ItemGunBaseNT { Vec3NT toEntity = new Vec3NT(0, 0, 0); for(Entity entity : entities) { - if(entity.height < 0.5F) continue; + if(entity.height < 0.5F || !entity.canBeCollidedWith()) continue; toEntity.setComponents(entity.posX - x, entity.posY + entity.height / 2D - y, entity.posZ - z); double vecProd = toEntity.xCoord * delta.xCoord + toEntity.yCoord * delta.yCoord + toEntity.zCoord * delta.zCoord; diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 759e5c6cd..3aa200c39 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -96,9 +96,6 @@ public class HbmWorldGen implements IWorldGenerator { DungeonToolbox.generateFlowers(world, rand, i, j, ModBlocks.reeds, 0); } } - - if(WorldConfig.oilcoalSpawn > 0 && rand.nextInt(WorldConfig.oilcoalSpawn) == 0) - DungeonToolbox.generateOre(world, rand, i, j, 1, 64, 32, 32, ModBlocks.ore_coal_oil); if(WorldConfig.gasbubbleSpawn > 0 && rand.nextInt(WorldConfig.gasbubbleSpawn) == 0) DungeonToolbox.generateOre(world, rand, i, j, 1, 32, 30, 10, ModBlocks.gas_flammable, 1); diff --git a/src/main/java/com/hbm/render/block/RenderReeds.java b/src/main/java/com/hbm/render/block/RenderReeds.java index a237a79c8..a07a16a31 100644 --- a/src/main/java/com/hbm/render/block/RenderReeds.java +++ b/src/main/java/com/hbm/render/block/RenderReeds.java @@ -1,6 +1,7 @@ package com.hbm.render.block; import com.hbm.blocks.generic.BlockReeds; +import com.hbm.config.ClientConfig; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import net.minecraft.block.Block; @@ -27,10 +28,15 @@ public class RenderReeds implements ISimpleBlockRenderingHandler { tessellator.setColorOpaque_F(r * m, g * m, b * m); int depth = 0; - for(int i = y - 1; i > 0 ; i--) { - Block water = world.getBlock(x, i, z); - depth = y - i; - if(water != Blocks.water && water != Blocks.flowing_water) break; + + if(!ClientConfig.RENDER_REEDS.get()) { + depth = 1; + } else { + for(int i = y - 1; i > 0 ; i--) { + Block water = world.getBlock(x, i, z); + depth = y - i; + if(water != Blocks.water && water != Blocks.flowing_water) break; + } } BlockReeds reeds = (BlockReeds) block; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmmoPress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmmoPress.java new file mode 100644 index 000000000..aefdc7140 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmmoPress.java @@ -0,0 +1,38 @@ +package com.hbm.tileentity.machine; + +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.TileEntityMachineBase; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.world.World; + +public class TileEntityMachineAmmoPress extends TileEntityMachineBase implements IGUIProvider { + + public TileEntityMachineAmmoPress() { + super(10); + } + + @Override + public String getName() { + return "container.machineAmmoPress"; + } + + @Override + public void updateEntity() { + + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return null; + } + + @Override + @SideOnly(Side.CLIENT) + public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return null; + } +} diff --git a/src/main/java/com/hbm/util/Compat.java b/src/main/java/com/hbm/util/Compat.java index fd6ab8764..9d46d714b 100644 --- a/src/main/java/com/hbm/util/Compat.java +++ b/src/main/java/com/hbm/util/Compat.java @@ -37,6 +37,7 @@ public class Compat { public static final String MOD_RC = "Railcraft"; public static final String MOD_TC = "tc"; public static final String MOD_EIDS = "endlessids"; + public static final String MOD_ANG = "angelica"; public static Item tryLoadItem(String domain, String name) { return (Item) Item.itemRegistry.getObject(getReg(domain, name)); diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_ammo_press.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_ammo_press.png new file mode 100644 index 0000000000000000000000000000000000000000..8b382f97cbe9ffbc89dcbc66e0f6889399a96249 GIT binary patch literal 1960 zcmbW1eOwaO8pjWWik4!lp;IfT%h}Q-D>NoZ2=L6DdLrt+T4y1nhnD0U3d4g9tu2R zVdfvx?9$$F3=St*Dy-CLo4Wryr?EI%Gz>IG27d&h={W*_?Qft%y2OLC9u}Mw8CHOd*bqjisOB zxu?}XF5PsjvuCO=w8=QL$`7!tc3c!c^iFZd;Yhs`%u6iFATDkHv6(C!yBb6DD9N3> zs;kaDJ4#3VNAy`fmigJ)+02+2ibmB211XfyjrbfFqqyswYbLy|i6+bBFK)LXSvyS0m_CQwYFGK21S3kevzGj26UZq`3!LG~d z0gZcF_g*v31at8AT>JOz2j)}EdO*}Xsh?E-U{CG}9)LNOvwgx@4IlS}%0DC&l|6y1 zy-t581a+;eHvz{u>68*8aqK2RWU#1C8%ow7M0U4B96-5n0wVjOqbr{R&EuFKuL3jK z#}}`DNF-}aT8#6!^~Iat9f7(>=j}=31&@V7@>}LlN*ptf;@2wByRqyMhW5_1a6a0M z-@UrPK=%oR;pA<1Mw9^FI59ix zS|S)j&EHfZWgyVT39y$K{%59X2Cy zQ8~d?j*3HX1qLnO3wj$}A~gQ?egaNZE0f2Y677KN@xbwRkyI+(<^`{e`UKsCEwX{y z^51k)vvMpFGonPipAgXKQ}R#p-s@UHa}T(|@ZO0!(aNs%%xD9$8_Y=;Q*Y2lA8AS| zzXh8@jy5QEAvLpt3PIog99u^&Xbav5oeJE!8~%AsR85~T%$ zvaXq1Qs8EpSWb@fHRbjoXdf*7mr@p_ss_*Y}svjW;1j2fYOsU+v=3CgPQr|ZCTQWg8)mKIdt#uV(eD3zCiz_dztZFcQUi3^;)lGRu)S8k zZfYkRvYF28XVn%waRQkIBpP@yBgr| MdnB*wgY@%%0#k`ASpWb4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/fragment_base.png b/src/main/resources/assets/hbm/textures/items/fragment_base.png new file mode 100644 index 0000000000000000000000000000000000000000..84424d3c60ddc824ac4ed82f007f4ea8b8cc8f80 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfx1d5PI2usZdOm|UNg~BsqMiD5lIE(f=w+(uGN}>{~Q9N?-%?yQ_S)q zdF4g%wOiNk+OE@G)t8jalhm_v`#Nog2Zl}0E7^>jI~-h&{(RdY{QT)&{dxM~7KQ&@ z)7XraTP9T9^*&>0eAu%6vBjmG9SOJ1uEr|%&wX5bU;2*9isb6|!t<7`Jm}hF^^L=i z^V1C%lb+euD+=?UpJudOvvuFmqYe26AAU}BVNsf-(4hEddKI&_>_jo9H9-zQuP}JJ L`njxgN@xNAG=gcz literal 0 HcmV?d00001