Skip to content

Commit

Permalink
*throws 155 pound anvil at you*
Browse files Browse the repository at this point in the history
  • Loading branch information
HbmMods committed Jun 9, 2024
1 parent ca1948f commit da9c44e
Show file tree
Hide file tree
Showing 15 changed files with 1,513 additions and 1,483 deletions.
53 changes: 0 additions & 53 deletions changelog
Original file line number Diff line number Diff line change
@@ -1,53 +0,0 @@
## Added
* Asphalt stairs
* Stairs, but fast
* Slabs too
* More circuits
* Control units and advanced control units are exclusively used for nukes
* CUs and ACUs are quite a bit more expensive than standard circuits and also make use of tantalum capacitors
* Nukes are no longer for people who weasel their way through progression and then get 8 uranium, 2 steel and some duct tape, instead every atomic bomb requires a large electronics production capacity
* WMDs are expensive, who woulda thunk

## Changed
* Wires now use recipe autogen for anvils, meaning that all fine wires are now obtainable via tier 4 anvil
* Changed most nuke recipes
* Most assembler recipes have been de-cluttered, no longer using random extra plates or wires
* Nukes now exclusively use control units or ACUs instead of circuits
* CRTs are now crafted in the crafting table instead of via assembler, making use of vacuum tubes
* Chainlink fences now only create posts on edges or intersections
* The new chainlink fence post block will always create a post, emulating the behavior of the old fences
* Removed gold sands (frees up 2 block IDs)
* There's now two new variants of builder's choice concrete, desert storm (the texture from the launch pad) and bronze plating (the old ICF laser texture)
* Microwaves are no longer electric furnace copies, instead their recipes are restricted to things considered food
* Electric furnaces now cause minor pollution (does not connect to smoke stacks!)
* Increased the arc furnace's liquid buffer to 128 blocks (from 24)
* The arc furnace can now accept more items depending on the speed upgrade, extending all the way to 16 with speed 3 (effective cap might be lower to prevent outputs from exceeding 64 items)
* Due to technical limitations, clicking into a slot once will only place a single item, however after the item is present, the slot's capacity extends to the upgraded size
* This is especially apparent when clicking items into slots by hand, and still noticeable when shift clicking by how the items spread out
* This does not affect automation at all, items will stack up nicely without spreading out unnecessarily
* Reduced arc furnace pollution from 15 to 10 soot per cycle
* The way soot spreads has been changed
* The spreading threshold has been decreased from 15 to 10
* Every update, soot will decrease by regardless of whether it can spread or not (instead of only if it cannot spread)
* Batteries no longer transmit in all directions, instead they transmit to their own power node (since they are also considered cables), eliminating any direction-based bias when transmitting
* The base fuel consumption for the soyuz in cargo mode is now only 5,000mB
* The soyuz' fuel consumption in cargo mode is now limited to its max capacity, meaning it can now fly infinitely far
* Less bullshit mode's simple crafting now extends to the soldering station, all circuits, upgrades and control units are substantially cheaper
* There is now an alternate recipe for standard capacitors, using one aluminium dust for two capacitors (i.e. 4.5 aluminium nuggets, vs the standard 1 niobium nugget)
* Shift-clicking steel grates onto the top/bottom of a block now shifts the grate into that block (if there is space, for example for cables or ducts). The effect is only visual, and the block still occupies the position above the block that the grate has been placed at
* This allows for making pipes with grates over them which are flush with the floor
* The ore acidizer has been remodeled
* The ports are now much simpler, having universale ports for all types instead of ppower/fluid being separated from items
* The ports are now all located at the bottom, making it easier to connect power/fluid
* There are now more ports to choose from
* The machine is now one block shorter
* The ladder is now wider and centered on the side

## Fixed
* Fixed dupe regarding conveyor grabbers
* Fixed soldering stations not saving progress or their fluid tanks
* Fixed a bug where missile debris would always spawn with a stack size of 1 and a meta of 0
* Fixed FM radios disassembling into incorrect parts
* Fixed 256k tanks yielding too much steel when shredded
* Fixed the wire mold only creating 1 wire instead of the intended 8 due to the changes to the wire oredict
* Fixed potential crashes in the arc welder and soldering station GUIs
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
mod_version=1.0.27
# Empty build number makes a release type
mod_build_number=4980
mod_build_number=4991

credits=HbMinecraft,\
\ rodolphito (explosion algorithms),\
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/hbm/blocks/network/CraneGrabber.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public void registerBlockIcons(IIconRegister iconRegister) {
this.iconDirectionalSideDownTurnRight = iconRegister.registerIcon(RefStrings.MODID + ":crane_grabber_side_down_turn_right");
}

