dance the safety dance

This commit is contained in:
Boblet 2026-01-07 16:44:15 +01:00
parent 0197ee79a7
commit 2b9d43891a
7 changed files with 24 additions and 42 deletions

View File

@ -1,41 +1,8 @@
## Added
* New battery system
* Energy storage blocks, capacitors and battery items are now deprecated, but can still be used
* There is now new types of battery items, as well as capacitor items
* Instead of energy storage blocks, there is now a battery socket, which allows those new items to be connected to the power grid
* Battery sockets act like cables, they will connect power grids when two cables are plugged into them in different directions
* Self-chargers and creative batteries are still around, as well as spark batteries which are needed for the balefire bomb
* The FEnSU has been replaced by a much larger version with unlimited energy storage
* `/ntmreapnetworks`
* Deletes all active nodespace instances
* Mainly useful for server owners, in case nodespace builds up too much garbage data that isn't cleared correctly
* Fluid valve with counter
* Reads total fluid movement within a network
* Value can be read or reset with OC or RoR
* Allows for very precise portioning and fluid control
## Changed
* Updated italian localization
* After not being part of worldgen for a long time, oily coal is finally being removed
* The rare metal blocks that had been unobtainable and unused for the longest time have been removed
* The schrabidium transmutator's grace period is over, it is finally being destroyed
* Most of the legacy fusion reactor components, which were unobtainable and unusable, have been removed
* The block ID economy is looking better than ever
* Infinite water barrels can now be crafted with any water container and not just buckets
* OpenComputers integration for the PWR can now also read the heat capacity stats
* Removed the restriction that demands that cluster ores need to be mined by hand
* Laser beams from energy weapons are now a lot more narrow
* All steam turbines now have a passive drain on unused power in their buffers
* Updated chinese and russian localization
* Increased density of osmiridium ores in tom craters considerably (from 1:500 to 1:200)
## Fixed
* Fixed meteors using a nonexistant keepalive timer, causing potential audio flickering in certain cases
* Fixed 528 coltan deposit config misspelling
* Potentially fixed a performance issue caused by transmission networks not being deleted when they have no active links
* Fixed multi output recipe objects not deserializing right, causing the precision assembler config to not load
* Fixed pedestal recipes not using the correct register option, making custom config files wipe all clay tablets
* Fixed custom fluids breaking when using the `/ntmreload` command
* Fixed power not saving for mining lasers
* Fixed the annihilator producing blank 528 mode blueprints when 528 mode isn't even enabled
* Fixed black fire not using the skeletonizer on death
* Fixed arc furnace electrodes not being able to be plugged into the arc furnace unless the lid is fully open
* Fixed broken keybind localization
* Fixed missing battery socket tooltip
* Potentially fixed an issue in regards to some hidden structures spawning
* Fixed FEnSU not immediately applying the muffler effect when used

View File

