This commit is contained in:
Bob 2024-05-12 22:32:18 +02:00
parent 52821f7b52
commit e273b494a4
11 changed files with 130 additions and 17 deletions

View File

@ -3,6 +3,7 @@
* Can create custom ICF fuel pellets
* Pellets use binary fuels, meaning they need two different fluids, two different solids or a solid and a fluid
* Optionally, the pellet maker can accept muon capsules, each capsule can add muons to up to 16 pellets, reducing the laser input requirement
* Fuels currently only have default stats, custom stats will be added in the future
## Changed
* To make balancing easier, ICFs will only directly convert 25% of incoming laser heat into output heat when there is no fuel pellet loaded, meaning when using fuel, direct heating does not apply
@ -13,7 +14,13 @@
* This fixes an issue where spamming too many blocks like that could potentially crash servers
* Most explosives go off after a short delay, flammable barrels however will explode on impact
* Removed unused permanent wings
* Added recipes to the ICF parts, the ICF can now be made in survival mode (recipes are still subject to change)
## Fixed
* Fixed ICF laser parts being considered valid when bordering an otherwise invalid dependency block
* Fixed soyuz launcher NEI recipe showing the wrong amount of items
* Fixed soyuz launcher NEI recipe showing the wrong amount of items
* Fixed infinite xp exploit by constantly smelting and cooling things like meteorite ingots
* Fixed centrifuge speed upgrade tooltip
* Fixed smokestacks not working with a lot of machines
* Fixed soot values being completely off for most machines
* Fixed glyphid scouts not spawning in the daylight in rampant mode

View File

@ -1,6 +1,6 @@
mod_version=1.0.27
# Empty build number makes a release type
mod_build_number=4956
mod_build_number=4963
credits=HbMinecraft,\
\ rodolphito (explosion algorithms),\

View File

@ -218,6 +218,7 @@ public class SoyuzLauncher extends BlockDummyable {
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_launcher, 30)));
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_scaffold, 63)));
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.concrete_smooth, 38)));
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_soyuz_core, 1)));
world.func_147453_f(x, y, z, p_149749_5_);
}

View File

@ -170,11 +170,11 @@ public class SmeltingRecipes {
GameRegistry.addSmelting(ModItems.circuit_red_copper, new ItemStack(ModItems.circuit_copper, 1), 1.0F);
GameRegistry.addSmelting(ModItems.circuit_copper, new ItemStack(ModItems.circuit_aluminium, 1), 1.0F);
GameRegistry.addSmelting(ModItems.ingot_chainsteel, ItemHot.heatUp(new ItemStack(ModItems.ingot_chainsteel)), 1.0F);
GameRegistry.addSmelting(ModItems.ingot_meteorite, ItemHot.heatUp(new ItemStack(ModItems.ingot_meteorite)), 1.0F);
GameRegistry.addSmelting(ModItems.ingot_meteorite_forged, ItemHot.heatUp(new ItemStack(ModItems.ingot_meteorite_forged)), 1.0F);
GameRegistry.addSmelting(ModItems.blade_meteorite, ItemHot.heatUp(new ItemStack(ModItems.blade_meteorite)), 1.0F);
GameRegistry.addSmelting(ModItems.meteorite_sword, ItemHot.heatUp(new ItemStack(ModItems.meteorite_sword_seared)), 1.0F);
GameRegistry.addSmelting(ModItems.ingot_chainsteel, ItemHot.heatUp(new ItemStack(ModItems.ingot_chainsteel)), 0.0F);
GameRegistry.addSmelting(ModItems.ingot_meteorite, ItemHot.heatUp(new ItemStack(ModItems.ingot_meteorite)), 0.0F);
GameRegistry.addSmelting(ModItems.ingot_meteorite_forged, ItemHot.heatUp(new ItemStack(ModItems.ingot_meteorite_forged)), 0.0F);
GameRegistry.addSmelting(ModItems.blade_meteorite, ItemHot.heatUp(new ItemStack(ModItems.blade_meteorite)), 0.0F);
GameRegistry.addSmelting(ModItems.meteorite_sword, ItemHot.heatUp(new ItemStack(ModItems.meteorite_sword_seared)), 0.0F);
GameRegistry.addSmelting(new ItemStack(ModItems.scrap_plastic, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ModItems.ingot_polymer), 0.1F);

View File

@ -101,6 +101,20 @@ public class ConstructionHandler extends NEIUniversalHandler {
bufferedRecipes.put(soysauce, new ItemStack(ModBlocks.soyuz_launcher));
bufferedTools.put(soysauce, new ItemStack(ModBlocks.struct_soyuz_core));
/* ICF */
ItemStack[] icf = new ItemStack[] {
new ItemStack(ModBlocks.icf_component, 50, 0),
ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.icf_component, 240, 3), EnumChatFormatting.RED + "3x64 + 48"),
ItemStackUtil.addTooltipToStack(Mats.MAT_DURA.make(ModItems.bolt, 960), EnumChatFormatting.RED + "9x64"),
ItemStackUtil.addTooltipToStack(Mats.MAT_STEEL.make(ModItems.plate_cast, 240), EnumChatFormatting.RED + "3x64 + 48"),
ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.icf_component, 117, 1), EnumChatFormatting.RED + "64 + 53"),
ItemStackUtil.addTooltipToStack(Mats.MAT_BBRONZE.make(ModItems.plate_cast, 117), EnumChatFormatting.RED + "64 + 53"),
new ItemStack(ModItems.blowtorch),
new ItemStack(ModItems.boltgun) };
bufferedRecipes.put(icf, new ItemStack(ModBlocks.icf));
bufferedTools.put(icf, new ItemStack(ModBlocks.struct_icf_core));
return recipes ? bufferedRecipes : bufferedTools;
}
}