@Override
@Override
public void breakBlock(World world, int x, int y, int z, Block block, int meta) {
this.dropContents(world, x, y, z, block, meta, 9, 11);
super.breakBlock(world, x, y, z, block, meta);
Expand Down
8 changes: 6 additions & 2 deletions src/main/java/com/hbm/blocks/network/RadioTorchBase.java
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ public void onNeighborBlockChange(World world, int x, int y, int z, Block block)
ForgeDirection dir = ForgeDirection.getOrientation(meta);
Block b = world.getBlock(x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ);

if(!b.isSideSolid(world, x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ, dir) && !b.hasComparatorInputOverride() && (!b.renderAsNormalBlock() || b.isAir(world, x, y, z))) {
if(!canBlockStay(world, x, y, z, dir, b)) {
this.dropBlockAsItem(world, x, y, z, meta, 0);
world.setBlockToAir(x, y, z);
}
Expand All @@ -104,7 +104,11 @@ public boolean canPlaceBlockOnSide(World world, int x, int y, int z, int side) {
ForgeDirection dir = ForgeDirection.getOrientation(side);
Block b = world.getBlock(x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ);

return b.isSideSolid(world, x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ, dir) || b.hasComparatorInputOverride() || (b.renderAsNormalBlock() && !b.isAir(world, x, y, z));
return canBlockStay(world, x, y, z, dir, b);
}

public boolean canBlockStay(World world, int x, int y, int z, ForgeDirection dir, Block b) {
return b.isSideSolid(world, x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ, dir) || b.hasComparatorInputOverride() || b.canProvidePower() || (b.renderAsNormalBlock() && !b.isAir(world, x, y, z));
}

@Override
Expand Down
11 changes: 11 additions & 0 deletions src/main/java/com/hbm/blocks/network/RadioTorchCounter.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,22 @@
import com.hbm.inventory.gui.GUICounterTorch;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.network.TileEntityRadioTorchCounter;
import com.hbm.util.Compat;
import com.hbm.util.I18nUtil;

import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre;
import net.minecraftforge.common.util.ForgeDirection;

public class RadioTorchCounter extends RadioTorchBase {

Expand All @@ -38,6 +42,13 @@ public TileEntity createNewTileEntity(World world, int meta) {
return new TileEntityRadioTorchCounter();
}

@Override
public boolean canBlockStay(World world, int x, int y, int z, ForgeDirection dir, Block b) {
if(b.isSideSolid(world, x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ, dir) || (b.renderAsNormalBlock() && !b.isAir(world, x, y, z))) return true;
TileEntity te = Compat.getTileStandard(world, x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ);
return te instanceof IInventory;
}

@Override
public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) {
return new ContainerCounterTorch(player.inventory, (TileEntityRadioTorchCounter) world.getTileEntity(x, y, z));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@ public void registerDefaults() {
new OreDictStack(F.dust(), 8),
new ComparableStack(ModItems.nugget_bismuth, 4))
.inputFluids(new FluidStack(Fluids.PEROXIDE, 1000, 5))
.outputFluids(new FluidStack(Fluids.DEATH, 1000, GeneralConfig.enable528 ? 5 : 0)));
.outputFluids(new FluidStack(Fluids.DEATH, 1000, 0)));
//one bucket of ethanol equals 275_000 TU using the diesel baseline0
//the coal baseline is 400_000 per piece
//if we assume a burntime of 1.5 ops (300 ticks) for sugar at 100 TU/t that would equal a total of 30_000 TU
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/com/hbm/items/machine/ItemArcElectrode.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ public double getDurabilityForDisplay(ItemStack stack) {

public static enum EnumElectrodeType {
GRAPHITE( 10),
LANTHANIUM( 50),
DESH( 250),
SATURNITE( 500);
LANTHANIUM( 100),
DESH( 500),
SATURNITE( 1500);

public int durability;

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/hbm/lib/RefStrings.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
public class RefStrings {
public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (4980)";
public static final String VERSION = "1.0.27 BETA (4991)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version
Expand Down
13 changes: 12 additions & 1 deletion src/main/java/com/hbm/render/tileentity/RenderCrystallizer.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.hbm.render.item.ItemRenderBase;
import com.hbm.tileentity.machine.TileEntityMachineCrystallizer;

import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
Expand All @@ -20,7 +21,7 @@ public void renderTileEntityAt(TileEntity te, double x, double y, double z, floa
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_CULL_FACE);

switch(te.getBlockMetadata() - 10) {
case 2: GL11.glRotatef(90, 0F, 1F, 0F); break;
Expand All @@ -39,6 +40,16 @@ public void renderTileEntityAt(TileEntity te, double x, double y, double z, floa
GL11.glRotatef(crys.prevAngle + (crys.angle - crys.prevAngle) * inter, 0, 1, 0);
ResourceManager.crystallizer.renderPart("Spinner");
GL11.glPopMatrix();

if(crys.prevAngle != crys.angle) {
GL11.glEnable(GL11.GL_BLEND);
GL11.glDepthMask(false);
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
bindTexture(crys.tank.getTankType().getTexture());
ResourceManager.crystallizer.renderPart("Fluid");
GL11.glDepthMask(true);
GL11.glDisable(GL11.GL_BLEND);
}

GL11.glShadeModel(GL11.GL_FLAT);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ public void updateEntity() {
}
}

if((lid == 1 || lid == 0) && lid != prevLid) {
if((lid == 1 || lid == 0) && lid != prevLid && !(this.prevLid == 0 && this.lid == 1)) {
MainRegistry.proxy.playSoundClient(xCoord, yCoord, zCoord, "hbm:door.wgh_stop", this.getVolume(1), 1F);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import java.util.List;

import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.extprop.HbmPlayerProps;
import com.hbm.inventory.UpgradeManager;
Expand All @@ -15,6 +14,7 @@
import com.hbm.items.machine.ItemMachineUpgrade;
import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
import com.hbm.lib.Library;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.IGUIProvider;
import com.hbm.tileentity.IUpgradeInfoProvider;
import com.hbm.tileentity.TileEntityMachineBase;
Expand Down Expand Up @@ -45,6 +45,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
public static final int demand = 1000;
public short progress;
public short duration = 600;
public boolean isOn;

public float angle;
public float prevAngle;
Expand All @@ -66,6 +67,8 @@ public void updateEntity() {

if(!worldObj.isRemote) {

this.isOn = false;

this.updateConnections();

power = Library.chargeTEFromItems(slots, 1, power, maxPower);
Expand All @@ -80,6 +83,7 @@ public void updateEntity() {

progress++;
power -= getPowerRequired();
isOn = true;

if(progress > getDuration()) {
progress = 0;
Expand All @@ -97,19 +101,24 @@ public void updateEntity() {
data.setShort("progress", progress);
data.setShort("duration", getDuration());
data.setLong("power", power);
data.setBoolean("isOn", isOn);
tank.writeToNBT(data, "t");
this.networkPack(data, 25);
} else {

prevAngle = angle;

if(progress > 0) {
if(isOn) {
angle += 5F * this.getCycleCount();

if(angle >= 360) {
angle -= 360;
prevAngle -= 360;
}

if(worldObj.rand.nextInt(20) == 0 && MainRegistry.proxy.me().getDistance(xCoord + 0.5, yCoord + 6, zCoord + 0.5) < 50) {
worldObj.spawnParticle("cloud", xCoord + worldObj.rand.nextDouble(), yCoord + 6.5D, zCoord + worldObj.rand.nextDouble(), 0.0, 0.1, 0.0);
}
}
}

Expand All @@ -135,7 +144,7 @@ protected DirPos[] getConPos() {

return new DirPos[] {
new DirPos(xCoord + 2, yCoord, zCoord + 1, Library.POS_X),
new DirPos(xCoord + 2, yCoord, zCoord - 2, Library.POS_X),
new DirPos(xCoord + 2, yCoord, zCoord - 1, Library.POS_X),
new DirPos(xCoord - 2, yCoord, zCoord + 1, Library.NEG_X),
new DirPos(xCoord - 2, yCoord, zCoord - 1, Library.NEG_X),
new DirPos(xCoord + 1, yCoord, zCoord + 2, Library.POS_Z),
Expand All @@ -151,6 +160,7 @@ public void networkUnpack(NBTTagCompound data) {
this.power = data.getLong("power");
this.progress = data.getShort("progress");
this.duration = data.getShort("duration");
this.isOn = data.getBoolean("isOn");
this.tank.readFromNBT(data, "t");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,19 @@ public void updateEntity() {
}
}

if(autoMode) { //power production depending on power requirement

//scales the slider proportionally to the power gauge
int powerSliderTarget = 60 - (int) (60 * power / maxPower);

if(powerSliderTarget > powerSliderPos) { //makes the auto slider slide instead of snapping into position
powerSliderPos++;
}
else if(powerSliderTarget < powerSliderPos) {
powerSliderPos--;
}
}

switch(state) { //what to do when turbine offline, starting up and online
case 0:
shutdown();
Expand All @@ -115,19 +128,6 @@ public void updateEntity() {
break;
}

if(autoMode) { //power production depending on power requirement

//scales the slider proportionally to the power gauge
int powerSliderTarget = 60 - (int) (60 * power / maxPower);

if(powerSliderTarget > powerSliderPos) { //makes the auto slider slide instead of snapping into position
powerSliderPos++;
}
else if(powerSliderTarget < powerSliderPos) {
powerSliderPos--;
}
}

ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset);
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/hbm/world/dungeon/DesertAtom001.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class DesertAtom001 extends WorldGenerator
{
Block Block2 = ModBlocks.yellow_barrel;
Block Block3 = ModBlocks.reinforced_sand;
Block Block4 = ModBlocks.nuke_man;
Block Block4 = ModBlocks.crashed_balefire;
Block Block5 = ModBlocks.deco_steel;
Block Block6 = ModBlocks.brick_light;
Block Block7 = ModBlocks.deco_tungsten;
Expand Down
Loading

0 comments on commit da9c44e

Please sign in to comment.