From fbd9347fb8928732bd24aad982fd10369495a648 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 15 Jan 2024 09:37:41 +0100 Subject: [PATCH] Fixes --- changelog | 41 +-- .../blocks/machine/MachineStrandCaster.java | 327 +++++++++--------- src/main/java/com/hbm/config/WorldConfig.java | 2 + .../hbm/entity/effect/EntityFalloutRain.java | 3 + src/main/java/com/hbm/main/MainRegistry.java | 2 +- .../machine/TileEntityMachineRadarNT.java | 12 +- .../TileEntityMachineStrandCaster.java | 13 +- .../blocks/reactor_control_side_alt.png | Bin 497 -> 0 bytes .../blocks/reactor_control_top_alt.png | Bin 515 -> 0 bytes .../blocks/reactor_element_side_alt.png | Bin 566 -> 0 bytes .../blocks/reactor_element_top_alt.png | Bin 492 -> 0 bytes .../hbm/textures/blocks/reactor_side_alt.png | Bin 466 -> 0 bytes .../hbm/textures/blocks/reactor_top_alt.png | Bin 492 -> 0 bytes 13 files changed, 179 insertions(+), 221 deletions(-) delete mode 100644 src/main/resources/assets/hbm/textures/blocks/reactor_control_side_alt.png delete mode 100644 src/main/resources/assets/hbm/textures/blocks/reactor_control_top_alt.png delete mode 100644 src/main/resources/assets/hbm/textures/blocks/reactor_element_side_alt.png delete mode 100644 src/main/resources/assets/hbm/textures/blocks/reactor_element_top_alt.png delete mode 100644 src/main/resources/assets/hbm/textures/blocks/reactor_side_alt.png delete mode 100644 src/main/resources/assets/hbm/textures/blocks/reactor_top_alt.png diff --git a/changelog b/changelog index beb97cf8c..11d3c4adf 100644 --- a/changelog +++ b/changelog @@ -1,39 +1,8 @@ -## Added -* Large Radar - * A giant version of the radar with 3x the scan range -* Strand caster - * Watercooled foundry basin that processes large amounts of material at once - ## Changed -* Nuclear craters have been reworked - * The fallout effect no longer creates dead grass, instead it converts the area into three new biomes, the outer crater, crater and inner crater - * The entire crater is now slaked sellafite which now has texture variance to look more like debris, as well as getting darker towards the center - * The biomes being overridden means that nukes are now a solution to thaumcraft taint. Yay! - * There are now new ore variants for the block conversions which match the surrounding sellafite - * Beryllium ore now has a 100% chance of being converted into emerald -* The watz now cools up to 20% of its current heat level instead of 10%, making reactors a lot cooler and therefore react faster, which means more energy and faster depletion rates - * Mud production rates have been halved, to prevent currently working setups from exploding instantly - * This is your reminder that you can achieve more power, mud and depletion by building larger watz powerplants, i.e. stacking more watz segments on top of each other. Your tiny poo reactors make me sick. -* Watz pellets now have a 50% smaller yield, halving the expected time until depletion -* Adjusted the nuclear flash's intensity, the flash will now deal less and less radiation the longer it goes on -* The nuclear flash now bypasses radiation resistance, being only affected by blocks and distance -* Mushroom clouds' initial scale is now based on the total scale instead of all spawning roughly at the same size, causing fireballs to be comically small for huge bombs -* Removed the old mining drill, combustion generator, old watz core, structure marker, all old large reactor parts and CMB furnace for good -* Chemical plants will now eject all their outputs within a single tick if possible, increasing the throughput of fast recipes with many outputs, like asphalt -* Hitting CTRL + ALT when hovering over an item now displays a preview of that item. Useful if you want to get authentic renders for a wiki, or just like staring at things. -* 256k tanks and BAT9000s can now output comparator signals from their fluid ports -* Trenchmaster general damage multiplier has been halved, making it twice as strong -* Updated generation rules for layers like schist and hematite, they will now only replace things tagged as stone, just like most ores -* Mushroom clouds now have two additional outer condensation rings, those are not entirely finished and are still subject to change -* Small radars are now a lot cheaper -* Increased crucible pouring speed by 50% +* there is now a config option to disable the biome change caused by fallout. The config will also determine whether the biomes are registered at all, which prevents them from conflicting with other mods' biomes when disabled. ## Fixed -* Fixed a rare crash caused by radars force-loading chunks conflicting with certain mods' chunk loading changes -* Fixed PWR fuel rods not having any radiation value assigned to them -* Fixed trenchmaster helmet not having gas mask protection -* Fixed large thermobaric artillery rocket still using the wrong slag block -* Fixed some of the assembly templates having broken names due to using the wrong way of translating the output -* Fixed the soyuz launcher's NEI construction recipe showing the wrong amount of blocks -* Fixed molten meteorite cobble dropping itself in addition to turning into lava -* Fixed S~Cola RAD not being radish-colored +* Fixed trenchmaster armor not doing most of the armor calculation, making it the worst armor +* Fixed glowing mushrooms not being able to be bonemealed +* Fixed strand caster having one port that does not work with certain rotations +* Fixed fallout being able to replace bedrock diff --git a/src/main/java/com/hbm/blocks/machine/MachineStrandCaster.java b/src/main/java/com/hbm/blocks/machine/MachineStrandCaster.java index 9b2c6ced5..4a33bff5f 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineStrandCaster.java +++ b/src/main/java/com/hbm/blocks/machine/MachineStrandCaster.java @@ -10,12 +10,8 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMold; import com.hbm.items.machine.ItemScraps; import com.hbm.tileentity.TileEntityProxyCombo; -import com.hbm.tileentity.machine.TileEntityCrucible; -import com.hbm.tileentity.machine.TileEntityFoundryCastingBase; import com.hbm.tileentity.machine.TileEntityMachineStrandCaster; import com.hbm.util.I18nUtil; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.item.EntityItem; @@ -30,203 +26,204 @@ import net.minecraftforge.common.util.ForgeDirection; import java.util.ArrayList; import java.util.List; -import java.util.Random; public class MachineStrandCaster extends BlockDummyable implements ICrucibleAcceptor, ILookOverlay, IToolable { - public MachineStrandCaster() { - super(Material.iron); - } + public MachineStrandCaster() { + super(Material.iron); + } - //reminder, if the machine is a solid brick, get dimensions will already handle it without the need to use fillSapce - //the order is up, down, forward, backward, left, right - //x is for left(-)/right(+), z is for forward(+)/backward(-), y you already know - @Override - public int[] getDimensions() { - return new int[]{0, 0, 6, 0, 1, 0}; - } + // reminder, if the machine is a solid brick, get dimensions will already + // handle it without the need to use fillSapce + // the order is up, down, forward, backward, left, right + // x is for left(-)/right(+), z is for forward(+)/backward(-), y you already + // know + @Override + public int[] getDimensions() { + return new int[] { 0, 0, 6, 0, 1, 0 }; + } - @Override - public int getOffset() { - return 0; - } + @Override + public int getOffset() { + return 0; + } - @Override - public TileEntity createNewTileEntity(World world, int meta) { - if (meta >= 12) return new TileEntityMachineStrandCaster(); - if (meta >= 6) return new TileEntityProxyCombo(true, false, true).moltenMetal(); - return null; - } + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineStrandCaster(); + if(meta >= 6) return new TileEntityProxyCombo(true, false, true).moltenMetal(); + return null; + } - @Override - public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { - super.fillSpace(world, x, y, z, dir, o); + @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 += dir.offsetX * o; - z += dir.offsetZ * o; + x += dir.offsetX * o; + z += dir.offsetZ * o; - ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - //up,down;forward,backward;left,right - MultiblockHandlerXR.fillSpace(world, x, y, z, new int[]{2, 0, 1, 0, 1, 0}, this, dir); - //Fluid ports - this.makeExtra(world, x + rot.offsetX - dir.offsetX, y, z + rot.offsetZ - dir.offsetZ); - this.makeExtra(world, x - dir.offsetX, y, z - dir.offsetZ); - this.makeExtra(world, x - dir.offsetX * 5, y, z - dir.offsetZ * 5); - this.makeExtra(world, x + rot.offsetX - dir.offsetX * 5, y, z + rot.offsetZ - dir.offsetZ * 5); - //Molten slop ports - this.makeExtra(world, x + rot.offsetX - dir.offsetX, y + 2, z + rot.offsetZ - dir.offsetZ); - this.makeExtra(world, x - dir.offsetX, y + 2, z - dir.offsetZ); - this.makeExtra(world, x + rot.offsetX, y + 2, z + rot.offsetZ); - this.makeExtra(world, x, y + 2, z); - } + // up,down;forward,backward;left,right + MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] { 2, 0, 1, 0, 1, 0 }, this, dir); + // Fluid ports + this.makeExtra(world, x + rot.offsetX - dir.offsetX, y, z + rot.offsetZ - dir.offsetZ); + this.makeExtra(world, x - dir.offsetX, y, z - dir.offsetZ); + this.makeExtra(world, x - dir.offsetX * 5, y, z - dir.offsetZ * 5); + this.makeExtra(world, x + rot.offsetX - dir.offsetX * 5, y, z + rot.offsetZ - dir.offsetZ * 5); + // Molten slop ports + this.makeExtra(world, x + rot.offsetX - dir.offsetX, y + 2, z + rot.offsetZ - dir.offsetZ); + this.makeExtra(world, x - dir.offsetX, y + 2, z - dir.offsetZ); + this.makeExtra(world, x + rot.offsetX, y + 2, z + rot.offsetZ); + this.makeExtra(world, x, y + 2, z); + } - @Override - public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, Mats.MaterialStack stack) { + @Override + public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, Mats.MaterialStack stack) { - TileEntity poured = world.getTileEntity(x, y, z); - if (!(poured instanceof TileEntityProxyCombo && ((TileEntityProxyCombo) poured).moltenMetal)) return false; + TileEntity poured = world.getTileEntity(x, y, z); + if(!(poured instanceof TileEntityProxyCombo && ((TileEntityProxyCombo) poured).moltenMetal)) return false; - int[] pos = this.findCore(world, x, y, z); - if (pos == null) return false; - TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); - if (!(tile instanceof TileEntityMachineStrandCaster)) return false; - TileEntityMachineStrandCaster caster = (TileEntityMachineStrandCaster) tile; + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return false; + TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); + if(!(tile instanceof TileEntityMachineStrandCaster)) return false; + TileEntityMachineStrandCaster caster = (TileEntityMachineStrandCaster) tile; - return caster.canAcceptPartialPour(world, x, y, z, dX, dY, dZ, side, stack); - } + return caster.canAcceptPartialPour(world, x, y, z, dX, dY, dZ, side, stack); + } - @Override - public Mats.MaterialStack pour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, Mats.MaterialStack stack) { + @Override + public Mats.MaterialStack pour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, Mats.MaterialStack stack) { - TileEntity poured = world.getTileEntity(x, y, z); - if (!(poured instanceof TileEntityProxyCombo && ((TileEntityProxyCombo) poured).moltenMetal)) return stack; + TileEntity poured = world.getTileEntity(x, y, z); + if(!(poured instanceof TileEntityProxyCombo && ((TileEntityProxyCombo) poured).moltenMetal)) return stack; - int[] pos = this.findCore(world, x, y, z); - if (pos == null) return stack; - TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); - if (!(tile instanceof TileEntityMachineStrandCaster)) return stack; - TileEntityMachineStrandCaster caster = (TileEntityMachineStrandCaster) tile; + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return stack; + TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); + if(!(tile instanceof TileEntityMachineStrandCaster)) return stack; + TileEntityMachineStrandCaster caster = (TileEntityMachineStrandCaster) tile; - return caster.pour(world, x, y, z, dX, dY, dZ, side, stack); - } + return caster.pour(world, x, y, z, dX, dY, dZ, side, stack); + } - @Override - public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { - return false; - } + @Override + public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { + return false; + } - @Override - public Mats.MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { - return null; - } + @Override + public Mats.MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { + return null; + } - @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; - } + @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; + } - int[] coords = findCore(world, x, y, z); - TileEntityMachineStrandCaster cast = (TileEntityMachineStrandCaster) world.getTileEntity(coords[0], coords[1], coords[2]); - if (cast != null) { - //insert mold - if (player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.mold && cast.slots[0] == null) { - cast.slots[0] = player.getHeldItem().copy(); - cast.slots[0].stackSize = 1; - player.getHeldItem().stackSize--; - world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F); - cast.markDirty(); - return true; + int[] coords = findCore(world, x, y, z); + TileEntityMachineStrandCaster cast = (TileEntityMachineStrandCaster) world.getTileEntity(coords[0], coords[1], coords[2]); + if(cast != null) { + // insert mold + if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.mold && cast.slots[0] == null) { + cast.slots[0] = player.getHeldItem().copy(); + cast.slots[0].stackSize = 1; + player.getHeldItem().stackSize--; + world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F); + cast.markDirty(); + return true; - } + } - if (player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemTool && player.getHeldItem().getItem().getToolClasses(player.getHeldItem()).contains("shovel")) { - if (cast.amount > 0) { - ItemStack scrap = ItemScraps.create(new Mats.MaterialStack(cast.type, cast.amount)); - if (!player.inventory.addItemStackToInventory(scrap)) { - EntityItem item = new EntityItem(world, x + 0.5, y + this.maxY, z + 0.5, scrap); - world.spawnEntityInWorld(item); - } else { - player.inventoryContainer.detectAndSendChanges(); - } - cast.amount = 0; - cast.type = null; - cast.markDirty(); - } - return true; - } - } - return this.standardOpenBehavior(world, x, y, z, player, 0); - } + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemTool && player.getHeldItem().getItem().getToolClasses(player.getHeldItem()).contains("shovel")) { + if(cast.amount > 0) { + ItemStack scrap = ItemScraps.create(new Mats.MaterialStack(cast.type, cast.amount)); + if(!player.inventory.addItemStackToInventory(scrap)) { + EntityItem item = new EntityItem(world, x + 0.5, y + this.maxY, z + 0.5, scrap); + world.spawnEntityInWorld(item); + } else { + player.inventoryContainer.detectAndSendChanges(); + } + cast.amount = 0; + cast.type = null; + cast.markDirty(); + } + return true; + } + } + return this.standardOpenBehavior(world, x, y, z, player, 0); + } - @Override - public void breakBlock(World world, int x, int y, int z, Block b, int i) { + @Override + public void breakBlock(World world, int x, int y, int z, Block b, int i) { - TileEntity te = world.getTileEntity(x, y, z); - if (te instanceof TileEntityMachineStrandCaster) { - TileEntityMachineStrandCaster cast = (TileEntityMachineStrandCaster) te; + TileEntity te = world.getTileEntity(x, y, z); + if(te instanceof TileEntityMachineStrandCaster) { + TileEntityMachineStrandCaster cast = (TileEntityMachineStrandCaster) te; - if (cast.amount > 0) { - ItemStack scrap = ItemScraps.create(new Mats.MaterialStack(cast.type, cast.amount)); - EntityItem item = new EntityItem(world, x + 0.5, y + this.maxY, z + 0.5, scrap); - world.spawnEntityInWorld(item); - cast.amount = 0; //just for safety - } - } - super.breakBlock(world, x, y, z, b, i); - } + if(cast.amount > 0) { + ItemStack scrap = ItemScraps.create(new Mats.MaterialStack(cast.type, cast.amount)); + EntityItem item = new EntityItem(world, x + 0.5, y + this.maxY, z + 0.5, scrap); + world.spawnEntityInWorld(item); + cast.amount = 0; // just for safety + } + } + super.breakBlock(world, x, y, z, b, i); + } - public void printHook(RenderGameOverlayEvent.Pre event, World world, int x, int y, int z) { - int[] coords = findCore(world, x, y, z); - if (coords == null) return; + public void printHook(RenderGameOverlayEvent.Pre event, World world, int x, int y, int z) { + int[] coords = findCore(world, x, y, z); + if(coords == null) + return; - TileEntityMachineStrandCaster cast = (TileEntityMachineStrandCaster) world.getTileEntity(coords[0], coords[1], coords[2]); + TileEntityMachineStrandCaster cast = (TileEntityMachineStrandCaster) world.getTileEntity(coords[0], coords[1], coords[2]); - List text = new ArrayList(); - if (cast != null) { - if (cast.slots[0] == null) { - text.add(EnumChatFormatting.RED + I18nUtil.resolveKey("foundry.noCast")); - } else if (cast.slots[0].getItem() == ModItems.mold) { - ItemMold.Mold mold = ((ItemMold) cast.slots[0].getItem()).getMold(cast.slots[0]); - text.add(EnumChatFormatting.BLUE + mold.getTitle()); - } - } - ILookOverlay.printGeneric(event, I18nUtil.resolveKey(this.getUnlocalizedName() + ".name"), 0xFF4000, 0x401000, text); - } + List text = new ArrayList(); + if(cast != null) { + if(cast.slots[0] == null) { + text.add(EnumChatFormatting.RED + I18nUtil.resolveKey("foundry.noCast")); + } else if(cast.slots[0].getItem() == ModItems.mold) { + ItemMold.Mold mold = ((ItemMold) cast.slots[0].getItem()).getMold(cast.slots[0]); + text.add(EnumChatFormatting.BLUE + mold.getTitle()); + } + } + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(this.getUnlocalizedName() + ".name"), 0xFF4000, 0x401000, text); + } - @Override - protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { - x += dir.offsetX * o; - z += dir.offsetZ * o; + @Override + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { + x += dir.offsetX * o; + z += dir.offsetZ * o; - if (!MultiblockHandlerXR.checkSpace(world, x, y, z, getDimensions(), x, y, z, dir)) return false; - return MultiblockHandlerXR.checkSpace(world, x, y, z, new int[]{2, 0, 1, 0, 1, 0}, x, y, z, dir); - } + if(!MultiblockHandlerXR.checkSpace(world, x, y, z, getDimensions(), x, y, z, dir)) + return false; + return MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] { 2, 0, 1, 0, 1, 0 }, x, y, z, dir); + } - @Override - public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { - if (tool != ToolType.SCREWDRIVER) - return false; + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + if(tool != ToolType.SCREWDRIVER) + return false; - int[] coords = findCore(world, x, y, z); - TileEntityMachineStrandCaster cast = (TileEntityMachineStrandCaster) world.getTileEntity(coords[0], coords[1], coords[2]); + int[] coords = findCore(world, x, y, z); + TileEntityMachineStrandCaster cast = (TileEntityMachineStrandCaster) world.getTileEntity(coords[0], coords[1], coords[2]); - if (cast.slots[0] == null) - return false; + if(cast.slots[0] == null) + return false; - if (!player.inventory.addItemStackToInventory(cast.slots[0].copy())) { - EntityItem item = new EntityItem(world, x + 0.5, y + this.maxY, z + 0.5, cast.slots[0].copy()); - world.spawnEntityInWorld(item); - } else { - player.inventoryContainer.detectAndSendChanges(); - } + if(!player.inventory.addItemStackToInventory(cast.slots[0].copy())) { + EntityItem item = new EntityItem(world, x + 0.5, y + this.maxY, z + 0.5, cast.slots[0].copy()); + world.spawnEntityInWorld(item); + } else { + player.inventoryContainer.detectAndSendChanges(); + } - cast.markDirty(); + cast.slots[0] = null; + cast.markDirty(); - cast.slots[0] = null; - - return true; - } + return true; + } } - diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index 801563946..227010114 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -108,6 +108,7 @@ public class WorldConfig { public static int meteorShowerChance = 20 * 60 * 5; public static int meteorShowerDuration = 6000; + public static boolean enableCraterBiomes = true; public static int craterBiomeId = 80; public static int craterBiomeInnerId = 81; public static int craterBiomeOuterId = 82; @@ -227,6 +228,7 @@ public class WorldConfig { meteorShowerDuration = CommonConfig.createConfigInt(config, CATEGORY_METEOR, "5.05_meteorShowerDuration", "Max duration of meteor shower in ticks", 20 * 60 * 30); final String CATEGORY_BIOMES = CommonConfig.CATEGORY_BIOMES; + enableCraterBiomes = CommonConfig.createConfigBool(config, CATEGORY_BIOMES, "17.B_toggle", "Enables the biome change caused by nuclear explosions", true); craterBiomeId = CommonConfig.createConfigInt(config, CATEGORY_BIOMES, "17.B00_craterBiomeId", "The numeric ID for the crater biome", 80); craterBiomeInnerId = CommonConfig.createConfigInt(config, CATEGORY_BIOMES, "17.B01_craterBiomeInnerId", "The numeric ID for the inner crater biome", 81); craterBiomeOuterId = CommonConfig.createConfigInt(config, CATEGORY_BIOMES, "17.B02_craterBiomeOuterId", "The numeric ID for the outer crater biome", 82); diff --git a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java index bcc6cd6b3..2f59a0408 100644 --- a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java +++ b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java @@ -4,6 +4,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.config.BombConfig; import com.hbm.config.FalloutConfigJSON; import com.hbm.config.FalloutConfigJSON.FalloutEntry; +import com.hbm.config.WorldConfig; import com.hbm.entity.item.EntityFallingBlockNT; import com.hbm.saveddata.AuxSavedData; import com.hbm.world.WorldUtil; @@ -114,6 +115,7 @@ public class EntityFalloutRain extends Entity { } public static BiomeGenBase getBiomeChange(double dist, int scale) { + if(!WorldConfig.enableCraterBiomes) return null; if(scale >= 150 && dist < 15) return BiomeGenCraterBase.craterInnerBiome; if(scale >= 100 && dist < 55) return BiomeGenCraterBase.craterBiome; if(scale >= 25) return BiomeGenCraterBase.craterOuterBiome; @@ -160,6 +162,7 @@ public class EntityFalloutRain extends Entity { Block b = worldObj.getBlock(x, y, z); if(b.getMaterial() == Material.air) continue; + if(b == Blocks.bedrock) return; Block ab = worldObj.getBlock(x, y + 1, z); int meta = worldObj.getBlockMetadata(x, y, z); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index b02fb3722..5809ea4ee 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -295,7 +295,7 @@ public class MainRegistry { OreDictManager.registerGroups(); //important to run first OreDictManager.registerOres(); - BiomeGenCraterBase.initDictionary(); + if(WorldConfig.enableCraterBiomes) BiomeGenCraterBase.initDictionary(); Library.superuser.add("192af5d7-ed0f-48d8-bd89-9d41af8524f8"); Library.superuser.add("5aee1e3d-3767-4987-a222-e7ce1fbdf88e"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java index 5d04f2aa6..ab8f13643 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java @@ -8,7 +8,6 @@ import java.util.function.Function; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.blocks.ModBlocks; -import com.hbm.config.WeaponConfig; import com.hbm.extprop.HbmLivingProps; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.container.ContainerMachineRadarNT; @@ -19,11 +18,8 @@ import com.hbm.items.ModItems; import com.hbm.items.tool.ItemCoordinateBase; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; import com.hbm.saveddata.SatelliteSavedData; import com.hbm.saveddata.satellites.Satellite; -import com.hbm.saveddata.satellites.Satellite.Interfaces; import com.hbm.saveddata.satellites.SatelliteHorizons; import com.hbm.saveddata.satellites.SatelliteLaser; import com.hbm.tileentity.IConfigurableMachine; @@ -40,12 +36,10 @@ import api.hbm.entity.IRadarDetectable; import api.hbm.entity.IRadarDetectableNT; import api.hbm.entity.IRadarDetectableNT.RadarScanParams; import api.hbm.entity.RadarEntry; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; -import net.minecraft.block.Block; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -59,7 +53,6 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.WorldServer; -import net.minecraftforge.common.util.ForgeDirection; /** * Now with SmЯt™ lag-free entity detection! (patent pending) @@ -462,12 +455,9 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I int z = data.getInteger("launchPosZ"); int y = 60; //one day I will make radars transmit Y coordinate as well and you will be butchered alhamdulila worldObj.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); - sat.onCoordAction(world,player,x,y,z); + sat.onCoordAction(world, player, x, y, z); } - } - - } if(link != null && link.getItem() == ModItems.radar_linker) { BlockPos pos = ItemCoordinateBase.getPosition(link); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java index 8a73e683f..c6dd3bc92 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java @@ -139,10 +139,10 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase ForgeDirection rot = dir.getRotation(ForgeDirection.UP); return new DirPos[] { - new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ, rot), - new DirPos(xCoord - rot.offsetX - dir.offsetX, yCoord, zCoord - rot.offsetZ - dir.offsetZ, rot.getOpposite()), + new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ, rot), + new DirPos(xCoord - rot.offsetX - dir.offsetX, yCoord, zCoord - rot.offsetZ - dir.offsetZ, rot.getOpposite()), new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX * 5, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ * 5, rot), - new DirPos(xCoord - rot.offsetX - dir.offsetX * 5, yCoord, zCoord - rot.offsetZ + dir.offsetZ * 5, rot.getOpposite()) + new DirPos(xCoord - rot.offsetX - dir.offsetX * 5, yCoord, zCoord - rot.offsetZ - dir.offsetZ * 5, rot.getOpposite()) }; } @@ -192,8 +192,7 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase @Override public boolean standardCheck(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { - if(this.type != null && this.type != stack.material) - return false; + if(this.type != null && this.type != stack.material) return false; return !(this.amount >= this.getCapacity() || getInstalledMold() == null); } @@ -210,9 +209,7 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase private void updateConnections() { for(DirPos pos : getFluidConPos()) { this.trySubscribe(water.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - } - for(DirPos pos : getFluidConPos()) { - sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } diff --git a/src/main/resources/assets/hbm/textures/blocks/reactor_control_side_alt.png b/src/main/resources/assets/hbm/textures/blocks/reactor_control_side_alt.png deleted file mode 100644 index 20d8225885dcf020db53a665379a3aee60a9c819..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 497 zcmVJktEXW+ZmIU3AVNgrF=-%CbaCi4cMqBPoOsSZfhN+%c(?V!Pb} zP!t7|$>eVH^?K#2I2;a0?>)mX@bvVH5CV^n-*UqLFlmgT?|YO|7-MkG<>bV?_gPJ1 zr_%{*EmCVu(=@!jy#UZO4MkB9W8`@J3BYtZ&Fks(0l;#(L~D%%aL(mQecxvVxSxIkeVz?{Ur%W27w0%)IycG7~e#V2nXlRmEnr;duO!6aGe*r6(K7g4P0q*&(FI)55sV0;a?^%mkWL0=iZO~jajmgm~#$mEyZH7V7*>*KA&;U(KJo| z5>raCTCLDpXEvYDsjBK`!CFgQ*H~+@)@B8Xja4NE5MxB96Jv~78bDc=nT^|Vyi(300000NkvXXu0mjfg}~zz diff --git a/src/main/resources/assets/hbm/textures/blocks/reactor_control_top_alt.png b/src/main/resources/assets/hbm/textures/blocks/reactor_control_top_alt.png deleted file mode 100644 index bd53b0db81099c88e421ef9c2ece0cb2e85b2444..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 515 zcmV+e0{s1nP)g2b5QZNocB&{iAj-#KFJ1LeDN_Fh|Nn$k^^il$t`Mz& zLd=jvTD%7~*&x*Yn42Gs?RnpsQM1|1iwH_7j4>Ev&|0IE!h25>N-3OkD5Wl#?)7?P zSq4B51cYIDak;80K8vTPCv;ucoK7e5e1(Yc`1rL=_!p*&qM$5Gno73YMVs8PqFA=o zG;FoXan7NwwG4+t27?ny3B%!#APDf@b9)OQL{S7l6h&AIRkda?7+|eM1Bl3{I{y~> za5!8&;JwEfbHTc1dhbz6Q4|G1k|d1BW0uQ;JYQk0B~4S}IA*cf^8Eb$SLqgOEpKna z%gY*TExle3t(4+$IJD+e)%wcBKQX=E?o&l01IZJTP{h#$6Gxct_Lqu3E3q*wb`zZj%7+zmD zhzJi4Unt8GfcN(!BEsF>2oXW|`+X*p2}R+_vJ7K>w`;ShTf>@RIv&H8#c_=G-s7BO zI!&mmHQn85SU0-Ndw*W0`Fwt5p!dEVsP1+)QsBJKKLH{G`ev1RvJU_N002ovPDHLk FV1l4z<_7=( diff --git a/src/main/resources/assets/hbm/textures/blocks/reactor_element_side_alt.png b/src/main/resources/assets/hbm/textures/blocks/reactor_element_side_alt.png deleted file mode 100644 index b73f785d0a6b12463df1c608f46eccf61c4fd578..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 566 zcmV-60?GY}P)0eUo7J0E)Fqupm zZc!9OX__(^3>XXse13j%a&p4Q#|OjVkSxo{vW!lr!)mocYt7r+8~uKte!owerbGb7 z7_7BeYuRizIOmwnW>i&0RaGpPOSIO65cZ~u%Cf{5!~Oj|+p{r-%galgb2#TXKR>4| zOT713YnjjI=jdLq$JyB#@9*y@rSRUPwWizcvR<#T)-s(=IXXIOx`q%))08Ah z&>})vmRww1v_|vZQ&kn-djPJluMcnG`}@1KgD0@Lqxc_xgkjsoO7-2ynl+dwTKT756wH(b&XOAV+=aWGDf2jbzKueKqciUx=8 z_dDNoI2@3V$Ajnd$?k!hMzmL)<6thIRWiJ}N=Em@ZJvs!DBQW8SIT1%eiq-lx-Fvbi5^WLMB zqG=j{k6tHP*EPl%;yA`y+c(E?+>h|dtE!5ss*p*Nuvjc8%aRZRZQBl#_TKk_{nm6k zMG7IP>-sCI|4H6%H>|asPNz3i>-8Fd^ZESdtyU|v){JJe8T0wPM>U(xP)gyPBg-t+mwHA>Z)V)vu0000N2bZe?^J zG%heMHD!e|WdHyHP)S5VR5(w4l4(!EKoCIt!@!n8%Yv}9YW?8xp@9SlF-o8*w;E6U z)xKpAH}%-OOt#1Fyq#I6(MVkP*z;OJ5I39WT3>WJmqdYiwc4rGB7uLLBuOWed&siK z+3a~fe<8wny#9$&XAXN5-u{DG;QM+w%=-NaxUMUc(I`LQ`+m23o2EBVDk+m;xqQPU zj^ikbwAPEotH72)5QJe!lnfmBTdA=dN-68J89Wld-XsoZ$Khx}Fa;)PfRu+NRq z0Zarkpp@rNU}vb;Pn|fvwqF47NqmHIxlFBONZsg~G;UudGT=b(=#=z>%07*qo IM6N<$f{m%fJOBUy diff --git a/src/main/resources/assets/hbm/textures/blocks/reactor_top_alt.png b/src/main/resources/assets/hbm/textures/blocks/reactor_top_alt.png deleted file mode 100644 index f93b61cb9f29d65c0de8e74f203e31795093c8ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 492 zcmVN2bZe?^J zG%heMHD!e|WdHyHYDq*vR5(v%l5J1IFcgLR!+_1Pjcvl%l=(sB0||i;FcE?97NW+t z_^*AogLR2FC(UWs^*+75CXNfoxpdub5ada6lcu-*{vD%)Z@2rtpGoX7MKM~fp3!FW zy4$_)_aAwlXIU0SQ4j>n<*BYH8W_%~&C5-39EV{j!wON`Ffg8%&SsnGbk%CL9LKq+ zVm{v@OtabaJP$J(J)lM-Dl;69Uul|(1b;YuN;*~981Y>AjFcn^0NU|if~-toxI0PV zApo09o`4Y^W;}jGAPMY@1WB*gqeScV3t|eMZfukM)?i?=>|T@lH@0fDiy#r_Dv?X| zQE`L>gGJJmD3Qo;I(<_mNHEfN`(~w_1g6uuHhDh8fm9*>F<5C`KZM~`i9~S_R3zo4 zFpI@bU_xb`SA(rYA_EM1FKPvtssyAC)(c2w^Kl0|m#S(+zV8d8E*{O$()@>P57Wke3u&Q;9-0000