View File

@ -18,6 +18,7 @@ import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockCap.EnumCapBlock;
import com.hbm.blocks.machine.BlockICFLaserComponent.EnumICFPart;
import com.hbm.config.GeneralConfig;
import com.hbm.inventory.OreDictManager;
import com.hbm.inventory.RecipesCommon.*;
@ -929,14 +930,78 @@ public class AssemblerRecipes extends SerializableRecipe {
new ComparableStack(ModItems.circuit_gold, 1)
}, 400);
makeRecipe(new ComparableStack(ModItems.euphemium_capacitor, 1), new AStack[]
{
new OreDictStack(NB.ingot(), 4),
new ComparableStack(ModItems.redcoil_capacitor, 1),
new ComparableStack(ModItems.ingot_euphemium, 4),
new ComparableStack(ModItems.circuit_tantalium, 6),
new ComparableStack(ModItems.powder_nitan_mix, 18),
}, 600);
makeRecipe(new ComparableStack(ModItems.euphemium_capacitor, 1), new AStack[] {
new OreDictStack(NB.ingot(), 4),
new ComparableStack(ModItems.redcoil_capacitor, 1),
new ComparableStack(ModItems.ingot_euphemium, 4),
new ComparableStack(ModItems.circuit_tantalium, 6),
new ComparableStack(ModItems.powder_nitan_mix, 18),
}, 600);
makeRecipe(new ComparableStack(ModBlocks.icf_laser_component, 1, EnumICFPart.CELL.ordinal()), new AStack[] {
new ComparableStack(ModItems.ingot_cft, 4),
new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 4),
new ComparableStack(ModBlocks.glass_quartz, 16)
}, 200);
makeRecipe(new ComparableStack(ModBlocks.icf_laser_component, 1, EnumICFPart.EMITTER.ordinal()), new AStack[] {
new OreDictStack(W.plateWelded(), 4),
new OreDictStack(MAGTUNG.wireDense(), 16),
new OreDictStack(Fluids.XENON.getDict(16_000))
}, 200);
makeRecipe(new ComparableStack(ModBlocks.icf_laser_component, 1, EnumICFPart.CAPACITOR.ordinal()), new AStack[] {
new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 2),
new OreDictStack(ND.wireDense(), 16),
new OreDictStack(SBD.ingot(), 4)
}, 200);
makeRecipe(new ComparableStack(ModBlocks.icf_laser_component, 1, EnumICFPart.TURBO.ordinal()), new AStack[] {
new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 2),
new OreDictStack(DNT.wireDense(), 8),
new OreDictStack(SBD.ingot(), 16)
}, 200);
makeRecipe(new ComparableStack(ModBlocks.icf_laser_component, 1, EnumICFPart.CASING.ordinal()), new AStack[] {
new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 4),
new OreDictStack(BIGMT.plateCast(), 4),
new OreDictStack(ANY_HARDPLASTIC.ingot(), 16)
}, 200);
makeRecipe(new ComparableStack(ModBlocks.icf_laser_component, 1, EnumICFPart.PORT.ordinal()), new AStack[] {
new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 2),
new OreDictStack(ANY_HARDPLASTIC.ingot(), 16),
new OreDictStack(ND.wireDense(), 4)
}, 200);
makeRecipe(new ComparableStack(ModBlocks.icf_controller, 1), new AStack[] {
new ComparableStack(ModItems.ingot_cft, 16),
new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 4),
new OreDictStack(ANY_HARDPLASTIC.ingot(), 16),
new OreDictStack(KEY_CIRCUIT_BISMUTH, 4)
}, 200);
makeRecipe(new ComparableStack(ModBlocks.icf_component, 1, 0), new AStack[] {
new OreDictStack(STEEL.plateWelded(), 4),
new OreDictStack(TI.plateWelded(), 2),
}, 200);
makeRecipe(new ComparableStack(ModBlocks.icf_component, 1, 1), new AStack[] {
new ComparableStack(ModItems.ingot_cft, 2),
new OreDictStack(CMB.plateCast(), 1),
new OreDictStack(W.plateWelded(), 2),
}, 200);
makeRecipe(new ComparableStack(ModBlocks.icf_component, 1, 3), new AStack[] {
new OreDictStack(STEEL.plateWelded(), 2),
new OreDictStack(CU.plateWelded(), 2),
new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 1)
}, 200);
makeRecipe(new ComparableStack(ModBlocks.struct_icf_core, 1), new AStack[] {
new OreDictStack(CMB.plateWelded(), 16),
new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 16),
new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 16),
new OreDictStack(SBD.wireDense(), 32),
new OreDictStack(KEY_CIRCUIT_BISMUTH, 16),
new ComparableStack(ModItems.circuit_schrabidium, 24),
}, 600);
makeRecipe(new ComparableStack(ModBlocks.machine_icf_press, 1), new AStack[] {
new OreDictStack(GOLD.plateCast(), 8),
new ComparableStack(ModItems.motor, 4),
new OreDictStack(KEY_CIRCUIT_BISMUTH, 1),
}, 100);
makeRecipe(new ComparableStack(DictFrame.fromOne(ModBlocks.block_cap, EnumCapBlock.NUKA)), new AStack[] { new ComparableStack(ModItems.cap_nuka, 128) }, 10);
makeRecipe(new ComparableStack(DictFrame.fromOne(ModBlocks.block_cap, EnumCapBlock.QUANTUM)), new AStack[] { new ComparableStack(ModItems.cap_quantum, 128) }, 10);

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
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 (4956)";
public static final String VERSION = "1.0.27 BETA (4963)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version

