From a29f1ab8f8ed1267a2fd1e8e83b30f0eeabb8c7e Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 15 Sep 2021 16:22:49 +0200 Subject: [PATCH] mask filter unscrewing, small cooling tower, bedrock ore improvements --- src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../hbm/blocks/machine/MachineTowerSmall.java | 52 +++++++++++++++++ .../com/hbm/items/armor/ArmorGasMask.java | 23 ++++++++ .../com/hbm/items/armor/ArmorHazmatMask.java | 22 ++++++++ .../hbm/items/armor/ArmorLiquidatorMask.java | 22 ++++++++ .../com/hbm/items/armor/ItemModGasmask.java | 20 +++++++ .../java/com/hbm/main/ModEventHandler.java | 2 +- .../java/com/hbm/tileentity/TileMappings.java | 4 +- .../machine/TileEntityMachineMiningDrill.java | 4 +- .../machine/TileEntityTowerSmall.java | 53 ++++++++++++++++++ .../hbm/textures/blocks/ore_bedrock_oil.png | Bin 0 -> 856 bytes .../hbm/textures/gui/machine/gui_pattern.png | Bin 0 -> 3347 bytes .../assets/hbm/textures/items/pattern.png | Bin 0 -> 179 bytes .../hbm/textures/items/pattern_drawn.png | Bin 0 -> 208 bytes 14 files changed, 199 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/machine/MachineTowerSmall.java create mode 100644 src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/ore_bedrock_oil.png create mode 100644 src/main/resources/assets/hbm/textures/gui/machine/gui_pattern.png create mode 100644 src/main/resources/assets/hbm/textures/items/pattern.png create mode 100644 src/main/resources/assets/hbm/textures/items/pattern_drawn.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index d163610c5..581a7e1f7 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -864,6 +864,7 @@ public class ModBlocks { public static Block machine_chungus; public static Block machine_condenser; + public static Block machine_tower_small; public static Block machine_tower_large; public static Block machine_deaerator; @@ -1971,6 +1972,7 @@ public class ModBlocks { machine_large_turbine = new MachineLargeTurbine(Material.iron).setBlockName("machine_large_turbine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_large_turbine"); machine_chungus = new MachineChungus(Material.iron).setBlockName("machine_chungus").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_chungus"); machine_condenser = new MachineCondenser(Material.iron).setBlockName("machine_condenser").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":condenser"); + machine_tower_small = new MachineTowerSmall(Material.iron).setBlockName("machine_tower_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_tower_small"); machine_tower_large = new MachineTowerLarge(Material.iron).setBlockName("machine_tower_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_tower_large"); anvil_iron = new NTMAnvil(Material.iron, 1).setBlockName("anvil_iron").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_iron"); @@ -2810,6 +2812,7 @@ public class ModBlocks { GameRegistry.registerBlock(machine_large_turbine, machine_large_turbine.getUnlocalizedName()); GameRegistry.registerBlock(machine_chungus, machine_chungus.getUnlocalizedName()); GameRegistry.registerBlock(machine_condenser, machine_condenser.getUnlocalizedName()); + GameRegistry.registerBlock(machine_tower_small, machine_tower_small.getUnlocalizedName()); GameRegistry.registerBlock(machine_tower_large, machine_tower_large.getUnlocalizedName()); GameRegistry.registerBlock(machine_deaerator, machine_deaerator.getUnlocalizedName()); GameRegistry.registerBlock(machine_waste_drum, machine_waste_drum.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/MachineTowerSmall.java b/src/main/java/com/hbm/blocks/machine/MachineTowerSmall.java new file mode 100644 index 000000000..667d614d6 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineTowerSmall.java @@ -0,0 +1,52 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityTowerSmall; + +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class MachineTowerSmall extends BlockDummyable { + + public MachineTowerSmall(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int meta) { + + if(meta >= 12) + return new TileEntityTowerSmall(); + + if(meta >= 8) + return new TileEntityProxyCombo(false, false, true); + + return null; + } + + @Override + public int[] getDimensions() { + return new int[] {12, 0, 1, 1, 1, 1}; + } + + @Override + public int getOffset() { + return 1; + } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + x = x + dir.offsetX * o; + z = z + dir.offsetZ * o; + + for(int i = 2; i <= 6; i++) { + ForgeDirection dr2 = ForgeDirection.getOrientation(i); + this.makeExtra(world, x + dr2.offsetX, y, z + dr2.offsetZ); + } + } +} diff --git a/src/main/java/com/hbm/items/armor/ArmorGasMask.java b/src/main/java/com/hbm/items/armor/ArmorGasMask.java index c3c103b40..81a9a50ba 100644 --- a/src/main/java/com/hbm/items/armor/ArmorGasMask.java +++ b/src/main/java/com/hbm/items/armor/ArmorGasMask.java @@ -23,12 +23,14 @@ import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; public class ArmorGasMask extends ItemArmor implements IGasMask { @@ -187,4 +189,25 @@ public class ArmorGasMask extends ItemArmor implements IGasMask { public boolean isFilterApplicable(ItemStack stack, EntityLivingBase entity, ItemStack filter) { return true; } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if(player.isSneaking()) { + + ItemStack filter = this.getFilter(stack, player); + + if(filter != null) { + ArmorUtil.removeFilter(stack); + + if(!player.inventory.addItemStackToInventory(filter)) { + player.dropPlayerItemWithRandomChoice(filter, true); + } + + return stack; + } + } + + return super.onItemRightClick(stack, world, player); + } } diff --git a/src/main/java/com/hbm/items/armor/ArmorHazmatMask.java b/src/main/java/com/hbm/items/armor/ArmorHazmatMask.java index 7d4e61e12..05cf4d177 100644 --- a/src/main/java/com/hbm/items/armor/ArmorHazmatMask.java +++ b/src/main/java/com/hbm/items/armor/ArmorHazmatMask.java @@ -15,6 +15,7 @@ import net.minecraft.client.model.ModelBiped; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.world.World; public class ArmorHazmatMask extends ArmorHazmat implements IGasMask { @@ -68,4 +69,25 @@ public class ArmorHazmatMask extends ArmorHazmat implements IGasMask { public boolean isFilterApplicable(ItemStack stack, EntityLivingBase entity, ItemStack filter) { return true; } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if(player.isSneaking()) { + + ItemStack filter = this.getFilter(stack, player); + + if(filter != null) { + ArmorUtil.removeFilter(stack); + + if(!player.inventory.addItemStackToInventory(filter)) { + player.dropPlayerItemWithRandomChoice(filter, true); + } + + return stack; + } + } + + return super.onItemRightClick(stack, world, player); + } } diff --git a/src/main/java/com/hbm/items/armor/ArmorLiquidatorMask.java b/src/main/java/com/hbm/items/armor/ArmorLiquidatorMask.java index c99ae83e1..bf5367111 100644 --- a/src/main/java/com/hbm/items/armor/ArmorLiquidatorMask.java +++ b/src/main/java/com/hbm/items/armor/ArmorLiquidatorMask.java @@ -12,6 +12,7 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.world.World; public class ArmorLiquidatorMask extends ArmorLiquidator implements IGasMask { @@ -48,4 +49,25 @@ public class ArmorLiquidatorMask extends ArmorLiquidator implements IGasMask { public boolean isFilterApplicable(ItemStack stack, EntityLivingBase entity, ItemStack filter) { return true; } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if(player.isSneaking()) { + + ItemStack filter = this.getFilter(stack, player); + + if(filter != null) { + ArmorUtil.removeFilter(stack); + + if(!player.inventory.addItemStackToInventory(filter)) { + player.dropPlayerItemWithRandomChoice(filter, true); + } + + return stack; + } + } + + return super.onItemRightClick(stack, world, player); + } } diff --git a/src/main/java/com/hbm/items/armor/ItemModGasmask.java b/src/main/java/com/hbm/items/armor/ItemModGasmask.java index 2fa405c47..732a637c8 100644 --- a/src/main/java/com/hbm/items/armor/ItemModGasmask.java +++ b/src/main/java/com/hbm/items/armor/ItemModGasmask.java @@ -23,6 +23,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; import net.minecraftforge.client.event.RenderPlayerEvent; public class ItemModGasmask extends ItemArmorMod implements IGasMask { @@ -119,4 +120,23 @@ public class ItemModGasmask extends ItemArmorMod implements IGasMask { public boolean isFilterApplicable(ItemStack stack, EntityLivingBase entity, ItemStack filter) { return true; } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if(player.isSneaking()) { + + ItemStack filter = this.getFilter(stack, player); + + if(filter != null) { + ArmorUtil.removeFilter(stack); + + if(!player.inventory.addItemStackToInventory(filter)) { + player.dropPlayerItemWithRandomChoice(filter, true); + } + } + } + + return super.onItemRightClick(stack, world, player); + } } diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index cf1976d56..d3b31bac4 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -841,7 +841,7 @@ public class ModEventHandler { else if(player.motionY < 0) player.motionY = 0; - if(isSol) { + if(isSol && !player.onGround) { if(player.getFoodStats().getSaturationLevel() > 0F) player.addExhaustion(4F); else diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index b75df23a1..c3d67154e 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -229,9 +229,9 @@ public class TileMappings { } private static void putMachines() { - //TODO: bring some order into this garbage dump map.put(TileEntityCondenser.class, "tileentity_condenser"); - map.put(TileEntityTowerLarge.class, "tileentity_cooling_tower_larger"); + map.put(TileEntityTowerSmall.class, "tileentity_cooling_tower_small"); + map.put(TileEntityTowerLarge.class, "tileentity_cooling_tower_large"); } private static void putPile() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java index 834eb96bd..548642a58 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java @@ -152,9 +152,7 @@ public class TileEntityMachineMiningDrill extends TileEntityMachineBase implemen ItemStack stack1 = new ItemStack(b1.getItemDropped(meta1, rand, fortune), b1.quantityDropped(meta1, fortune, rand), b1.damageDropped(meta1)); if(i == this.yCoord - 1 && worldObj.getBlock(this.xCoord, i, this.zCoord) != ModBlocks.drill_pipe) { - if(this.isOreo(this.xCoord, i, this.zCoord) && this.hasSpace(stack)) { - //if(stack != null) - //this.addItemToInventory(stack); + if(this.tryDrill(xCoord, i, zCoord) || worldObj.getBlock(xCoord, i, zCoord).isReplaceable(worldObj, xCoord, i, zCoord)) { worldObj.setBlock(this.xCoord, i, this.zCoord, ModBlocks.drill_pipe); break; } else { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java new file mode 100644 index 000000000..a7ea6ec6e --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java @@ -0,0 +1,53 @@ +package com.hbm.tileentity.machine; + +import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.inventory.FluidTank; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityTowerSmall extends TileEntityCondenser { + + public TileEntityTowerSmall() { + tanks = new FluidTank[2]; + tanks[0] = new FluidTank(FluidType.SPENTSTEAM, 1000, 0); + tanks[1] = new FluidTank(FluidType.WATER, 1000, 1); + } + + @Override + public void fillFluidInit(FluidType type) { + + for(int i = 2; i <= 6; i++) { + ForgeDirection dir = ForgeDirection.getOrientation(i); + fillFluid(xCoord + dir.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2, getTact(), type); + } + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 1, + yCoord, + zCoord - 1, + xCoord + 2, + yCoord + 13, + zCoord + 2 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } +} diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_bedrock_oil.png b/src/main/resources/assets/hbm/textures/blocks/ore_bedrock_oil.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4180e6ae352bf9203d1824e9086ca45298d334 GIT binary patch literal 856 zcmV-e1E>6nP)10b0EM4-?$>;@C8a~#39V)^ATBP5ku1aP0xn9zXs467 zGqhHWKOyNZke#ThA+}Znrf47_jU%|rVgf=SAtM$#n#o7!(sa`1CUftdxnHk~+Ti&C zhjX685v5W|*6VftuS_O`X`1}J{1Aa8jzQ5>3|;5i`y*7VRRHq&JYsNgQ08(u3WWl- zS`C0lzb@mr9$^p>h9M7s{OQ!ZSS&I;Jd9;oG@DJt)i*9ntJ$KjuMfvP!bm1@9gouW zQ2>U9hM1a~BA?G=Sr!1MX;S%p1w&O4)6>&(e}A7xE6aRxYXX33wTf-qn5Idq)dFCB zeVr5cB|=G{s~X8<5&%9BUd#tXmqG&N; z6rw3QVHES#7k6oF?;`s9`{iqJ0QK$1_`Xk4Hy9bd&gSMOhcBOD+cv%*aPG``02+-3 z#bOaDIe5d}EAiwaWPTIE#ymh%0YimPkmZQb-x&x-LQ_=y+W;O(hB=6h-0Qw+~LM zZEbAzu5CDP)-z@+zGcyCgKRZwUOP9dV4b(UW!_Wx) z0O!OZb0$OS!_iZKdwYA-YBd_Wb)qOlQ8hYV7m4Jp{M(4$E0?5hsJO1j{rMl5o0}t@ zPGeaXj^kk4Hd6R>I$cu6S$cbW0r>0jpPW6HMqKU7$xm;64#3jV61Hsv&wDU^jUROg0-yPB?z6D4fMr=ceYQ&!gt(rE irm5(rV{L`@bD>Eta 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 Z?W7o~2i;bC{s3)d@O1TaS?83{1OVR+Jb(ZI literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/pattern_drawn.png b/src/main/resources/assets/hbm/textures/items/pattern_drawn.png new file mode 100644 index 0000000000000000000000000000000000000000..ca8a8505a5f013dd950fa67eb5daf7ddb0bc11e5 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4cQK=PU2A8&2gae?JbpTDECxlqH*SEiy0Yxx=1x`;lQ_2U)St>8O# z4>gx?W!T1uI=IY`eLZLQCynUrV9P|?Rso;=ueoz`gB4>=1$Q3@I*Gy4)z4*}Q$iB} D=F3T3 literal 0 HcmV?d00001