Skip to content

Commit

Permalink
UNINOS
Browse files Browse the repository at this point in the history
  • Loading branch information
HbmMods committed Feb 17, 2025
1 parent fd04bf9 commit 18dfb21
Show file tree
Hide file tree
Showing 19 changed files with 287 additions and 152 deletions.
45 changes: 4 additions & 41 deletions changelog
Original file line number Diff line number Diff line change
@@ -1,44 +1,7 @@
## Added
* Refueling station
* Like a charging station, but for fluids

## Changed
* Updated chinese localization
* Particle detectors now print an error for when the recipe could not be completed
* Night Vision Goggles toggles with armor HUD
* Removed "no ore dict data" line from tooltips with extended view enabled
* Added a client config called `GUN_ANIMATION_SPEED` which allows the speed of gun animations to be changed
* Mostly for debugging, since it only applies to the bus animation system, things like smoke trails and muzzle flashes are unaffected
* Item filters can now filter by bedrock ore grade
* Meteorite dungeons now use a new structure system
* The rooms have been completely changed, and the dungeons are no longer single-level with fixed room sizes
* Dungeons no longer lag the game to hell when generating
* Decimated bobmazon
* All books have been merged into one with way fewer offers
* Sells things like basic gear, MREs, plushies, snow globes, and certain things only found in worldgen like jungle tree saplings and NTM flowers (including mustard willow)
* Each acidizer recipe now has a "productivity" value which is the percent chance that the effectiveness upgrades use, instead of a fixed 5% per level
* This means that certain recipes like re-crystallizing gems no longer allow for item duping
* Due to duping no longer being a concern, productivity rates for certain recipes can now be much higher
* Things like sawdust to cordite have a 75% chance of not using the input at level 3
* Effectiveness no longer increases acid consumption (since many recipes now use the acidizer like a solid output "mixer") but instead adds +200% power consumption per level
* Effectiveness can be configured with the recipe and caps out at 99% (since 100% would just print free items)
* Chemical dyes can now also be made with light oil
* There's now statistics for creating legendary weapons and ammo, stepping on landmines and firing guns
* Assembly templates no longer specify whether they are persistent and volatile, since volatile templates haven't existed in years
* Obliterated the HTR-01 item for good
* Idk why it still existed
* Skeletons, slimes and cybercrabs can no longer be gibbed, since they don't have flesh
* The template folder's description now uses flashing colors to make it harder to ignore
* Scaled swords no longer use 1.1 scale in the inventory, making them larger than the inventory slot
* Fissures can now be connected to fluid ducts, providing 1,000mB of lava per tick
* Large deposits (hematite, malachite, bauxite) and caves (sulfur, asbestos) can now be toggled in the config
* Removed recipes for most old particle accelerator parts
* Dense coils no longer have recipes either for the most part, all coils with no recipes can be recycled back into dense wires

## Fixed
* Fixed items being annihilated when shift clicking them into the particle source
* Fixed packet optimization not allowing packets to be sent when the day night cycle is halted
* Fixed particle detectors not always using power when they should
* Fixed rotary furnace voiding low pressure steam when dealing with input numbers not divisible by 100
* Fixed state leak causing smoke from the right akimbo weapon to glow when the first one is fired
* Fixed incorrect default values for new RBMK dials
* Fixed blast doors self-destructing when closing
* Fixed PA coils being in the wrong creative tab
* Fixed flux calculation for RBMKs being wrong, mainly affecting reactors using fast flux
* Fixed an issue where `/ntmreload` would load fluids after recipes, meaning that recipes using newly added fluids would not work correctly, as the fluids don't exist by the time the recipe is loaded
4 changes: 3 additions & 1 deletion src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.toclient.AuxParticlePacketNT;
import com.hbm.uninos.IGenProvider;
import com.hbm.uninos.networkproviders.PowerProvider;
import com.hbm.util.Compat;

import api.hbm.energymk2.Nodespace.PowerNode;
Expand All @@ -12,7 +14,7 @@
import net.minecraftforge.common.util.ForgeDirection;

