Skip to content

Commit

Permalink
time to eat 40lbs of dynamite then die
Browse files Browse the repository at this point in the history
  • Loading branch information
HbmMods committed Feb 3, 2025
1 parent 6027ad9 commit a814e58
Show file tree
Hide file tree
Showing 14 changed files with 71 additions and 35 deletions.
35 changes: 13 additions & 22 deletions changelog
Original file line number Diff line number Diff line change
@@ -1,25 +1,16 @@
## Added
* Bauxite processing
* Bauxite is now processed by mixing it with lye, and then fractioning it into sodium aluminate and red mud
* Red mud can now be turned into cement
* Sodium aluminate can either be processed directly into aluminium in a rotary furnace, or turned into alumina with fluorite to be used in an electrolyzer
* Standard aluminium ore is now "aluminium-bearing ore" which drops cryolite, which can either be smelted into aluminium like normal or combination smelted into aluminium and lye
* Particle accelerator
* Should be about finished now
* Recipes should now be doable
* Added recipes to all the components
* Changed the dipole mechanic from a momentum penalty to a power draw penalty for smaller accelerator rings
* Added explicit compressor recipes for perfluoromethyl in order to change the standard compression speed of 100 ticks to 50
* All the parts have tooltips, you'll figure it out

## Changed
* Blast doors will now pulverize any block that gets in their way during closing
* The nuclear and RTG furnaces will be retired, their recipes have been removed but they remain operational for now
* Changed the magnetron recipe to be 3 copper plates and 4 tungsten wires
* Added recipes to some secret ammo types
* Changed PA power draw penalties from x5 to x10
* Particles will now crash instantly if the dipole has both penalties in effect (underspeed + undersized ring)
* This means that undersized accelerators require appropriate tier coils, and overtiered accelerators (i.e. high coils for low velocities) need to meet the size requirement
* Accelerators where both penalties take effect are usually tiny ones with single tier coils (usually the highest tier required) which are lame
* DNT nano suit helmets now require quantum circuits instead of bismuth ones
* Made particle capsules more expensive
* Since invalid recipes no longer void containers, this shouldn't really be a huge deal
* Both quadrupoles and dipoles now have a power cap of 2.5MHE
* RFCs now use 250kHE per pass (instead of 100k)
* Heavy water extraction now has a NEI handler

## Fixed
* Fixed the CCGT's steam output breaking as soon as the steam buffer runs full
* Fixed crash caused by mobs holding belt-fed guns
* Fixed boiler heat input being way too low due to operation order (diffusion was applied AFTER the input heat was capped)
* Fixed stinger playing its lockon sound on the wrong side
* Fixed particle detector not consuming power
* Fixed empty capsules not being recoverable from the color coded slots on the particle source
* Fixed particle detector nor charging from batteries
3 changes: 2 additions & 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=5229
mod_build_number=5230

credits=HbMinecraft,\
\ rodolphito (explosion algorithms),\
Expand Down Expand Up @@ -39,6 +39,7 @@ credits=HbMinecraft,\
\ Nos (models),\
\ Minecreep (models),\
\ 70k (textures, glyphid AI, strand caster, electrolyzer changes, cryolite),\
\ instantnootles (concept artist),\
\ haru315 (spiral point algorithm),\
\ Sten89 (models),\
\ Pixelguru26 (textures),\
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/hbm/crafting/ArmorRecipes.java
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ public static void register() {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.fau_plate, 1), new Object[] { "MCM", "PBP", "PSP", 'M', ModItems.motor_desh, 'C', ModItems.demon_core_closed, 'P', ModItems.plate_armor_fau, 'B', ModItems.starmetal_plate, 'S', ModBlocks.ancient_scrap });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.fau_legs, 1), new Object[] { "MPM", "PBP", "PDP", 'M', ModItems.motor_desh, 'P', ModItems.plate_armor_fau, 'B', ModItems.starmetal_legs, 'D', ModItems.billet_polonium });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.fau_boots, 1), new Object[] { "PDP", "PBP", 'P', ModItems.plate_armor_fau, 'D', ModItems.billet_polonium, 'B', ModItems.starmetal_boots });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_helmet, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_helmet, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BISMOID) });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_helmet, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_helmet, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.QUANTUM) });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_plate, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_plate_jetpack, 'C', ModItems.singularity_spark });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_legs, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_legs, 'C', ModItems.coin_worm });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.dns_boots, 1), new Object[] { "PCP", "PBP", "PSP", 'P', ModItems.plate_armor_dnt, 'S', ModItems.ingot_chainsteel, 'B', ModItems.bj_boots, 'C', ModItems.demon_core_closed });
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/com/hbm/handler/nei/BoilingHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,12 @@
import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingType;
import com.hbm.items.machine.ItemFluidIcon;