@ -110,7 +110,7 @@ public class ExplosionTom {
if(y <= craterFloor) {
if(worldObj.rand.nextInt(499) < 1) {
if(worldObj.rand.nextInt(200) == 0) {
worldObj.setBlock(pX, y, pZ, ModBlocks.ore_tektite_osmiridium, 0, 2);
} else {
worldObj.setBlock(pX, y, pZ, ModBlocks.tektite, 0, 2);

View File

@ -522,12 +522,12 @@ public class HbmWorldGen implements IWorldGenerator {
private static void genBlueprintChest(World world, Random rand, int i, int j, int boundsX, int boundsZ) {
if(Math.abs(i) < 100 && Math.abs(j) < 100) return;
if(rand.nextBoolean()) return;
if(rand.nextInt(20) < 10) return; // nextBoolean would have weird periodicity to it, hoping that a larger int range has more variance
int cX = Math.abs(i) % boundsX;
int cZ = Math.abs(j) % boundsZ;
if(cX <= 0 && cX + 16 >= 0 && cZ <= 0 && cZ + 16 >= 0) {
if(cX >= 0 && cX < 16 && cZ >= 0 && cZ < 16) {
int x = i + 8;
int z = j + 8;
int y = world.getHeightValue(x, z) - rand.nextInt(2);

View File

@ -71,11 +71,13 @@ public class TileEntityBatteryREDD extends TileEntityBatteryBase {
float pitch = 0.5F + this.getSpeed() / 15F * 1.5F;
if(this.prevRotation != this.rotation && MainRegistry.proxy.me().getDistanceSq(xCoord + 0.5, yCoord + 5.5, zCoord + 0.5) < 50 * 50) {
if(this.prevRotation != this.rotation && MainRegistry.proxy.me().getDistanceSq(xCoord + 0.5, yCoord + 5.5, zCoord + 0.5) < 30 * 30) {
if(this.audio == null || !this.audio.isPlaying()) {
this.audio = MainRegistry.proxy.getLoopedSound("hbm:block.fensuHum", xCoord, yCoord, zCoord, this.getVolume(1.5F), 25F, pitch, 5);
this.audio.startSound();
}
this.audio.updateVolume(this.getVolume(1.5F));
this.audio.updatePitch(pitch);
this.audio.keepAlive();

View File

@ -17,6 +17,7 @@ import com.hbm.blocks.generic.BlockWandTandem.TileEntityWandTandem;
import com.hbm.config.GeneralConfig;
import com.hbm.config.StructureConfig;
import com.hbm.handler.ThreeInts;
import com.hbm.interfaces.Untested;
import com.hbm.main.MainRegistry;
import com.hbm.util.Tuple.Pair;
import com.hbm.util.Tuple.Quartet;
@ -79,6 +80,12 @@ public class NBTStructure {
private Map<String, List<JigsawConnection>> toTopConnections;
private Map<String, List<JigsawConnection>> toBottomConnections;
private Map<String, List<JigsawConnection>> toHorizontalConnections;
// incredibly shitty system for translating legacy block definitions to new ones
@Untested // i can't find a god damn factory
private static Map<String, String> substitutions = new HashMap() {{
put("hbm:tile.ore_coal_oil", "coal_ore");
}};
public NBTStructure(ResourceLocation resource) {
// Can't use regular resource loading, servers don't know how!
@ -321,6 +328,10 @@ public class NBTStructure {
String blockName = p.getString("Name");
NBTTagCompound prop = p.getCompoundTag("Properties");
/// BOB PATCH ///
if(substitutions.containsKey(blockName)) blockName = substitutions.get(blockName);
/// BOB PATCH ///
int meta = 0;
try {

View File

@ -4475,6 +4475,7 @@ tile.machine_battery.name=Energiespeicherblock (LEGACY)
tile.machine_battery_potato.name=Kartoffelbatterieblock (LEGACY)
tile.machine_battery_redd.name=FEnSU
tile.machine_battery_socket.name=Batteriesockel
tile.machine_battery_socket.desc=Erlaubt es, Batterien direkt mit$dem Stromnetz zu verbinden.$Verhält sich wie ein Kabel, alle$Verbindungen sind im selben Netzwek.
tile.machine_boiler.name=Boiler
tile.machine_boiler.desc=Großer Boiler zum Verdampfen von Wasser oder$Erhitzen von Öl. Benötigt externe Hitzequelle.$Wärmestransferrate: ΔT*0.01 TU/t
tile.machine_boiler_electric_off.name=Elektrischer Ölwärmer

View File

@ -5738,6 +5738,7 @@ tile.machine_battery.name=Energy Storage Block (LEGACY)
tile.machine_battery_potato.name=Potato Battery Block (LEGACY)
tile.machine_battery_redd.name=FEnSU
tile.machine_battery_socket.name=Battery Socket
tile.machine_battery_socket.desc=Allows battery items to be connected$to the power grid directly.$Acts as a cable, all ports are connected$to the same netowrk.
tile.machine_boiler.name=Boiler
tile.machine_boiler.desc=Large boiler that can boil water or heat up oil.$Requires external heat source.$Heat transfer rate: ΔT*0.01 TU/t
tile.machine_boiler_electric_off.name=Electric Oil Heater