View File

@ -4,8 +4,11 @@ import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.machine.MachineICF;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityICFStruct extends TileEntity {
@ -47,4 +50,15 @@ public class TileEntityICFStruct extends TileEntity {
return worldObj.getBlock(ix, iy, iz) == block && worldObj.getBlockMetadata(ix, iy, iz) == meta;
}
@Override
public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared() {
return 65536.0D;
}
}

View File

@ -330,7 +330,7 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement
public void provideInfo(UpgradeType type, int level, List<String> info, boolean extendedInfo) {
info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_centrifuge));
if(type == UpgradeType.SPEED) {
info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level * 100) + "%"));
info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (100 - 100 / (level + 1)) + "%"));
info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 100) + "%"));
}
if(type == UpgradeType.POWER) {

View File

@ -4103,6 +4103,11 @@ tile.machine_hydrotreater.name=Hydrotreater
tile.impact_dirt.name=Versengte Erde
tile.icf.name=Trägheitsfusionsreaktor (ICF)
tile.icf_block.name=ICF-Laser
tile.icf_component.name=ICF-Stabilitätselement
tile.icf_component.structure.name=ICF-Gehäuse
tile.icf_component.structure_bolted.name=ICF-Gehäuse (Genietet)
tile.icf_component.vessel.name=ICF-Eindämmungsgefäß
tile.icf_component.vessel_welded.name=ICF-Eindämmungsgefäß (Verschwißt)
tile.icf_controller.name=ICF-Lasersteuerung
tile.icf_laser_component.capacitor.name=ICF-Laser-Kondensator
tile.icf_laser_component.casing.name=ICF-Laser-Gehäuse
@ -4605,6 +4610,7 @@ tile.stone_resource.hematite.name=Hämatit
tile.stone_resource.limestone.name=Kalkstein
tile.stone_resource.malachite.name=Malachit
tile.stone_resource.sulfur.name=Schwefelhaltiger Stein
tile.struct_icf_core.name=Trägheitsfusionsreaktor-Kernkomponente
tile.struct_iter_core.name=Fusionsreaktor-Kernkomponente
tile.struct_launcher.name=Startrampe-Komponentenblock
tile.struct_launcher_core.name=Kompaktrampe-Kernkomponente

View File

@ -5163,6 +5163,11 @@ tile.machine_hydrotreater.name=Hydrotreater
tile.impact_dirt.name=Scorched Dirt
tile.icf.name=Inertial Confinement Fusion Reactor (ICF)
tile.icf_block.name=ICF Laser
tile.icf_component.name=ICF Stability Element
tile.icf_component.structure.name=ICF Casing
tile.icf_component.structure_bolted.name=ICF Casing (Riveted)
tile.icf_component.vessel.name=ICF Containment Vessel Wall
tile.icf_component.vessel_welded.name=ICF Containment Vessel Wall (Welded)
tile.icf_controller.name=ICF Laser Controller
tile.icf_laser_component.capacitor.name=ICF Laser Capacitor
tile.icf_laser_component.casing.name=ICF Laser Casing
@ -5679,6 +5684,7 @@ tile.stone_resource.hematite.name=Hematite
tile.stone_resource.limestone.name=Limestone
tile.stone_resource.malachite.name=Malachite
tile.stone_resource.sulfur.name=Sulfurous Stone
tile.struct_icf_core.name=Inertial Confinement Fusion Reactor Core Component
tile.struct_iter_core.name=Fusion Reactor Core Component
tile.struct_launcher.name=Launch Pad Component Block
tile.struct_launcher_core.name=Compact Launcher Core Component