import net.minecraft.item.ItemStack;

public class BoilingHandler extends NEIUniversalHandler {

public BoilingHandler() {
super(ModBlocks.machine_boiler.getLocalizedName(), ModBlocks.machine_boiler, generateRecipes());
super(ModBlocks.machine_boiler.getLocalizedName(), new ItemStack[] { new ItemStack(ModBlocks.machine_boiler), new ItemStack(ModBlocks.machine_industrial_boiler) }, generateRecipes());
}

@Override
Expand Down
27 changes: 27 additions & 0 deletions src/main/java/com/hbm/handler/nei/DeuteriumHandler.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.hbm.handler.nei;

import java.util.HashMap;

import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.machine.ItemFluidIcon;

import net.minecraft.item.ItemStack;

public class DeuteriumHandler extends NEIUniversalHandler {

public DeuteriumHandler() {
super(ModBlocks.machine_deuterium_extractor.getLocalizedName(), new ItemStack[] { new ItemStack(ModBlocks.machine_deuterium_extractor), new ItemStack(ModBlocks.machine_deuterium_tower) }, generateRecipes());
}

@Override
public String getKey() {
return "ntmDeuterium";
}

public static HashMap<Object, Object> generateRecipes() {
HashMap<Object, Object> map = new HashMap();
map.put(ItemFluidIcon.make(Fluids.WATER, 1_000), ItemFluidIcon.make(Fluids.HEAVYWATER, 20));
return map;
}
}
1 change: 1 addition & 0 deletions src/main/java/com/hbm/items/machine/ItemPACoil.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,6 @@ public void addInformation(ItemStack stack, EntityPlayer player, List list, bool
list.add(EnumChatFormatting.BLUE + "Dipole minimum side length: " + EnumChatFormatting.RESET + type.diDistMin);
list.add(EnumChatFormatting.RED + "Minimums not met result in a power draw penalty!");
list.add(EnumChatFormatting.RED + "Maximums exceeded result in the particle crashing!");
list.add(EnumChatFormatting.RED + "Particles will crash in dipoles if both penalties take effect!");
}
}
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 (5229)";
public static final String VERSION = "1.0.27 BETA (5230)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/hbm/main/CraftingManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ public static void AddCraftingRec() {

