mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
fusion QMAW
This commit is contained in:
parent
e5b93da9e4
commit
6818121b9a
22
changelog
22
changelog
@ -1,4 +1,20 @@
|
||||
## Added
|
||||
* New fusion reactor
|
||||
* More dynamic system with more components to choose from
|
||||
* Models and GUIs that are less eye-bleeding
|
||||
* Plasmas are now represented as a recipe selector instead of dedicated fluids, making the entire thing fully configurable
|
||||
* Despite being recipe based, fusion reactors will still burn fuel at a steady rate
|
||||
* Comes with load-balancing, if the solenoid power or fuel supply drops, the reaction will slow down
|
||||
* This ensures that supply below maximum demand doesn't cause "flickering" due to constantly running out of fuel
|
||||
* Comes with many juicy parts
|
||||
* The plasma vessel is where the magic happens, has four connectors for other parts
|
||||
* Klystron is used to ignite the plasma
|
||||
* Breeding chamber uses the plasma's outout flux to do irradiation recipes
|
||||
* Collector increases byproduct yield
|
||||
* Boiler turns water into SDS
|
||||
* MHD turbine makes power out of the plasma directly at greater efficiency
|
||||
* Coupler turns plasma output energy into usable klystron energy, allowing one reactor to be powered by another, creating a multi-torus setup
|
||||
* Also has full QMAW documentation, if the tooltips aren't enough
|
||||
* Boxcables
|
||||
* Like boxducts, but for power
|
||||
|
||||
@ -9,7 +25,7 @@
|
||||
* Meteor impacts now have new visuals
|
||||
* Falling meteors will produce a sound instead of stealthily blowing people up
|
||||
* Fallen meteors will now be placed deeper into the actual crater instead of hovering awkwardly over the hole
|
||||
* Addd QMAW pages for the particle accelerator parts along with a PA overview page and a simple step by step construction tutorial
|
||||
* Added QMAW pages for the particle accelerator parts along with a PA overview page and a simple step by step construction tutorial
|
||||
* Increased the acidizer partitioner's input limit from 9 to 45 slots
|
||||
* Ammo containers are now functional again
|
||||
* Each gun has a fixed "default ammo" that will be given
|
||||
@ -28,6 +44,8 @@
|
||||
* Removed ammo duping using nitra, instead, four large piles can now be combined into an ammo container
|
||||
* Ammo containers crafted from nitra cannot give "expensive" ammo types
|
||||
* This mainly excludes mini nukes and .35
|
||||
* Comes in a distinct blue color instead of military green
|
||||
* Makeshift containers also yield only half as much ammo as regular ones
|
||||
* Using a defuser, creepers can now be rendered harmless manually
|
||||
* Defusing creepers now also works if the creeper hasn't lit its fuse yet
|
||||
* Defused creepers are now permanently harmless, they can no longer be manually re-ignited at all
|
||||
@ -52,6 +70,7 @@
|
||||
* This approach means that crumb yields don't have to be nerfed, and prevents that issue from popping up again should there ever be a new, more efficient processing path
|
||||
* Rewrote the ore layer generator (hematite, bauxite) to be way more performant during worldgen
|
||||
* The mining laser can now be stopped by applying a redstone signal to one of the ports
|
||||
* Ionized particles can no longer be liquefacted into helium-4, helium is now a direct liquid byproduct of several fusion reactor recipes
|
||||
|
||||
## Fixed
|
||||
* Fixed arc furnace only allowing electrodes to be inserted when the lid is down instead of up
|
||||
@ -68,3 +87,4 @@
|
||||
* Fixed compressors needing at least one mB of fluid more to process a recipe than necessary
|
||||
* Fixed many NTM structure spawn conditions being hardcoded (again) preventing them from spawning in modded biomes that would otherwise be a fit
|
||||
* Fixed spawn offset for some structures which caused them to float in the air
|
||||
* Fixed icons in the QMAW title bar often times being too dark when rendered with a 3D model
|
||||
|
||||
@ -134,7 +134,9 @@ public class ConstructionHandler extends NEIUniversalHandler {
|
||||
}
|
||||
|
||||
List<ItemStack> torusItems = new ArrayList();
|
||||
while(wallCount > 0) { int a = Math.min(wallCount, 256); torusItems.add(new ItemStack(ModBlocks.fusion_component, a, 1)); wallCount -= a; }
|
||||
int plateCount = wallCount;
|
||||
while(wallCount > 0) { int a = Math.min(wallCount, 256); torusItems.add(new ItemStack(ModBlocks.fusion_component, a, 0)); wallCount -= a; }
|
||||
while(plateCount > 0) { int a = Math.min(plateCount, 256); torusItems.add(Mats.MAT_STEEL.make(ModItems.plate_cast, a)); plateCount -= a; }
|
||||
while(blanketCount > 0) { int a = Math.min(blanketCount, 256); torusItems.add(new ItemStack(ModBlocks.fusion_component, a, 2)); blanketCount -= a; }
|
||||
while(pipeCount > 0) { int a = Math.min(pipeCount, 256); torusItems.add(new ItemStack(ModBlocks.fusion_component, a, 3)); pipeCount -= a; }
|
||||
torusItems.add(new ItemStack(ModItems.blowtorch));
|
||||
|
||||
@ -54,7 +54,6 @@ public class LiquefactionRecipes extends SerializableRecipe {
|
||||
recipes.put(new ComparableStack(Blocks.ice), new FluidStack(1000, Fluids.WATER));
|
||||
recipes.put(new ComparableStack(Blocks.packed_ice), new FluidStack(1000, Fluids.WATER));
|
||||
recipes.put(new ComparableStack(Items.ender_pearl), new FluidStack(100, Fluids.ENDERJUICE));
|
||||
recipes.put(new ComparableStack(ModItems.pellet_charged), new FluidStack(4000, Fluids.HELIUM4));
|
||||
recipes.put(new ComparableStack(ModBlocks.ore_oil_sand), new FluidStack(100, Fluids.BITUMEN));
|
||||
|
||||
recipes.put(new ComparableStack(Items.sugar), new FluidStack(100, Fluids.ETHANOL));
|
||||
|
||||
@ -71,7 +71,9 @@ public class ItemAmmoContainer extends Item {
|
||||
for(int i = 0; i < maxGunCount && i < stacks.size(); i++) {
|
||||
ItemStack gunStack = stacks.get(i);
|
||||
ItemGunBaseNT gun = (ItemGunBaseNT) gunStack.getItem();
|
||||
ItemStack remainder = InventoryUtil.tryAddItemToInventory(player.inventory.mainInventory, gun.defaultAmmo.copy());
|
||||
ItemStack ammo = gun.defaultAmmo.copy();
|
||||
if(makeshift) ammo.stackSize = (int) Math.ceil(ammo.stackSize / 2D);
|
||||
ItemStack remainder = InventoryUtil.tryAddItemToInventory(player.inventory.mainInventory, ammo);
|
||||
if(remainder != null && remainder.stackSize > 0) player.dropPlayerItemWithRandomChoice(remainder, false);
|
||||
}
|
||||
|
||||
|
||||
@ -1416,11 +1416,11 @@ public class ModEventHandlerClient {
|
||||
case 10: main.splashText = "Fentanyl!"; break;
|
||||
case 11: main.splashText = "Do drugs!"; break;
|
||||
case 12: main.splashText = "Imagine being scared by splash texts!"; break;
|
||||
case 13: main.splashText = "Semantic versioning? More like pedantic versioning."; break;
|
||||
}
|
||||
|
||||
double d = Math.random();
|
||||
if(d < 0.1) main.splashText = "Redditors aren't people!";
|
||||
else if(d < 0.2) main.splashText = "Can someone tell me what corrosive fumes the people on Reddit are huffing so I can avoid those more effectively?";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.input.Mouse;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.qmaw.components.*;
|
||||
@ -271,6 +272,7 @@ public class GuiQMAW extends GuiScreen {
|
||||
if(this.icon != null) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(GL11.GL_DEPTH_TEST);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
Minecraft mc = Minecraft.getMinecraft();
|
||||
GL11.glRotated(180, 1, 0, 0);
|
||||
RenderHelper.enableStandardItemLighting();
|
||||
@ -278,6 +280,7 @@ public class GuiQMAW extends GuiScreen {
|
||||
itemRender.renderItemAndEffectIntoGUI(this.fontRendererObj, mc.renderEngine, this.icon, guiLeft + x, guiTop + y);
|
||||
itemRender.renderItemOverlayIntoGUI(this.fontRendererObj, mc.renderEngine, this.icon, guiLeft + x, guiTop + y, null);
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glDisable(GL11.GL_DEPTH_TEST);
|
||||
GL11.glPopMatrix();
|
||||
|
||||
|
||||
@ -91,7 +91,7 @@ public class TileEntityFusionBoiler extends TileEntityLoadedBase implements IFlu
|
||||
|
||||
if(steamCycles > 0) {
|
||||
tanks[0].setFill(tanks[0].getFill() - steamCycles);
|
||||
tanks[1].setFill(tanks[1].getFill() - steamCycles);
|
||||
tanks[1].setFill(tanks[1].getFill() + steamCycles);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -4294,6 +4294,8 @@ tile.fusion_collector.desc=Erhöht Nebenprodukt-Produktion$von einem Fusionsreak
|
||||
tile.fusion_conductor.name=Supraleiter-Magnet
|
||||
tile.fusion_conductor_welded.name=Supraleiter-Magnet (Verschweißt)
|
||||
tile.fusion_core.name=Fusionsreaktorsteuerung
|
||||
tile.fusion_coupler.name=Fusionsreaktor-Plasmakopplung
|
||||
tile.fusion_coupler.desc=Wandelt Plasmaenergie in verwendbare$Klystronenergie um, welche in einem$zweiten Plasmagefäß zur Zündung$verwendet werden kann.
|
||||
tile.fusion_hatch.name=Fusionsreaktorzugriffsluke
|
||||
tile.fusion_heater.name=Plasmaerhitzer-Komponente
|
||||
tile.fusion_klystron.name=Klystron
|
||||
|
||||
@ -5549,6 +5549,8 @@ tile.fusion_collector.desc=Can be connected to the main vessel$to increase bypro
|
||||
tile.fusion_conductor.name=Superconducting Magnet
|
||||
tile.fusion_conductor_welded.name=Superconducting Magnet (Welded)
|
||||
tile.fusion_core.name=Fusion Reactor Control
|
||||
tile.fusion_coupler.name=Fusion Reactor Plasma Coupler
|
||||
tile.fusion_coupler.desc=Turns plasma output energy into$klystron energy, which can be used in a$second plasma vessel to ignite plasma.
|
||||
tile.fusion_hatch.name=Duct Deco Block
|
||||
tile.fusion_heater.name=Plasma Heater Component
|
||||
tile.fusion_klystron.name=Klystron
|
||||
|
||||
11
src/main/resources/assets/hbm/manual/fusion/boiler.json
Normal file
11
src/main/resources/assets/hbm/manual/fusion/boiler.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Fusion Reactor Boiler",
|
||||
"icon": ["hbm:tile.fusion_boiler", 1, 0],
|
||||
"trigger": [["hbm:tile.fusion_boiler"]],
|
||||
"title": {
|
||||
"en_US": "Fusion Reactor Boiler"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "Simplest energy-extracting component of a [[fusion reactor|Fusion Reactor]], uses the plasma output energy (measured in TU/t) from the [[torus|Fusion Reactor Plasma Vessel]] to boil water into [[super dense steam|Super Dense Steam]]. Each mB of water uses 200TU to boil, as a boiler would, however, the fusion reactor boiler produces a higher compression level of steam directly, making it more efficient than conventional boilers.<br><br>Due to using plasma energy, boilers are affected by port sharing rules, meaning that having multiple connected boilers (or [[MHDTs|MHD Turbine]]) decreases the amount of energy each boiler gets, but overall increases the total amount extracted from the torus."
|
||||
}
|
||||
}
|
||||
11
src/main/resources/assets/hbm/manual/fusion/breeder.json
Normal file
11
src/main/resources/assets/hbm/manual/fusion/breeder.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Fusion Reactor Breeding Chamber",
|
||||
"icon": ["hbm:tile.fusion_breeder", 1, 0],
|
||||
"trigger": [["hbm:tile.fusion_breeder"]],
|
||||
"title": {
|
||||
"en_US": "Fusion Reactor Breeding Chamber"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "Uses neutron flux from a fusion reactor's [[torus|Fusion Reactor Plasma Vessel]] in order to process materials. Can perform any recipe from the [[RBMK irradiation channel|RBMK Irradiation Channel]], plus a few unique recipes with liquid inputs. Neutron flux output is not affected by port sharing rules, the neutron flux output level on a torus is constant across all ports no matter how many components are attached to it."
|
||||
}
|
||||
}
|
||||
11
src/main/resources/assets/hbm/manual/fusion/collector.json
Normal file
11
src/main/resources/assets/hbm/manual/fusion/collector.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Fusion Reactor Collector Chamber",
|
||||
"icon": ["hbm:tile.fusion_collector", 1, 0],
|
||||
"trigger": [["hbm:tile.fusion_collector"]],
|
||||
"title": {
|
||||
"en_US": "Fusion Reactor Collector Chamber"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "Can be attached to a fusion reactor's [[torus|Fusion Reactor Plasma Vessel]] in order to increase the byproduct production rate by 50%. The byproducts are extracted from the torus itself, the collector does not have a GUI, nor ports. The collector also does not use the plasma's flux or energy level, so other components affected by energy sharing are unaffected."
|
||||
}
|
||||
}
|
||||
11
src/main/resources/assets/hbm/manual/fusion/coupler.json
Normal file
11
src/main/resources/assets/hbm/manual/fusion/coupler.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Fusion Reactor Coupler",
|
||||
"icon": ["hbm:tile.fusion_coupler", 1, 0],
|
||||
"trigger": [["hbm:tile.fusion_coupler"]],
|
||||
"title": {
|
||||
"en_US": "Fusion Reactor Coupler"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "Small and unassuming, yet the most powerful part of a [[fusion reactor|Fusion Reactor]] setup, the coupler turns outgoing plasma energy from a [[torus|Fusion Reactor Plasma Vessel]] into usable klystron energy which can be used as the power source for another torus. Some fuel combinations require this, as the minimum klystron energy needed to ignite the plasma exceeds what four [[klystrons|Klystron]] could deliver.<br><br>Affected by port sharing rules, keep in mind that the coupler's output will be affected when using [[boilers|Fusion Reactor Boiler]] or [[MHDTs|MHD Turbine]] on the torus it draws power from."
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Fusion Reactor",
|
||||
"icon": ["hbm:tile.fusion_torus", 1, 0],
|
||||
"trigger": [],
|
||||
"title": {
|
||||
"en_US": "Fusion Reactor"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "A powerful and versatile reactor that fuses light elements into heavier ones. Depending on the setup, reactors may be specialized to make as much power as possible, or to make a lot of byproducts efficiently.<br><br>Components:<br>* [[Fusion Reactor Plasma Vessel]]: Core component, this is where the plasma is created<br>* [[Klystron]]: Primary energy source<br>* [[Fusion Reactor Collector Chamber]]: Increases byproduct yield<br>* [[Fusion Reactor Breeding Chamber]]: Uses neutron flux from the vessel to process materials<br>* [[Fusion Reactor Boiler]]: Uses plasma energy to boil water<br>* [[MHD Turbine]]: Uses plasma energy to generate electricity directly<br>* [[Fusion Reactor Coupler]]: Uses plasma energy to generate usable klystron energy, allowing plasma vessels to be chained<br><br>The most basic setup for a fusion reactor is a single plasma vessel (\"torus\"), supplied with power and [[perfluoromethyl|Perfluoromethyl]] cooling, and an air-cooled klystron to ignite its plasma. Depending on its purpose, power-generating parts such as boilers and MHDTs, or byproduct-yielding parts like collectors and breeders may be added.<br><br>More advanced setups may employ couplers to create the energy needed to ignite higher-tier plasmas, creating a setup with two ore more toruses. Byproducts from lower stages can be used for certain higher tier plasma types, so one torus may provide both ignition energy and fuel for another."
|
||||
}
|
||||
}
|
||||
11
src/main/resources/assets/hbm/manual/fusion/klystron.json
Normal file
11
src/main/resources/assets/hbm/manual/fusion/klystron.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Klystron",
|
||||
"icon": ["hbm:tile.fusion_klystron", 1, 0],
|
||||
"trigger": [["hbm:tile.fusion_klystron"]],
|
||||
"title": {
|
||||
"en_US": "Klystron"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "Main power source of a [[fusion reactor|Fusion Reactor]], uses electricity and [[compressed air|Compressed Air]] to generate input energy (klystron energy or KyU) for the connected [[torus|Fusion Reactor Plasma Vessel]]. The output target needs to be defined in the GUI. Will throttle if either the buffered electricity or compressed air falls below 50%. If the klystron's output falls below the connected torus' required input level, it will not throttle, rather the plasma will immediately extinguish."
|
||||
}
|
||||
}
|
||||
11
src/main/resources/assets/hbm/manual/fusion/mhdt.json
Normal file
11
src/main/resources/assets/hbm/manual/fusion/mhdt.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "MHD Turbine",
|
||||
"icon": ["hbm:tile.fusion_mhdt", 1, 0],
|
||||
"trigger": [["hbm:tile.fusion_mhdt"]],
|
||||
"title": {
|
||||
"en_US": "MHD Turbine"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "Magnetohydrodynamic turbines are advanced components of the [[fusion reactor|Fusion Reactor]] that make electric energy out of plasma energy directly without needing steam or turbines, as a [[boiler|Fusion Reactor Boiler]] would. While more expensive and requiring [[perfluoromethyl|Perfluoromethyl]] cooling, they do have an innate +35% conversion bonus from TU to HE.<br><br>Due to using plasma energy, MHDTs are affected by port sharing rules, meaning that having multiple connected MHDTs (or boilers) decreases the amount of energy each turbine gets, but overall increases the total amount extracted from the torus.<br><br>MHDTs do in fact not have any moving parts, instead the large rotating copper wheel is part of its cooling system. Ya dweeb."
|
||||
}
|
||||
}
|
||||
11
src/main/resources/assets/hbm/manual/fusion/torus.json
Normal file
11
src/main/resources/assets/hbm/manual/fusion/torus.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "Fusion Reactor Plasma Vessel",
|
||||
"icon": ["hbm:tile.fusion_torus", 1, 0],
|
||||
"trigger": [["hbm:tile.fusion_torus"]],
|
||||
"title": {
|
||||
"en_US": "Fusion Reactor Plasma Vessel"
|
||||
},
|
||||
"content": {
|
||||
"en_US": "\"Torus\", main component of the [[fusion reactor|Fusion Reactor]], uses fuel and energy from a [[klystron|Klystron]] to generate plasma. Also requires electricity and cooling via [[perfluoromethyl|Perfluoromethyl]] to operate.<br><br>Features four connection ports for external components. Devices that use plasma energy (and not just neutron flux) split the total output, a single component will receive 100% of the energy, two components will receive 62.5% each and three components get 50% each. Therefore, using multiple [[boilers|Fusion Reactor Boiler]] or [[MHDTs|MHD Turbine]] increases the total energy output, although with diminishing returns. Flux levels are not affected when shared, the output remains steady across all ports no matter how many attachments are used.<br><br>Both the buffered electric charge and fuel levels determine working speed, if either is below 50%, the reactor will start to throttle, burnng slower and decreasing output energy. The klystron energy does not affect processing speed, to little energy will simply fail to ignite the plasma, and more energy will not accelerate the reaction."
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user