/** If it sends energy, use this */
public interface IEnergyProviderMK2 extends IEnergyHandlerMK2 {
public interface IEnergyProviderMK2 extends IEnergyHandlerMK2, IGenProvider<PowerProvider> {

/** Uses up available power, default implementation has no sanity checking, make sure that the requested power is lequal to the current power */
public default void usePower(long power) {
Expand Down
29 changes: 3 additions & 26 deletions src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import com.hbm.interfaces.NotableComments;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.toclient.AuxParticlePacketNT;
import com.hbm.uninos.IGenReceiver;
import com.hbm.uninos.networkproviders.PowerProvider;
import com.hbm.util.Compat;

import api.hbm.energymk2.Nodespace.PowerNode;
Expand All @@ -14,7 +16,7 @@

/** If it receives energy, use this */
@NotableComments
public interface IEnergyReceiverMK2 extends IEnergyHandlerMK2 {
public interface IEnergyReceiverMK2 extends IEnergyHandlerMK2, IGenReceiver<PowerProvider> {

public default long transferPower(long power) {
if(power + this.getPower() <= this.getMaxPower()) {
Expand Down Expand Up @@ -76,31 +78,6 @@ public default void tryUnsubscribe(World world, int x, int y, int z) {
}
}

/**
* Project MKUltra was an illegal human experiments program designed and undertaken by the U.S. Central Intelligence Agency (CIA)
* to develop procedures and identify drugs that could be used during interrogations to weaken people and force confessions through
* brainwashing and psychological torture. It began in 1953 and was halted in 1973. MKUltra used numerous methods to manipulate
* its subjects' mental states and brain functions, such as the covert administration of high doses of psychoactive drugs (especially LSD)
* and other chemicals without the subjects' consent, electroshocks, hypnosis, sensory deprivation, isolation, verbal and sexual
* abuse, and other forms of torture.
* MKUltra was preceded by Project Artichoke. It was organized through the CIA's Office of Scientific Intelligence and coordinated
* with the United States Army Biological Warfare Laboratories. The program engaged in illegal activities, including the
* use of U.S. and Canadian citizens as unwitting test subjects. MKUltra's scope was broad, with activities carried
* out under the guise of research at more than 80 institutions aside from the military, including colleges and universities,
* hospitals, prisons, and pharmaceutical companies. The CIA operated using front organizations, although some top officials at these
* institutions were aware of the CIA's involvement.
* MKUltra was revealed to the public in 1975 by the Church Committee of the United States Congress and Gerald Ford's United States
* President's Commission on CIA activities within the United States (the Rockefeller Commission). Investigative efforts were hampered
* by CIA Director Richard Helms's order that all MKUltra files be destroyed in 1973; the Church Committee and Rockefeller Commission
* investigations relied on the sworn testimony of direct participants and on the small number of documents that survived Helms's order.
* In 1977, a Freedom of Information Act request uncovered a cache of 20,000 documents relating to MKUltra, which led to Senate hearings.
* Some surviving information about MKUltra was declassified in 2001.
* */
public default ConnectionPriority getPriority() {
return ConnectionPriority.NORMAL;
}

/** More is better-er */
public enum ConnectionPriority {
LOWEST,
LOW,
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/hbm/commands/CommandReloadRecipes.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ public String getCommandUsage(ICommandSender sender) {
@Override
public void processCommand(ICommandSender sender, String[] args) {
try {
Fluids.reloadFluids();
SerializableRecipe.initialize();
ItemPoolConfigJSON.initialize();
DamageResistanceHandler.init();
Fluids.reloadFluids();

sender.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Reload complete :)"));
} catch(Exception ex) {
Expand Down
14 changes: 14 additions & 0 deletions src/main/java/com/hbm/config/WorldConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,13 @@ public class WorldConfig {

public static int endTikiteSpawn = 8;

public static boolean enableHematite = true;
public static boolean enableMalachite = true;
public static boolean enableBauxite = true;

public static boolean enableSulfurCave = true;
public static boolean enableAsbestosCave = true;

public static int radioStructure = 500;
public static int antennaStructure = 250;
public static int atomStructure = 500;
Expand Down Expand Up @@ -189,6 +196,13 @@ public static void loadFromConfig(Configuration config) {

endTikiteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.E00_tikiteSpawnrate", "Amount of end trixite per chunk", 8);

enableHematite = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.L00_enableHematite", "Toggles hematite deposits", true);
enableMalachite = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.L01_enableMalachite", "Toggles malachite deposits", true);
enableBauxite = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.L02_enableBauxite", "Toggles bauxite deposits", true);

enableSulfurCave = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.C00_enableSulfurCave", "Toggles sulfur caves", true);
enableAsbestosCave = CommonConfig.createConfigBool(config, CATEGORY_OREGEN, "2.C01_enableAsbestosCave", "Toggles asbestos caves", true);

final String CATEGORY_DUNGEON = CommonConfig.CATEGORY_DUNGEONS;
radioStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.00_radioSpawn", "Spawn radio station on every nTH chunk", 500);
antennaStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.01_antennaSpawn", "Spawn antenna on every nTH chunk", 250);
Expand Down
15 changes: 2 additions & 13 deletions src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ public void registerDefaults() {
makeRecipe(new ComparableStack(ModItems.rtg_unit, 1), new AStack[] {new ComparableStack(ModItems.thermo_element, 2), new OreDictStack(CU.plateCast(), 1), new OreDictStack(PB.ingot(), 2), new OreDictStack(STEEL.plate(), 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CAPACITOR.ordinal()), },100);
makeRecipe(new ComparableStack(ModItems.levitation_unit, 1), new AStack[] {new ComparableStack(ModItems.coil_copper, 4), new ComparableStack(ModItems.coil_tungsten, 2), new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.nugget_schrabidium, 2), },100);
makeRecipe(new ComparableStack(ModItems.drill_titanium, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(DURA.ingot(), 2), new OreDictStack(DURA.bolt(), 4), new OreDictStack(TI.plate(), 6), },100);
makeRecipe(new ComparableStack(ModItems.entanglement_kit, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(DURA.ingot(), 4), new OreDictStack(CU.plate(), 24), new ComparableStack(ModBlocks.hadron_coil_gold, 4), new OreDictStack(Fluids.XENON.getDict(1_000))},200);
makeRecipe(new ComparableStack(ModItems.entanglement_kit, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(DURA.ingot(), 4), new OreDictStack(CU.plate(), 24), new OreDictStack(GOLD.wireDense(), 16), new OreDictStack(Fluids.XENON.getDict(1_000))},200);
makeRecipe(new ComparableStack(ModItems.dysfunctional_reactor, 1), new AStack[] {new OreDictStack(STEEL.plate(), 15), new OreDictStack(PB.ingot(), 5), new ComparableStack(ModItems.rod_quad_empty, 10), new OreDictStack("dyeBrown", 3), },200);
makeRecipe(new ComparableStack(ModItems.missile_assembly, 1), new AStack[] {new OreDictStack(STEEL.shell(), 2), new OreDictStack(AL.shell(), 2), new OreDictStack(TI.plate(), 8), new OreDictStack(ANY_PLASTIC.ingot(), 8), new ComparableStack(ModItems.rocket_fuel, 8), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC), }, 200);
makeRecipe(new ComparableStack(ModItems.warhead_generic_small, 1), new AStack[] {new OreDictStack(TI.plate(), 5), new OreDictStack(STEEL.plate(), 3), new ComparableStack(ModItems.ball_dynamite, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CHIP) },100);
Expand Down Expand Up @@ -552,8 +552,7 @@ public void registerDefaults() {

makeRecipe(new ComparableStack(ModBlocks.machine_cyclotron, 1), new AStack[] {
new ComparableStack(ModBlocks.machine_lithium_battery, 3),
new ComparableStack(ModBlocks.hadron_coil_neodymium, 8),
new OreDictStack(ALLOY.wireDense(), 16),
new OreDictStack(ND.wireDense(), 32),
!exp ? new OreDictStack(STEEL.ingot(), 16) : new OreDictStack(STEEL.heavyComp(), 3),
new OreDictStack(STEEL.plate528(), 32),
new OreDictStack(AL.plate528(), 32),
Expand Down Expand Up @@ -1149,16 +1148,6 @@ public void registerDefaults() {
new ComparableStack(ModItems.circuit, 10, EnumCircuitType.CAPACITOR_BOARD),
}, 300);

makeRecipe(new ComparableStack(ModBlocks.hadron_core, 1), new AStack[] {
new ComparableStack(ModBlocks.hadron_coil_alloy, 24),
new OreDictStack(STEEL.ingot(), 8),
new OreDictStack(ANY_PLASTIC.ingot(), 16),
new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8),
new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BISMOID),
new ComparableStack(ModItems.circuit, 192, EnumCircuitType.CAPACITOR_BOARD),
new ComparableStack(ModItems.crt_display, 1),
}, 300);

makeRecipe(new ComparableStack(ModBlocks.struct_launcher_core, 1), new AStack[] {
new ComparableStack(ModBlocks.machine_battery, 3),
new ComparableStack(ModBlocks.steel_scaffold, 10),
Expand Down
12 changes: 0 additions & 12 deletions src/main/java/com/hbm/inventory/recipes/MagicRecipes.java
Original file line number Diff line number Diff line change
Expand Up @@ -56,18 +56,6 @@ public static void register() {
new ComparableStack(ModItems.powder_dineutronium),
new ComparableStack(ModItems.blades_desh),
new ComparableStack(ModItems.diamond_gavel)));

recipes.add(new MagicRecipe(new ItemStack(ModBlocks.hadron_coil_mese),
new ComparableStack(ModBlocks.hadron_coil_chlorophyte),
new ComparableStack(ModItems.powder_dineutronium),
new ComparableStack(ModItems.plate_desh),
new OreDictStack(GOLD.dust())));

recipes.add(new MagicRecipe(new ItemStack(ModBlocks.hadron_coil_mese),
new ComparableStack(ModBlocks.hadron_coil_chlorophyte),
new OreDictStack(DNT.wireDense()),
new OreDictStack(W.wireDense()),
new OreDictStack(GOLD.wireDense())));
}

public static List<MagicRecipe> getRecipes() {
Expand Down
Loading

0 comments on commit 18dfb21

Please sign in to comment.