addRecipeAuto(new ItemStack(ModItems.cell_empty, 6), new Object[] { " S ", "G G", " S ", 'S', STEEL.plate(), 'G', KEY_ANYPANE });
addRecipeAuto(new ItemStack(ModItems.cell_deuterium, 8), new Object[] { "DDD", "DTD", "DDD", 'D', ModItems.cell_empty, 'T', ModItems.mike_deut });
addRecipeAuto(new ItemStack(ModItems.particle_empty, 2), new Object[] { "STS", "G G", "STS", 'S', STEEL.plate(), 'T', W.ingot(), 'G', KEY_ANYPANE });
addRecipeAuto(new ItemStack(ModItems.particle_empty, 2), new Object[] { "STS", "G G", "STS", 'S', PB.plateCast(), 'T', ModItems.coil_gold, 'G', KEY_ANYPANE });
addShapelessAuto(new ItemStack(ModItems.particle_copper, 1), new Object[] { ModItems.particle_empty, CU.dust(), ModItems.pellet_charged });
addShapelessAuto(new ItemStack(ModItems.particle_lead, 1), new Object[] { ModItems.particle_empty, PB.dust(), ModItems.pellet_charged });
addShapelessAuto(new ItemStack(ModItems.cell_antimatter, 1), new Object[] { ModItems.particle_aproton, ModItems.particle_aelectron, ModItems.cell_empty });
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/hbm/main/NEIRegistry.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ public static List<TemplateRecipeHandler> listAllHandlers() {
handlers.add(new AmmoPressHandler());
handlers.add(new CompressorHandler());
handlers.add(new ParticleAcceleratorHandler());
handlers.add(new DeuteriumHandler());

//this shit comes last
handlers.add(new FluidRecipeHandler());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.hbm.inventory.gui.GUIPADetector;
import com.hbm.inventory.recipes.ParticleAcceleratorRecipes;
import com.hbm.inventory.recipes.ParticleAcceleratorRecipes.ParticleAcceleratorRecipe;
import com.hbm.lib.Library;
import com.hbm.tileentity.IGUIProvider;
import com.hbm.tileentity.machine.albion.TileEntityPASource.PAState;
import com.hbm.tileentity.machine.albion.TileEntityPASource.Particle;
Expand Down Expand Up @@ -32,6 +33,16 @@ public String getName() {
return "container.paDetector";
}

@Override
public void updateEntity() {

if(!worldObj.isRemote) {
this.power = Library.chargeTEFromItems(slots, 0, power, this.getMaxPower());
}

super.updateEntity();
}

@Override
public DirPos[] getConPos() {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10);
Expand Down Expand Up @@ -131,6 +142,8 @@ public void onEnter(Particle particle, ForgeDirection dir) {
return;
}
}

this.power -= this.usage;
}

public boolean canAccept(ParticleAcceleratorRecipe recipe) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public TileEntityPADipole() {

@Override
public long getMaxPower() {
return 5_000_000;
return 2_500_000;
}

@Override
Expand Down Expand Up @@ -70,8 +70,8 @@ public void onEnter(Particle particle, ForgeDirection dir) {
int mult = 1;
if(slots[1] != null && slots[1].getItem() == ModItems.pa_coil) {
type = EnumUtil.grabEnumSafely(EnumCoilType.class, slots[1].getItemDamage());
if(type.diMin > particle.momentum) mult *= 5;
if(type.diDistMin > particle.distanceTraveled) mult *= 5;
if(type.diMin > particle.momentum) mult *= 10;
if(type.diDistMin > particle.distanceTraveled) mult *= 10;
}

if(!isCool()) particle.crash(PAState.CRASH_NOCOOL);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public TileEntityPAQuadrupole() {

@Override
public long getMaxPower() {
return 1_000_000;
return 2_500_000;
}

@Override
Expand All @@ -53,7 +53,7 @@ public void onEnter(Particle particle, ForgeDirection dir) {
int mult = 1;
if(slots[1] != null && slots[1].getItem() == ModItems.pa_coil) {
type = EnumUtil.grabEnumSafely(EnumCoilType.class, slots[1].getItemDamage());
mult = type.quadMin > particle.momentum ? 5 : 1;
mult = type.quadMin > particle.momentum ? 10 : 1;
}

if(!isCool()) particle.crash(PAState.CRASH_NOCOOL);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

public class TileEntityPARFC extends TileEntityCooledBase implements IGUIProvider, IParticleUser {

public static final long usage = 100_000;
public static final long usage = 250_000;
public static final int momentumGain = 100;
public static final int defocusGain = 100;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,8 @@ public DirPos[] getConPos() {

//reusing the same fucking instance because doing anything else would be retarded
public static final BlockPos cheapAss = new BlockPos(0, 0, 0);
public static final int[] slotsRed = new int[] {1};
public static final int[] slotsYellow = new int[] {2};
public static final int[] slotsRed = new int[] {1, 3, 4};
public static final int[] slotsYellow = new int[] {2, 3, 4};
@Override
public int[] getAccessibleSlotsFromSide(int x, int y, int z, int side) {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10);
Expand Down

0 comments on commit a814e58

Please sign in to comment.