1
0
mirror of https://github.com/turbodiesel4598/NuclearCraft synced 2025-10-02 10:24:41 +02:00

Compare commits

...

32 Commits

Author SHA1 Message Date
Tom Dodd
4a401499a9
Merge pull request #730 from turbodiesel4598/revert-705-patch-1
Revert "Update TileFissionComputerPort.java OpenComputers new methods"
2021-02-24 10:08:42 +00:00
Tom Dodd
3408774a9c
Revert "Update TileFissionComputerPort.java OpenComputers new methods" 2021-02-24 10:08:32 +00:00
Tom Dodd
21321e0f48
Merge pull request #705 from igentuman/patch-1
Update TileFissionComputerPort.java OpenComputers new methods
2021-02-24 10:07:48 +00:00
Tom Dodd
bd5b325627
Merge pull request #729 from Zanedema/master
Patchouli Documentation Overhaul (en_us)
2021-02-24 10:02:33 +00:00
Tom Dodd
6bdf55657a
Merge pull request #716 from LWHK/master
CHS Translation of v2o.5.0beta
2021-02-24 09:58:58 +00:00
Tom Dodd
f4014e0b57 Merge branch 'master' of https://github.com/turbodiesel4598/NuclearCraft 2021-02-24 09:52:48 +00:00
Tom Dodd
aa19ac961f 2o.5.0beta3 2021-02-24 09:52:44 +00:00
Zanedema
9d0dff9d65 oops part 2
Almost forgot to mention the neutron source. Subject to change and all that.
2021-02-10 11:30:30 -05:00
Zanedema
31c616c7ab Deleted basics
I was holding off doing this, since it felt like there was so much work put into it, but it does not belong inside the documentation due to the variety of recipes. Subject to change and all that.
2021-02-10 09:55:56 -05:00
Zanedema
d99cf47256 Full revision pass 1
Clearing typos, editing for clarity. Subject to change and all that, I'm too lazy to copy paste it right now.
2021-02-10 09:52:37 -05:00
Zanedema
e59db5a873 RTG/Battery and other things
The final pre-existing articles, revised. Subject to change, disscusion, and reversion.
2021-02-10 09:09:59 -05:00
WuzgXY
bd9ee80b3a
Update zh_cn.lang 2021-02-10 16:27:11 +08:00
Zanedema
9f9c43ad46 Machines (Revision 1)
Revised the descriptions of every machine page. Subject to change, disscusion, and reversion.
2021-02-09 21:48:42 -05:00
Zanedema
1d038cca4f i'm not even sure at this point
I have done enough that I have mostly lost track of what I have done. Just look at the changes to get a general idea. Subject to change and all that, you get the gist.
2021-02-09 21:10:47 -05:00
Zanedema
ad251a5b1f >:(
I am extremley unsatisfied with this, but I decided it would be for the best to not to go in depth, and instead refer to the video. Perhaps making a speadsheet fully explaining all the math behind this, and then linking to that instead would be the best option. Subject to change, disscusion, and reversion.
2021-02-09 12:27:10 -05:00
Zanedema
65871fb1f2 Turbine (Revision 1)
Added the sanrom turbine page (edtied a lot) plus extra information. I know equations aren't supposed to be used, but I am not sure how else to explain it. There's only two in this commit. Subject to change, disscusion, and reversion.
2021-02-08 21:49:23 -05:00
Zanedema
0fbededd00 General fission Info (Revision 2)
Added a lot of information to "General Info" in "Nuclear Fusion". I originally intended for the section on heatsinks to be in the now deleted "Solid Fuel" section, but I decided against this, since the behavior of the MSR coolant heaters are derivative from their solid heatsink counterparts. I figure that since solid fuel reactors are the baseline, it isn't worth having a special page for them, considering much of their behavior is universal. When MSRs and Heat Exchangers are fully implemented and mostly stable, it will be worth writing documentation for them, but for now I'm going to let them go. Subject to change, disscusion, and reversion.
2021-02-08 17:01:04 -05:00
Zanedema
4b79dceecc oops
Forgot to comment out a nonexistent item from Reactor Controllers.
2021-02-07 22:24:46 -05:00
Zanedema
348554a6d9 General fission info
Revising "General Info" in "Nuclear Fusion", via @sanrom 's work. Their work is edited and shuffled, with additional information and entries authored by me. Subject to change, disscusion, and reversion.
2021-02-07 22:20:48 -05:00
Zanedema
27c5866b5d Categories (Revision 1)
Revising flavor text for tone inconsitencies. Subject to change, disscusion, and reversion.

*make sure the bold works*
2021-02-07 14:51:46 -05:00
WuzgXY
8467b81430
Update zh_cn.lang 2021-02-06 12:37:44 +08:00
WuzgXY
6cc4dd8f41
Update zh_cn.lang 2021-01-31 15:12:07 +08:00
WuzgXY
f20db03ef2
Update zh_cn.lang 2021-01-27 18:52:17 +08:00
WuzgXY
c13877acc7
Update zh_cn.lang 2021-01-27 00:00:58 +08:00
WuzgXY
511db5bb81
Update zh_cn.lang 2021-01-26 22:35:08 +08:00
WuzgXY
e2f1c87d53
Update zh_cn.lang 2021-01-26 22:13:37 +08:00
WuzgXY
615769f838
Update zh_cn.lang 2021-01-26 21:53:51 +08:00
WuzgXY
83a7981748
Update zh_cn.lang 2021-01-13 15:55:11 +00:00
WuzgXY
f30017a9aa
Update zh_cn.lang 2021-01-09 12:00:19 +08:00
WuzgXY
aa1ba5e2b4
v2o.5.0 2021-01-09 10:12:25 +08:00
WuzgXY
8887a3f60e
Merge pull request #4 from turbodiesel4598/master
测试
2021-01-08 22:19:55 +08:00
Sergey
e09996331d
Update TileFissionComputerPort.java
OpenComputers new methods:
getNumberOfIrradiators()
getIrradiatorsStats()
2020-12-02 01:21:48 +03:00
46 changed files with 1545 additions and 1519 deletions

View File

@ -88,7 +88,7 @@ public class NCInfo {
String[][] info = new String[values.length][]; String[][] info = new String[values.length][];
for (int i = 0; i < values.length; i++) { for (int i = 0; i < values.length; i++) {
info[i] = new String[] { info[i] = new String[] {
Lang.localise("info." + Global.MOD_ID + ".fission_shield.heat_per_flux.fixd", UnitHelper.prefix(values[i].getHeatPerFlux(), 5, "H/t/N")), Lang.localise("info." + Global.MOD_ID + ".fission_shield.heat_per_flux.fixd", UnitHelper.prefix(values[i].getHeatPerFlux(), 5, "H/N")),
Lang.localise("info." + Global.MOD_ID + ".fission_shield.efficiency.fixd", NCMath.pcDecimalPlaces(values[i].getEfficiency(), 1)) Lang.localise("info." + Global.MOD_ID + ".fission_shield.efficiency.fixd", NCMath.pcDecimalPlaces(values[i].getEfficiency(), 1))
}; };
} }

View File

@ -3,8 +3,13 @@ package nc.block.plant;
import java.util.Random; import java.util.Random;
import nc.init.NCBlocks; import nc.init.NCBlocks;
import nc.worldgen.biome.NCBiomes;
import net.minecraft.block.state.IBlockState;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.biome.Biome;
import net.minecraftforge.common.BiomeDictionary;
import net.minecraftforge.common.BiomeDictionary.Type;
public class BlockGlowingMushroom extends NCBlockMushroom { public class BlockGlowingMushroom extends NCBlockMushroom {
@ -14,8 +19,9 @@ public class BlockGlowingMushroom extends NCBlockMushroom {
} }
@Override @Override
protected boolean canGrowHuge() { public boolean canGrow(World worldIn, BlockPos pos, IBlockState state, boolean isClient) {
return true; Biome biome = worldIn.getChunk(pos).getBiome(pos, worldIn.getBiomeProvider());
return biome != null && (biome == NCBiomes.NUCLEAR_WASTELAND || BiomeDictionary.hasType(biome, Type.NETHER));
} }
@Override @Override

View File

@ -5,16 +5,13 @@ import static nc.config.NCConfig.mushroom_spread_rate;
import java.util.Random; import java.util.Random;
import nc.util.NCMath; import nc.util.NCMath;
import nc.worldgen.biome.NCBiomes;
import net.minecraft.block.*; import net.minecraft.block.*;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraft.world.gen.feature.WorldGenerator;
import net.minecraftforge.common.*; import net.minecraftforge.common.EnumPlantType;
import net.minecraftforge.common.BiomeDictionary.Type;
public abstract class NCBlockMushroom extends BlockMushroom { public abstract class NCBlockMushroom extends BlockMushroom {
@ -71,23 +68,14 @@ public abstract class NCBlockMushroom extends BlockMushroom {
return ground.getBlock().canSustainPlant(worldIn.getBlockState(groundPos), worldIn, groundPos, EnumFacing.UP, this); return ground.getBlock().canSustainPlant(worldIn.getBlockState(groundPos), worldIn, groundPos, EnumFacing.UP, this);
} }
protected abstract boolean canGrowHuge();
@Override @Override
public boolean canGrow(World worldIn, BlockPos pos, IBlockState state, boolean isClient) { public abstract boolean canGrow(World worldIn, BlockPos pos, IBlockState state, boolean isClient);
if (!canGrowHuge()) {
return false;
}
Biome biome = worldIn.getChunk(pos).getBiome(pos, worldIn.getBiomeProvider());
return biome != null && (biome == NCBiomes.NUCLEAR_WASTELAND || BiomeDictionary.hasType(biome, Type.NETHER));
}
protected abstract HugeMushroomGenerator getHugeMushroomGenerator(World worldIn, Random rand, BlockPos pos); protected abstract HugeMushroomGenerator getHugeMushroomGenerator(World worldIn, Random rand, BlockPos pos);
@Override @Override
public void grow(World worldIn, Random rand, BlockPos pos, IBlockState state) { public void grow(World worldIn, Random rand, BlockPos pos, IBlockState state) {
if (canGrowHuge()) { if (canGrow(worldIn, pos, state, false)) {
worldIn.setBlockToAir(pos); worldIn.setBlockToAir(pos);
if (!getHugeMushroomGenerator(worldIn, rand, pos).generate(worldIn, rand, pos)) { if (!getHugeMushroomGenerator(worldIn, rand, pos).generate(worldIn, rand, pos)) {
worldIn.setBlockState(pos, state, 3); worldIn.setBlockState(pos, state, 3);

View File

@ -607,7 +607,7 @@ public class JEIRecipeWrapper {
tooltip.add(TextFormatting.RED + FLUX_REQUIRED + " " + TextFormatting.WHITE + UnitHelper.prefix(getIrradiatorFluxRequired(), 5, "N")); tooltip.add(TextFormatting.RED + FLUX_REQUIRED + " " + TextFormatting.WHITE + UnitHelper.prefix(getIrradiatorFluxRequired(), 5, "N"));
double heatPerFlux = getIrradiatorHeatPerFlux(); double heatPerFlux = getIrradiatorHeatPerFlux();
if (heatPerFlux > 0D) { if (heatPerFlux > 0D) {
tooltip.add(TextFormatting.YELLOW + HEAT_PER_FLUX + " " + TextFormatting.WHITE + UnitHelper.prefix(heatPerFlux, 5, "H/t/N")); tooltip.add(TextFormatting.YELLOW + HEAT_PER_FLUX + " " + TextFormatting.WHITE + UnitHelper.prefix(heatPerFlux, 5, "H/N"));
} }
double efficiency = getIrradiatorProcessEfficiency(); double efficiency = getIrradiatorProcessEfficiency();
if (efficiency > 0D) { if (efficiency > 0D) {
@ -615,7 +615,7 @@ public class JEIRecipeWrapper {
} }
double radiation = getIrradiatorBaseProcessRadiation(); double radiation = getIrradiatorBaseProcessRadiation();
if (radiation > 0D) { if (radiation > 0D) {
tooltip.add(TextFormatting.GOLD + RADIATION_PER_FLUX + " " + RadiationHelper.getRadiationTextColor(radiation) + UnitHelper.prefix(radiation / RecipeStats.getFissionMaxModeratorLineFlux(), 3, "Rad/t/N")); tooltip.add(TextFormatting.GOLD + RADIATION_PER_FLUX + " " + RadiationHelper.getRadiationTextColor(radiation) + UnitHelper.prefix(radiation, 3, "Rad/N"));
} }
} }

View File

@ -688,7 +688,7 @@ public class QuantumComputer extends Multiblock<IQuantumComputerPart, Multiblock
} }
String codeString = codeBuilder.toString(); String codeString = codeBuilder.toString();
String s = IOHelper.NEW_LINE, d = s + s; String s = IOHelper.NEW_LINE, d = s + s, time = Long.toString(System.currentTimeMillis() / 100L);
if (codeType == 0) { if (codeType == 0) {
if (codeString.isEmpty()) { if (codeString.isEmpty()) {
@ -696,12 +696,12 @@ public class QuantumComputer extends Multiblock<IQuantumComputerPart, Multiblock
return; return;
} }
File out = new File("nuclearcraft/quantum/qasm/" + q + "_qubit_" + System.currentTimeMillis() + ".qasm"); File out = new File("nuclearcraft/quantum/qasm/" + q + "_qubit_" + time + ".qasm");
codeString = "OPENQASM 2.0;" + s + codeString = "OPENQASM 2.0;" + s +
"include \"qelib1.inc\";" + d + "include \"qelib1.inc\";" + d +
"qreg q[" + q + "];" + s + "qreg q[" + q + "];" + s +
"creg c[" + q + "];" + s + "creg c[" + q + "];" + d +
codeString; codeString;
try { try {
@ -721,7 +721,7 @@ public class QuantumComputer extends Multiblock<IQuantumComputerPart, Multiblock
return; return;
} }
File out = new File("nuclearcraft/quantum/qiskit/" + q + "_qubit_" + System.currentTimeMillis() + ".ipynb"); File out = new File("nuclearcraft/quantum/qiskit/" + q + "_qubit_" + time + ".ipynb");
codeString = "# Jupyter plot output mode" + s + codeString = "# Jupyter plot output mode" + s +
"%matplotlib inline" + d + "%matplotlib inline" + d +
@ -738,6 +738,9 @@ public class QuantumComputer extends Multiblock<IQuantumComputerPart, Multiblock
"import numpy as np" + s + "import numpy as np" + s +
"from numpy import pi" + d + "from numpy import pi" + d +
"# Plotting" + s +
"from matplotlib import pyplot as plt" + d +
"# Number of qubits" + s + "# Number of qubits" + s +
"qubits = " + q + d + "qubits = " + q + d +
@ -755,14 +758,14 @@ public class QuantumComputer extends Multiblock<IQuantumComputerPart, Multiblock
"qc_backend = " + (q > 16 ? "simulator" : "device") + d + "qc_backend = " + (q > 16 ? "simulator" : "device") + d +
"# Helper function" + s + "# Helper function" + s +
"def run_job(circuit_, backend_, shots_ = 1024, opt_ = 1):" + s + "def run_job(circuit_, backend_, shots_ = 4096, opt_ = 1):" + s +
" print('Using {}'.format(backend_))" + s + " print('Using {}'.format(backend_))" + s +
" job = execute(circuit_, backend = backend_, shots = shots_, optimization_level = opt_)" + s + " job = execute(circuit_, backend = backend_, shots = shots_, optimization_level = opt_)" + s +
" job_monitor(job)" + s + " job_monitor(job)" + s +
" return job.result()" + d + " return job.result()" + d +
"# Construct circuit" + s + "# Construct circuit" + s +
"qc = QuantumCircuit(qubits, qubits)" + s + "qc = QuantumCircuit(qubits, qubits)" + d +
codeString + s + codeString + s +
@ -770,19 +773,20 @@ public class QuantumComputer extends Multiblock<IQuantumComputerPart, Multiblock
"optimize = True" + d + "optimize = True" + d +
"# Optimization" + s + "# Optimization" + s +
"optimization = 0" + s + "optimization = 1" + s +
"if optimize:" + s + "if optimize:" + s +
" qc_cx = qc_depth = sys.maxsize" + s + " qc_cx = qc_depth = sys.maxsize" + s +
" for o in range(4):" + s + " for o in range(1, 4):" + s +
" qc_opt = transpile(qc, backend = qc_backend, seed_transpiler = " + rand.nextInt() + ", optimization_level = o)" + s + " qc_opt = transpile(qc, backend = qc_backend, seed_transpiler = " + Math.abs(rand.nextInt()) + ", optimization_level = o)" + s +
" if (qc_opt.count_ops().get('cx') < qc_cx" + s + " if (qc_opt.count_ops().get('cx') < qc_cx" + s +
" or (qc_opt.count_ops().get('cx') == qc_cx and qc_opt.depth() <= qc_depth)):" + s + " or (qc_opt.count_ops().get('cx') == qc_cx and qc_opt.depth() <= qc_depth)):" + s +
" optimization = o" + s + " optimization = o" + s +
" print('Optimization level: {}'.format(optimization))" + d + " print('Optimization level: {}'.format(optimization))" + d +
"# Run circuit" + s + "# Run circuit" + s +
"result = run_job(qc, qc_backend, 1024, optimization)" + s + "result = run_job(qc, qc_backend, 4096, optimization)" + s +
"counts = result.get_counts(qc)" + s + "counts = result.get_counts(qc)" + s +
"hist = plot_histogram(counts)" + s +
"print('\\n', counts)" + d + "print('\\n', counts)" + d +
"# Printing results" + s + "# Printing results" + s +
@ -793,8 +797,11 @@ public class QuantumComputer extends Multiblock<IQuantumComputerPart, Multiblock
"# Draw circuit" + s + "# Draw circuit" + s +
"# qc.draw()" + d + "# qc.draw()" + d +
"# Plot results" + s + "# Plot results - only works in Jupyter" + s +
"# plot_histogram(counts)" + s; "hist" + d +
"# Save plot to file - won't work in IBM Q" + s +
"# hist.savefig('counts.png')" + s;
try { try {
FileUtils.writeStringToFile(out, codeString); FileUtils.writeStringToFile(out, codeString);

View File

@ -86,12 +86,12 @@ public class RadiationRenders {
private static void drawTexturedModalRect(int x, int y, int textureX, int textureY, int width, int height) { private static void drawTexturedModalRect(int x, int y, int textureX, int textureY, int width, int height) {
double zLevel = 0D; double zLevel = 0D;
Tessellator tessellator = Tessellator.getInstance(); Tessellator tessellator = Tessellator.getInstance();
BufferBuilder bufferbuilder = tessellator.getBuffer(); BufferBuilder builder = tessellator.getBuffer();
bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX); builder.begin(7, DefaultVertexFormats.POSITION_TEX);
bufferbuilder.pos(x + 0, y + height, zLevel).tex((textureX + 0) * 0.00390625F, (textureY + height) * 0.00390625F).endVertex(); builder.pos(x + 0, y + height, zLevel).tex((textureX + 0) * 0.00390625F, (textureY + height) * 0.00390625F).endVertex();
bufferbuilder.pos(x + width, y + height, zLevel).tex((textureX + width) * 0.00390625F, (textureY + height) * 0.00390625F).endVertex(); builder.pos(x + width, y + height, zLevel).tex((textureX + width) * 0.00390625F, (textureY + height) * 0.00390625F).endVertex();
bufferbuilder.pos(x + width, y + 0, zLevel).tex((textureX + width) * 0.00390625F, (textureY + 0) * 0.00390625F).endVertex(); builder.pos(x + width, y + 0, zLevel).tex((textureX + width) * 0.00390625F, (textureY + 0) * 0.00390625F).endVertex();
bufferbuilder.pos(x + 0, y + 0, zLevel).tex((textureX + 0) * 0.00390625F, (textureY + 0) * 0.00390625F).endVertex(); builder.pos(x + 0, y + 0, zLevel).tex((textureX + 0) * 0.00390625F, (textureY + 0) * 0.00390625F).endVertex();
tessellator.draw(); tessellator.draw();
} }
@ -134,7 +134,7 @@ public class RadiationRenders {
int y = Math.min((int) player.posY - 2, player.getEntityWorld().getChunk(chunkX, chunkZ).getLowestHeight()); int y = Math.min((int) player.posY - 2, player.getEntityWorld().getChunk(chunkX, chunkZ).getLowestHeight());
float h = (float) Math.max(32, player.posY - y + 8); float h = (float) Math.max(32, player.posY - y + 8);
Tessellator tessellator = Tessellator.getInstance(); Tessellator tessellator = Tessellator.getInstance();
BufferBuilder BufferBuilder = tessellator.getBuffer(); BufferBuilder builder = tessellator.getBuffer();
GlStateManager.disableTexture2D(); GlStateManager.disableTexture2D();
GlStateManager.enableBlend(); GlStateManager.enableBlend();
@ -144,28 +144,28 @@ public class RadiationRenders {
float r = 255; float r = 255;
float g = 0; float g = 0;
float b = 0; float b = 0;
BufferBuilder.setTranslation(chunkX - px, y + 2 - py, chunkZ - pz); builder.setTranslation(chunkX - px, y + 2 - py, chunkZ - pz);
GlStateManager.glLineWidth(5f); GlStateManager.glLineWidth(5f);
BufferBuilder.begin(GL11.GL_LINES, DefaultVertexFormats.POSITION_COLOR); builder.begin(GL11.GL_LINES, DefaultVertexFormats.POSITION_COLOR);
BufferBuilder.pos(0, 0, 0).color(r, g, b, .375f).endVertex(); builder.pos(0, 0, 0).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(0, h, 0).color(r, g, b, .375f).endVertex(); builder.pos(0, h, 0).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(16, 0, 0).color(r, g, b, .375f).endVertex(); builder.pos(16, 0, 0).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(16, h, 0).color(r, g, b, .375f).endVertex(); builder.pos(16, h, 0).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(16, 0, 16).color(r, g, b, .375f).endVertex(); builder.pos(16, 0, 16).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(16, h, 16).color(r, g, b, .375f).endVertex(); builder.pos(16, h, 16).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(0, 0, 16).color(r, g, b, .375f).endVertex(); builder.pos(0, 0, 16).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(0, h, 16).color(r, g, b, .375f).endVertex(); builder.pos(0, h, 16).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(0, 2, 0).color(r, g, b, .375f).endVertex(); builder.pos(0, 2, 0).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(16, 2, 0).color(r, g, b, .375f).endVertex(); builder.pos(16, 2, 0).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(0, 2, 0).color(r, g, b, .375f).endVertex(); builder.pos(0, 2, 0).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(0, 2, 16).color(r, g, b, .375f).endVertex(); builder.pos(0, 2, 16).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(0, 2, 16).color(r, g, b, .375f).endVertex(); builder.pos(0, 2, 16).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(16, 2, 16).color(r, g, b, .375f).endVertex(); builder.pos(16, 2, 16).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(16, 2, 0).color(r, g, b, .375f).endVertex(); builder.pos(16, 2, 0).color(r, g, b, 0.375F).endVertex();
BufferBuilder.pos(16, 2, 16).color(r, g, b, .375f).endVertex(); builder.pos(16, 2, 16).color(r, g, b, 0.375F).endVertex();
tessellator.draw(); tessellator.draw();
BufferBuilder.setTranslation(0, 0, 0); builder.setTranslation(0, 0, 0);
GlStateManager.shadeModel(GL11.GL_FLAT); GlStateManager.shadeModel(GL11.GL_FLAT);
GlStateManager.enableCull(); GlStateManager.enableCull();
GlStateManager.disableBlend(); GlStateManager.disableBlend();

View File

@ -3431,9 +3431,9 @@ death.attack.fatal_rads=%1$s died due to fatal radiation poisoning
# Guide Book # Guide Book
nc.guide_book.name=NuclearCraft Guide (WIP) nc.guide_book.name=NuclearCraft Guide
nc.guide_book.edition=Overhaul Edition nc.guide_book.edition=Overhaul Edition
nc.guide_book.desc=The official guide for NuclearCraft: Overhauled (WIP). nc.guide_book.desc=NuclearCraft (NC) is a tech mod focused on nuclear power generation. Most of the mod's features and mechanics are inspired by real equivalents, though there are many simplifications, abstractions, and deviations from reality for the sake of interesting gameplay.
# String Formatting # String Formatting

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +0,0 @@
{
"name": "The Basics",
"description": "A journey of many isotopes begins with a single tree.",
"icon": "nuclearcraft:ingot:0",
"sortnum": 0
}

View File

@ -1,6 +1,6 @@
{ {
"name": "Nuclear Fission", "name": "Nuclear Fission",
"description": "Nuclear power, the forbidden fruit...", "description": "$(l)Splitting the atom, for fun and profit.",
"icon": "nuclearcraft:solid_fission_controller", "icon": "nuclearcraft:solid_fission_controller",
"parent": "nuclearcraft:multiblocks", "parent": "nuclearcraft:multiblocks",
"sortnum": 0 "sortnum": 0

View File

@ -1,6 +1,6 @@
{ {
"name": "Nuclear Fusion (WIP)", "name": "Nuclear Fusion (WIP)",
"description": "An inexhaustible supply of energy...", "description": "$(l)Fusing the atom, for fun and ultimate glory.",
"icon": "nuclearcraft:part:4", "icon": "nuclearcraft:part:4",
"parent": "nuclearcraft:multiblocks", "parent": "nuclearcraft:multiblocks",
"sortnum": 1 "sortnum": 1

View File

@ -1,6 +1,6 @@
{ {
"name": "Heat Exchanger (WIP)", "name": "Heat Exchanger (WIP)",
"description": "\"Classical thermodynamics is the only physical theory of universal content which I am convinced will never be overthrown...\"$(br2)- Albert Einstein", "description": "$(l)\"Classical thermodynamics is the only physical theory of universal content which I am convinced will never be overthrown...\"$(br2)- Albert Einstein",
"icon": "nuclearcraft:heat_exchanger_controller", "icon": "nuclearcraft:heat_exchanger_controller",
"parent": "nuclearcraft:multiblocks", "parent": "nuclearcraft:multiblocks",
"sortnum": 2 "sortnum": 2

View File

@ -0,0 +1,6 @@
{
"name": "Items",
"description": "$(l)The tools of the trade.",
"icon": "nuclearcraft:geiger_counter",
"sortnum": 1
}

View File

@ -1,6 +1,6 @@
{ {
"name": "Machines", "name": "Machines",
"description": "Summaries for all the single-block devices.", "description": "$(l)Like a well-oiled machine.",
"icon": "nuclearcraft:machine_interface", "icon": "nuclearcraft:machine_interface",
"sortnum": 1 "sortnum": 1
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "Multiblocks", "name": "Multiblocks",
"description": "Think big, build big.", "description": "$(l)Think big, build big.",
"icon": "nuclearcraft:multitool", "icon": "nuclearcraft:turbine_dynamo_coil:0",
"sortnum": 2 "sortnum": 2
} }

View File

@ -1,147 +0,0 @@
{
"name": "Alloys",
"icon": "nuclearcraft:alloy:10",
"category": "nuclearcraft:basics_",
"sortnum": 2,
"pages": [
{
"anchor": "intro",
"type": "text",
"text": "Alloys are made by combining two materials in an $(l:machines/processors#alloy_furnace)Alloy Furnace$(/l)$(br)Dust and Ingots can be used to make the alloys, and OreDict substitutions are valid"
},
{
"flag": "!mod:thermalfoundation",
"anchor": "bronze_alloy",
"type": "items/alloy",
"item1": "nuclearcraft:ingot:0#3,nuclearcraft:dust:0#3",
"item2": "nuclearcraft:ingot:1,nuclearcraft:dust:1",
"result": "nuclearcraft:alloy:0#4",
"text": "3 Copper and 1 Tin make 4$(br2)$(o)Disabled if Thermal Foundation is installed$()"
},
{
"anchor": "tough_alloy",
"type": "items/alloy",
"item1": "nuclearcraft:ingot:6,nuclearcraft:dust:6",
"item2": "nuclearcraft:alloy:6",
"result": "nuclearcraft:alloy:1#2",
"text": "1 Lithiun and 1 Ferroboron make 2"
},
{
"anchor": "hard_carbon_alloy",
"type": "items/alloy",
"item1": "nuclearcraft:ingot:8#2,nuclearcraft:dust:8#2",
"item2": "ore:gemDiamond",
"result": "nuclearcraft:alloy:2#2",
"text": "1 Diamond and 2 Graphite make 2"
},
{
"anchor": "MgB2_alloy",
"type": "items/alloy",
"small": true,
"item1": "nuclearcraft:ingot:5#2,nuclearcraft:dust:5#2",
"item2": "nuclearcraft:ingot:7,nuclearcraft:dust:7",
"result": "nuclearcraft:alloy:3#3",
"text": "2 Boron and 1 Magnesium make 3"
},
{
"anchor": "LiMnO2_alloy",
"type": "items/alloy",
"small": true,
"item1": "nuclearcraft:ingot:6,nuclearcraft:dust:6",
"item2": "nuclearcraft:ingot:15,nuclearcraft:dust:15",
"result": "nuclearcraft:alloy:4#2",
"text": "1 Manganese Dioxide and 1 Lithium make 2"
},
{
"flag": "!mod:thermalfoundation",
"anchor": "steel_alloy",
"type": "items/alloy",
"item1": "ore:ingotIron",
"item2": "minecraft:coal#2,nuclearcraft:gem_dust:7#2,nuclearcraft:ingot:8#2,nuclearcraft:dust:8#2",
"result": "nuclearcraft:alloy:5",
"text": "1 Iron and 2 Coal/Graphite make 1$(br2)$(o)Disabled if Thermal Foundation is installed$()"
},
{
"anchor": "FB_alloy",
"type": "items/alloy",
"item1": "ore:ingotSteel,ore:dustSteel",
"item2": "nuclearcraft:ingot:5,nuclearcraft:dust:5",
"result": "nuclearcraft:alloy:6#2",
"text": "1 Steel and 1 Boron make 2"
},
{
"anchor": "AgCu3_alloy",
"type": "items/alloy",
"item1": "nuclearcraft:ingot:0#3,nuclearcraft:dust:0#3",
"item2": "nuclearcraft:ingot:13,nuclearcraft:dust:13",
"result": "nuclearcraft:alloy:7#4",
"text": "3 Copper and 1 Silver make 4"
},
{
"anchor": "Sn3Ag_alloy",
"type": "items/alloy",
"item1": "nuclearcraft:ingot:1#3,nuclearcraft:dust:1#3",
"item2": "nuclearcraft:ingot:13,nuclearcraft:dust:13",
"result": "nuclearcraft:alloy:8#4",
"text": "3 Tin and 1 Silver make 4"
},
{
"flag": "mod:thermalfoundation",
"anchor": "Pb3Pt_alloy",
"type": "items/alloy",
"item1": "nuclearcraft:ingot:2#3,nuclearcraft:dust:2#3",
"item2": "ore:ingotPlatinum",
"result": "nuclearcraft:alloy:9#4",
"text": "3 Lead and 1 Platinum make 4$(br2)$(o)Enabled only if Thermal Foundation is installed$()"
},
{
"anchor": "extreme_alloy",
"type": "items/alloy",
"item1": "nuclearcraft:alloy:1",
"item2": "nuclearcraft:alloy:2",
"result": "nuclearcraft:alloy:10",
"text": "1 Tough Alloy and 1 Hard Carbon Alloy make 2"
},
{
"anchor": "thermoconducting_alloy",
"type": "items/alloy",
"item1": "nuclearcraft:alloy:10",
"item2": "nuclearcraft:gem:5",
"result": "nuclearcraft:alloy:11#2",
"text": "1 Extreme alloy and 1 Boron Arsenide make 2"
},
{
"anchor": "Zr7Sn_alloy",
"type": "items/alloy",
"item1": "nuclearcraft:ingot:10#7,nuclearcraft:dust:10#7",
"item2": "nuclearcraft:ingot:1,nuclearcraft:dust:1",
"result": "nuclearcraft:alloy:12#8",
"text": "7 Zirconium and 1 Tin make 8"
},
{
"anchor": "SiC_alloy",
"type": "items/alloy",
"item1": "nuclearcraft:gem:6",
"item2": "nuclearcraft:ingot:8,nuclearcraft:dust:8",
"result": "nuclearcraft:alloy:13#2",
"text": "1 Silicon and 1 Graphite make 2"
},
{
"anchor": "SiCSiCCMC_alloy",
"type": "items/alloy",
"small": true,
"item1": "",
"item2": "",
"result": "nuclearcraft:alloy:14#4",
"text": "No recipes implemented yet"
},
{
"anchor": "HSLA_alloy",
"type": "items/alloy",
"item1": "minecraft:iron_ingot#15",
"item2": "nuclearcraft:compound:10",
"result": "nuclearcraft:alloy:15#16",
"text": "15 Iron and 1 Carbon Manganese Blend make 16"
}
]
}

View File

@ -1,68 +0,0 @@
{
"name": "Gems and Crystals",
"icon": "nuclearcraft:gem:0",
"category": "nuclearcraft:basics_",
"sortnum": 3,
"pages":
[
{
"anchor": "intro",
"type": "text",
"text": "Crystals are usually made by placing the corresponding dust in the $(l:machines/processors#pressurizer)Pressurizer$(/l). Crushed crystals are made by crushing Andesite, Diorite or Granite in the $(l:machines/processors#rock_crusher)Rock Crusher$(/l)"
},
{
"anchor": "rhondochrosite",
"type": "items/material",
"ingot": "nuclearcraft:gem:0",
"dust": "nuclearcraft:gem_dust:1",
"isCompound": true,
"formula": "MnCO3",
"text": "Crushed Rhondocrhosite is made by crushing Granite"
},
{
"anchor": "fluorite",
"type": "items/material",
"ingot": "nuclearcraft:gem:2",
"dust": "nuclearcraft:gem_dust:5",
"isCompound": true,
"formula": "CaF2",
"text": "Crushed Fluorite is made by crushing Diorite"
},
{
"anchor": "villaumite",
"type": "items/material",
"ingot": "nuclearcraft:gem:3",
"dust": "nuclearcraft:gem_dust:8",
"isCompound": true,
"formula": "NaF",
"text": "Crushed Villaumite is made by crushing Granite"
},
{
"anchor": "carobbiite",
"type": "items/material",
"ingot": "nuclearcraft:gem:4",
"dust": "nuclearcraft:gem_dust:9",
"isCompound": true,
"formula": "KF",
"text": "Crushed Carobbiite (yes, that's how it's spelled) is made by crushing Diorite"
},
{
"anchor": "boron nitride",
"type": "items/material",
"ingot": "nuclearcraft:gem:1",
"dust": "nuclearcraft:gem_dust:4",
"isCompound": true,
"formula": "BN",
"text": "Cubic Boron Nitride is made by pressurizing Hexagonal Boron Nitride, which is made by crystallizing Boron Nitride Solution. More details in the Boron Nitride Processing Chain"
},
{
"anchor": "boron arsenide",
"type": "items/material",
"singleItem": true,
"item": "nuclearcraft:gem:5",
"isCompound": true,
"formula": "BAs",
"text": "Boron Arsenide is made by $(l:machines/processors#ingot_former)solidifying$(/l) Molten Boron Arsenide. More details in the Arsenic Processing Chain"
}
]
}

View File

@ -1,16 +0,0 @@
{
"name": "Introduction",
"icon": "nuclearcraft:ingot:4",
"category": "nuclearcraft:basics",
"sortnum": 0,
"pages": [
{
"type": "text",
"text": "NuclearCraft (NC) is a tech mod focused on nuclear power generation. Most of the mod's features and mechanics are inspired by real equivalents, though there are many simplifications, abstractions and deviations from the real deal in order to exchange tedium for interesting gameplay."
},
{
"type": "text",
"text": "This guide will $(l)not$() cover the details of various pieces of information such as recipes, component stats and placement rules, as they can vary between different configuration settings, in particular different mod packs. They will instead be shown in JEI and the tooltips of the relevant items and blocks."
}
]
}

View File

@ -1,85 +0,0 @@
{
"name": "Ores and Ingots",
"icon": "nuclearcraft:ore:3",
"category": "nuclearcraft:basics",
"sortnum": 1,
"pages": [
{
"anchor": "intro",
"type": "text",
"text": "This is a list of all ores naturally generated in NuclearCraft. Ores can be processed into dust and then smelted into ingots."
},
{
"anchor": "copper",
"type": "items/ore",
"symbol": "Cu",
"num": "29",
"ore": "nuclearcraft:ore:0",
"ingot": "nuclearcraft:ingot:0",
"dust": "nuclearcraft:dust:0"
},
{
"anchor": "tin",
"type": "items/ore",
"symbol": "Sn",
"num": "50",
"ore": "nuclearcraft:ore:1",
"ingot": "nuclearcraft:ingot:1",
"dust": "nuclearcraft:dust:1"
},
{
"anchor": "lead",
"type": "items/ore",
"symbol": "Pb",
"num": "82",
"ore": "nuclearcraft:ore:2",
"ingot": "nuclearcraft:ingot:2",
"dust": "nuclearcraft:dust:2"
},
{
"anchor": "thorium",
"type": "items/ore",
"symbol": "Th",
"num": "90",
"ore": "nuclearcraft:ore:3",
"ingot": "nuclearcraft:ingot:3",
"dust": "nuclearcraft:dust:3"
},
{
"anchor": "uranium",
"type": "items/ore",
"symbol": "U",
"num": "92",
"ore": "nuclearcraft:ore:4",
"ingot": "nuclearcraft:ingot:4",
"dust": "nuclearcraft:dust:4"
},
{
"anchor": "boron",
"type": "items/ore",
"symbol": "B",
"num": "5",
"ore": "nuclearcraft:ore:5",
"ingot": "nuclearcraft:ingot:5",
"dust": "nuclearcraft:dust:5"
},
{
"anchor": "lithium",
"type": "items/ore",
"symbol": "Li",
"num": "3",
"ore": "nuclearcraft:ore:6",
"ingot": "nuclearcraft:ingot:6",
"dust": "nuclearcraft:dust:6"
},
{
"anchor": "magnesium",
"type": "items/ore",
"symbol": "Mg",
"num": "29",
"ore": "nuclearcraft:ore:7",
"ingot": "nuclearcraft:ingot:7",
"dust": "nuclearcraft:dust:7"
}
]
}

View File

@ -1,112 +0,0 @@
{
"name": "Other Materials",
"icon": "nuclearcraft:dust:8",
"category": "nuclearcraft:basics_",
"sortnum": 4,
"pages":
[
{
"anchor": "intro",
"type": "text",
"text": "These materials are not found naturally in the world, but they can be made by other processes"
},
{
"anchor": "graphite",
"type": "items/material",
"ingot": "nuclearcraft:ingot:8",
"dust": "nuclearcraft:dust:8",
"isElement": true,
"symbol": "C",
"num": "6",
"text": "Graphite is a crystalline form of Carbon. It is made by processing Coal in the $(l:machines/processors#manufactory)Manufactory$(/l)"
},
{
"anchor": "silicon",
"type": "items/material",
"singleItem": true,
"item": "nuclearcraft:gem:6",
"isElement": true,
"symbol": "Si",
"num": "14",
"text": "Silicon is made by processing Sand in the $(l:machines/processors#manufactory)Manufactory$(/l)"
},
{
"anchor": "beryllium",
"type": "items/material",
"ingot": "nuclearcraft:ingot:9",
"dust": "nuclearcraft:dust:9",
"isElement": true,
"symbol": "Be",
"num": "4",
"text": "Beryllium Dust is made by $(l:machines/processors#rock_crusher)crusing$(/l) Andesite"
},
{
"anchor": "zirconium",
"type": "items/material",
"ingot": "nuclearcraft:ingot:10",
"dust": "nuclearcraft:dust:10",
"isElement": true,
"symbol": "Zr",
"num": "40",
"text": "Zirconium Dust is made by crushing Diorite"
},
{
"anchor": "aluminum",
"type": "items/material",
"ingot": "nuclearcraft:ingot:12",
"dust": "nuclearcraft:dust:12",
"isElement": true,
"symbol": "Al",
"num": "13",
"text": "More details in the Alugentum Processing Chain"
},
{
"anchor": "silver",
"type": "items/material",
"ingot": "nuclearcraft:ingot:13",
"dust": "nuclearcraft:dust:13",
"isElement": true,
"symbol": "Ag",
"num": "47",
"text": "More details in the Alugentum Processing Chain"
},
{
"anchor": "manganese",
"type": "items/material",
"ingot": "nuclearcraft:ingot:11",
"dust": "nuclearcraft:dust:11",
"isElement": true,
"symbol": "Mn",
"num": "25",
"text": "Manganese Ingots are made by smelting Manganese Oxide"
},
{
"anchor": "manganese oxide",
"type": "items/material",
"ingot": "nuclearcraft:ingot:14",
"dust": "nuclearcraft:dust:14",
"isCompound": true,
"formula": "MnO",
"text": "Manganese Oxide dust is made by smelting Crushed Rhondochrosite. More Details in the Manganese Processing Chain"
},
{
"anchor": "manganese dioxide",
"type": "items/material",
"ingot": "nuclearcraft:ingot:15",
"dust": "nuclearcraft:dust:15",
"isCompound": true,
"formula": "MnO2",
"text": "Manganese Dioxide is made by infusing Manganese Oxide with Oxygen. More Details in the Manganese Processing Chain"
},
{
"anchor": "arsenic",
"type": "items/material",
"singleItem": true,
"item": "nuclearcraft:gem_dust:10",
"isElement": true,
"symbol": "As",
"num": "33",
"text": "Crusehd Arsenic is made by crushing Diorite. More Details in the Arsenic Processing Chain"
}
]
}

View File

@ -7,7 +7,7 @@
{ {
"anchor": "intro", "anchor": "intro",
"type": "text", "type": "text",
"text": "Fission reactors generate heat from the self-sustained nuclear reaction of fission fuel. This heat is ultimately transformed into useful energy, and the way this is achieved depends on the type of reactor being built." "text": "$(thing)Fission reactors$() generate heat from the self-sustained nuclear reaction of fission fuel. This heat is ultimately transformed into electricity. The method of electricity generation depends on the type of reactor being built."
}, },
{ {
"anchor": "casing", "anchor": "casing",
@ -15,45 +15,131 @@
"header": "Reactor Casing", "header": "Reactor Casing",
"block1": "nuclearcraft:fission_casing", "block1": "nuclearcraft:fission_casing",
"block2": "nuclearcraft:fission_glass", "block2": "nuclearcraft:fission_glass",
"text": "The reactor's interior components are contained within a cuboidal structure. The edges must consist of reactor casing, while reactor glass can be used instead of casing for the walls. When the multiblock forms, the casing blocks on the edges will be given a new frame texture." "text": "The interior components of the reactor are contained within a rectangular prism. The reactor must have edges consisting of $(item)Reactor Casing$(), while the walls of the reactor can be $(item)Reactor Glass$(), Reactor Casing, or both."
}, },
{ {
"anchor": "controller", "anchor": "controller",
"type": "blocks/3", "type": "blocks/2",
"header": "Reactor Controllers", "header": "Reactor Controllers",
"block1": "nuclearcraft:pebble_fission_controller", "block1": "nuclearcraft:solid_fission_controller",
"block2": "nuclearcraft:solid_fission_controller", "block2": "nuclearcraft:salt_fission_controller",
"block3": "nuclearcraft:salt_fission_controller", "text": "The reactor type is determined by the $(item)Reactor Controller$(), installed in one of the reactor walls. Without a controller, the reactor multiblock will not form. It's GUI will show information about the reactor, such as the averages of relevant components' stats."
"text": "The type of reactor is given by the controller, installed in one of the reactor walls. Without a controller, the multiblock will not form. Its GUI will show information about the reactor as a whole, such as the averages of relevant components' stats." },
{
"anchor": "clusters",
"type": "text",
"title": "Reactor Clusters",
"text": "$(thing)Clusters$() are connected groups of heat-conducting components. These components, which can be in an active or idle state only, conduct heat when active. Passive blocks such as $(l:fission/general#conductor)Conductor$() blocks always do, while $(l:fission/general#moderator)Moderators$() and $(l:fission/general#reflector)Reflectors$() do not make up clusters."
},
{
"type": "text",
"title": "Reactor Clusters Cont.",
"text": "The components in a cluster share a combined heat level, and will collectively overheat if they get too hot. If the reactor contains a cluster that is not connected to the casing, the multiblock won't form."
}, },
{ {
"anchor": "conductor", "anchor": "conductor",
"type": "blocks/1", "type": "blocks/1",
"header": "Conductor Blocks", "header": "Conductor Blocks",
"block": "nuclearcraft:fission_conductor", "block": "nuclearcraft:fission_conductor",
"text": "If the structure contains groups of components disconnected from the casing, the multiblock can not form. Conductor blocks can be used to join these blocks to the reactor's walls. $(l)Clusters$() can also be connected together with the use of these blocks." "text": "$(item)Conductor Blocks$() can be used to join these blocks to the reactor's walls. Clusters can also be connected together with the use of these blocks."
},
{
"anchor": "clusters",
"type": "text",
"title": "Reactor Clusters",
"text": "Clusters are simply connected groups of heat-conducting components. Components which can be in an active or idle state only conduct heat when functional, while passive blocks such as conductor blocks always do. Moderator and reflector blocks do $(l)not$() make up clusters. The components share a combined heat level, so will collectively overheat if they get too hot."
}, },
{ {
"anchor": "monitor", "anchor": "monitor",
"type": "blocks/1", "type": "blocks/1",
"header": "Reactor Monitors", "header": "Reactor Monitors",
"block": "nuclearcraft:fission_monitor", "block": "nuclearcraft:fission_monitor",
"text": "Monitors are used to get more localised information about the reactor, particularly the stats of individual clusters." "text": "$(item)Reactor Monitors$() are used to get more localized information about the stats of individual clusters."
}, },
{ {
"anchor": "fuel_component", "anchor": "fuel_component",
"type": "blocks/3", "type": "blocks/2",
"header": "Fuel Components", "header": "Fuel Components",
"block1": "nuclearcraft:pebble_fission_chamber", "block1": "nuclearcraft:solid_fission_cell",
"block2": "nuclearcraft:solid_fission_cell", "block2": "nuclearcraft:salt_fission_vessel",
"block3": "nuclearcraft:salt_fission_vessel", "text": "Each type of reactor has an associated $(item)Fuel Component$(), which houses the fission fuel. When the fuel is undergoing fission, it produces a certain amount of heat. Fuel components can also be filtered by right-clicking it with a fuel to allow for multi-fuel reactors."
"text": "Each type of reactor has an associated fuel component which houses the fission fuel." },
{
"anchor": "criticality",
"type": "text",
"title": "Criticality Factor",
"text": "For fuels to be able to undergo fission, they must receive a certain neutron flux, measured in N/t. When the neutron flux going into a $(l:fission/general#fuel_component)Fuel Component$() is above the fuel's criticality factor, the fuel will start undergoing fission. This will not only produce heat, but also more neutrons."
},
{
"type": "text",
"text": "If the flux in a fuel cell goes over two times it's criticality factor, the efficiency of the reactor will be reduced. Neutron flux can also be used for crafting recipes in the $(l:fission/general#irradiator)Irradiator$()."
},
{
"anchor": "moderator",
"type": "blocks/3",
"header": "Moderators",
"block1": "nuclearcraft:ingot_block:8",
"block2": "nuclearcraft:ingot_block:9",
"block3": "nuclearcraft:heavy_water_moderator",
"text": " $(item)Moderators$() can slow down the high energy neutrons produced by the $(l:fission/general#fuel_component)Fuel Components$() into ones that will cause more fission in other fuel components. Moderators are placed in a straight line, no more than 4 blocks long. At one end of the moderator line there must be an $(o)active$() fuel component."
},
{
"type": "text",
"title": "Moderators Cont.",
"text": "The neutron flux generated at the other end will be equal to the sum of the flux factors of each of the moderators in that line. If there are active fuel cells on both ends of the moderator line, then both cells will receive neutron flux equal to the sum of the flux factors of each moderator in the line. In some design rules, it may refer to \"Active\" moderators. Active moderators are moderators directly adjacent to an active fuel cell."
},
{
"anchor": "heatsink",
"type": "blocks/2",
"block1": "nuclearcraft:solid_fission_sink:0,nuclearcraft:solid_fission_sink:1,nuclearcraft:solid_fission_sink:2,nuclearcraft:solid_fission_sink:3,nuclearcraft:solid_fission_sink:4,nuclearcraft:solid_fission_sink:5,nuclearcraft:solid_fission_sink:6,nuclearcraft:solid_fission_sink:7,nuclearcraft:solid_fission_sink:8,nuclearcraft:solid_fission_sink:9,nuclearcraft:solid_fission_sink:10,nuclearcraft:solid_fission_sink:11,nuclearcraft:solid_fission_sink:12,nuclearcraft:solid_fission_sink:13,nuclearcraft:solid_fission_sink:14,nuclearcraft:solid_fission_sink:15",
"block2": "nuclearcraft:solid_fission_sink2:0,nuclearcraft:solid_fission_sink2:1,nuclearcraft:solid_fission_sink2:2,nuclearcraft:solid_fission_sink2:3,nuclearcraft:solid_fission_sink2:4,nuclearcraft:solid_fission_sink2:5,nuclearcraft:solid_fission_sink2:6,nuclearcraft:solid_fission_sink2:7,nuclearcraft:solid_fission_sink2:8,nuclearcraft:solid_fission_sink2:9,nuclearcraft:solid_fission_sink2:10,nuclearcraft:solid_fission_sink2:11,nuclearcraft:solid_fission_sink2:12,nuclearcraft:solid_fission_sink2:13,nuclearcraft:solid_fission_sink2:14,nuclearcraft:solid_fission_sink2:15",
"header": "Heatsinks",
"text": "$(item)Heatsinks$() and their active $(l:fission/molten_salt#intro)MSR$() counterpart, $(item)Coolant Heaters$() are used when designing a reactor, to balance the $(thing)Net Heat$() of the reactor. The designer should aim for a net heat of 0HU/t for a fully stable reactor. Each heatsink has specific design rules that it must adhere to."
},
{
"type": "text",
"text": "Heatsinks act to remove heat from the reactor. When a fuelcell is active, it will produce heat equal to it's base heat output times the $(thing)Heat Multiplier$(). The heat multiplier of a cell is determined by the number of moderator lines. Thus, a cell with a single moderator line will have 100% heat efficiency, and a cell with two moderator lines will have 200% heat efficiency."
},
{
"type": "text",
"title": "Heatsinks Continued",
"text": "When a valid heatsink is placed within a cluster, it will subtract it's cooling value from the total heat of the cluster. Heatsinks have varying cooling values, and should be used in conjunction to reach a net heat of 0HU/t, +/-5 HU/t."
},
{
"anchor": "fission_source",
"type": "blocks/3",
"block1": "nuclearcraft:fission_source:0",
"block2": "nuclearcraft:fission_source:1",
"block3": "nuclearcraft:fission_source:2",
"header": "Neutron Source",
"text": "$(item)Neutron Sources$() are used to start fission within a reactor. They must be placed in the walls of the reactor. When given a redstone signal, the source will \"prime\" the fuel component they are pointed at, starting fission within it, and producing further neutrons to activate other fuel cells."
},
{
"type": "text",
"title": "Neutron Source Cont.",
"text": "To prime a fuel component, the component must not be occluded by anything. The efficiency multiplier of the source affects the efficiency of the fuel cell that it is priming."
},
{
"anchor": "reflector",
"type": "blocks/2",
"header": "Reflectors",
"block1": "nuclearcraft:fission_reflector:0",
"block2": "nuclearcraft:fission_reflector:1",
"text": " When a $(item)Reflector$() is used, it will reflect neutron flux back into the source. Thus, a reflector with 100% reflectivity will result in double the flux in the fuel cell, since the neutrons double back over the $(l:fission/general#moderator)Moderators$() without any loss. Reflectors must be no farther than two moderators from the active fuel component."
},
{
"anchor": "irradiator",
"type": "blocks/1",
"header": "Irradiators",
"block": "nuclearcraft:fission_irradiator",
"text": "When placed at the end of a $(l:fission/general#moderator)Moderator$() line, $(item)Irradiators$() will use the neutron flux for crafting recipes. The higher the neutron flux, the faster the crafting recipe will complete. When activated, irradiators will generate heat and release radiation into the environment."
},
{
"anchor": "shield",
"type": "blocks/1",
"header": "Neutron Shields",
"block": "nuclearcraft:fission_shield:0",
"text": "$(item)Neutron Shields$() act as a toggleable $(l:fission/general#moderator)Moderator$(). When toggled off, neutron shields block neutron flux and generate heat. When toggled on, neutron shields pass neutron flux, but do not add flux like a moderator. They can be used to disable moderator channels while the reactor is still assembled."
},
{
"anchor": "planner",
"type": "text",
"title": "Design Considerations",
"text": "When designing a reactor, the usage of a $(l:https://github.com/ThizThizzyDizzy/nc-reactor-generator/releases)reactor planner$() is recommended. Reactor planners assist with the design of the reactor, providing feedback on design rules, heat control, and predicted output."
} }
] ]
} }

View File

@ -7,7 +7,7 @@
{ {
"anchor": "intro", "anchor": "intro",
"type": "text", "type": "text",
"text": "The molten salt fission reactor uses a liquid fission fuel. The generated heat is transferred to a molten salt coolant, which in turn is used to produce steam in a heat exchanger." "text": "The molten salt fission reactor uses a liquid fission fuel. The generated heat is transferred to a molten salt coolant, which in turn is used to produce steam in a $(l:heat_exchanger/heat_exchanger#intro)Heat Exchanger$(). As heat exchangers have not been fully implemented yet, molten salt reactors are currently useless."
} }
] ]
} }

View File

@ -1,13 +1,13 @@
{ {
"name": "Pebble-Bed Reactor (WIP)", "name": "Pebble-Bed Reactor (WIP)",
"icon": "nuclearcraft:pebble_fission_controller", "icon": "nuclearcraft:fuel_uranium",
"category": "nuclearcraft:fission", "category": "nuclearcraft:fission",
"sortnum": 1, "sortnum": 1,
"pages": [ "pages": [
{ {
"anchor": "intro", "anchor": "intro",
"type": "text", "type": "text",
"text": "The pebble-bed fission reactor uses solid fission fuel in the form of layered pellets. The generated heat is transferred to a gas coolant and transformed into useful energy by an internal thermoelectric generator." "text": "The pebble-bed fission reactor uses solid fission fuel in the form of layered pellets. The generated heat is transferred to a gas coolant and transformed into useful energy by an internal thermoelectric generator. Pebble-Bed Reactors have not been implemented yet."
} }
] ]
} }

View File

@ -1,13 +0,0 @@
{
"name": "Solid Fuel Reactor",
"icon": "nuclearcraft:solid_fission_controller",
"category": "nuclearcraft:fission",
"sortnum": 2,
"pages": [
{
"anchor": "intro",
"type": "text",
"text": "The solid fuel fission reactor uses solid fission fuel. The generated heat is transferred to water or other available coolant, which in turn is used to generate useful energy."
}
]
}

View File

@ -6,7 +6,7 @@
"pages": [ "pages": [
{ {
"type": "text", "type": "text",
"text": "" "text": "Tokamak reactors have not been implemented yet."
} }
] ]
} }

View File

@ -6,7 +6,7 @@
"pages": [ "pages": [
{ {
"type": "text", "type": "text",
"text": "" "text": "Heat condensers have not been fully implemented yet."
} }
] ]
} }

View File

@ -1,12 +1,13 @@
{ {
"name": "Heat Exchanger (WIP)", "name": "Heat Exchanger (WIP)",
"icon": "nuclearcraft:heat_exchanger_controller", "icon": "nuclearcraft:heat_exchanger_controller",
"category": "nuclearcraft:heat_exchanger", "category": "nuclearcraft:heat_exchanger",
"sortnum": 0, "sortnum": 0,
"pages": [ "pages": [
{ {
"anchor": "intro",
"type": "text", "type": "text",
"text": "" "text": "Heat exchangers have not been fully implemented yet."
} }
] ]
} }

View File

@ -0,0 +1,18 @@
{
"name": "Hazmat Suit",
"icon": "nuclearcraft:helm_hazmat",
"category": "nuclearcraft:items",
"sortnum": 0,
"pages": [
{
"anchor": "hazmat",
"type": "items/4",
"header": "Hazmat Suit",
"item1": "nuclearcraft:helm_hazmat",
"item2": "nuclearcraft:chest_hazmat",
"item3": "nuclearcraft:legs_hazmat",
"item4": "nuclearcraft:boots_hazmat",
"text": "The $(item)Hazmat Suit$() is used to lower radiation exposure. Each part of the set has a rad resistance which determines how much protection it provides from radiation."
}
]
}

View File

@ -0,0 +1,15 @@
{
"name": "Multitool",
"icon": "nuclearcraft:multitool",
"category": "nuclearcraft:items",
"sortnum": 0,
"pages": [
{
"anchor": "multitool",
"type": "items/1",
"header": "Multitool",
"item": "nuclearcraft:multitool",
"text": "The $(item)Multitool$() is used to interact and configure multiblocks in various ways. It is highly recommended to carry one with you."
}
]
}

View File

@ -0,0 +1,15 @@
{
"name": "Rad-X",
"icon": "nuclearcraft:rad_x",
"category": "nuclearcraft:items",
"sortnum": 0,
"pages": [
{
"anchor": "radx",
"type": "items/1",
"header": "Rad-X",
"item": "nuclearcraft:rad_x",
"text": "$(item)Rad-X$() provides it's user with a set amount of radiation resistance for a set amount of time. Although the effect can b,e stacked, the higher levels of resistance will wear off quicker than the lower levels."
}
]
}

View File

@ -0,0 +1,16 @@
{
"name": "Radaway",
"icon": "nuclearcraft:radaway",
"category": "nuclearcraft:items",
"sortnum": 0,
"pages": [
{
"anchor": "radaway",
"type": "items/2",
"header": "Radaway",
"item1": "nuclearcraft:radaway",
"item2": "nuclearcraft:radaway_slow",
"text": "$(item)RadAway$(), and it's slower counterpart $(item)Slow-Acting RadAway$(), removes rads from the user at a set rate. Standard RadAway acts faster than slow-acting RadAway, but does not last as long."
}
]
}

View File

@ -0,0 +1,22 @@
{
"name": "Radiation Detection",
"icon": "nuclearcraft:radiation_badge",
"category": "nuclearcraft:items",
"sortnum": 0,
"pages": [
{
"anchor": "geiger-counter",
"type": "items/1",
"header": "Geiger Counter",
"item": "nuclearcraft:geiger_counter",
"text": "The $(item)Geiger Counter$() allows for the user to detect radiation, and to know their current irradiation level. It can also be used to find the irradiation level of entities. If the geiger counter is not in the hotbar, it's audio will be muted. It is also available in a block form, which will give radiation readings for the chunk it is placed in."
},
{
"anchor": "radiation-badge",
"type": "items/1",
"header": "Radiation Badge",
"item": "nuclearcraft:radiation_badge",
"text": "The $(item)Radiation Badge$() allows for the user to know their change in irradiation level while it is being worn. It notifies the user of their exposure in specific increments of irradiation, up to a maximum change in irradiation level."
}
]
}

View File

@ -0,0 +1,17 @@
{
"name": "Radiation Shielding",
"icon": "nuclearcraft:rad_shielding:0",
"category": "nuclearcraft:items",
"sortnum": 0,
"pages": [
{
"anchor": "hazmat",
"type": "items/3",
"header": "Radiation Shielding",
"item1": "nuclearcraft:rad_shielding:0",
"item2": "nuclearcraft:rad_shielding:1",
"item3": "nuclearcraft:rad_shielding:2",
"text": "$(item)Radiation Shielding$() can be added to armour to give it radiation resistance. The amount of radiation resistance added to the armor is dependent upon the type of shielding used. When adding shielding to armour, the radiation resistance from each shielding added stacks."
}
]
}

View File

@ -0,0 +1,18 @@
{
"name": "Spaxehoe",
"icon": "nuclearcraft:spaxelhoe_boron",
"category": "nuclearcraft:items",
"sortnum": 0,
"pages": [
{
"anchor": "spaxelhoe",
"type": "items/4",
"header": "Spaxelhoe",
"item1": "nuclearcraft:spaxelhoe_boron",
"item2": "nuclearcraft:spaxelhoe_tough",
"item3": "nuclearcraft:spaxelhoe_hard_carbon",
"item4": "nuclearcraft:spaxelhoe_boron_nitride",
"text": "The $(item)Spaxelhoe$() is every tool condensed into one. It has the function of an axe, a sword, a shovel, a hoe, and a pickaxe."
}
]
}

View File

@ -1,5 +1,5 @@
{ {
"name": "Collectors", "name": "Collector Machines",
"icon": "nuclearcraft:cobblestone_generator", "icon": "nuclearcraft:cobblestone_generator",
"category": "nuclearcraft:machines", "category": "nuclearcraft:machines",
"sortnum": 2, "sortnum": 2,
@ -7,7 +7,7 @@
{ {
"anchor": "intro", "anchor": "intro",
"type": "text", "type": "text",
"text": "These blocks continuously generate materials over time. They will push their items or fluids to adjacent containers if possible." "text": "These machines continuously generate materials over time. They will push their items or fluids to adjacent containers if possible."
}, },
{ {
"anchor": "cobblestone_generator", "anchor": "cobblestone_generator",
@ -16,7 +16,7 @@
"block1": "nuclearcraft:cobblestone_generator", "block1": "nuclearcraft:cobblestone_generator",
"block2": "nuclearcraft:cobblestone_generator_compact", "block2": "nuclearcraft:cobblestone_generator_compact",
"block3": "nuclearcraft:cobblestone_generator_dense", "block3": "nuclearcraft:cobblestone_generator_dense",
"text": "Combines water and lava to generate cobblestone." "text": "The $(item)Cobblestone Generator$() continuously generates cobblestone at a specific rate by the combination of water and lava."
}, },
{ {
"anchor": "water_source", "anchor": "water_source",
@ -25,7 +25,7 @@
"block1": "nuclearcraft:water_source", "block1": "nuclearcraft:water_source",
"block2": "nuclearcraft:water_source_compact", "block2": "nuclearcraft:water_source_compact",
"block3": "nuclearcraft:water_source_dense", "block3": "nuclearcraft:water_source_dense",
"text": "Makes use of the magic of the infinite water source." "text": "The $(item)Infinte Water Source$() produces water at a specific rate by the usage of an infinite water source."
}, },
{ {
"anchor": "nitrogen_collector", "anchor": "nitrogen_collector",
@ -34,7 +34,7 @@
"block1": "nuclearcraft:nitrogen_collector", "block1": "nuclearcraft:nitrogen_collector",
"block2": "nuclearcraft:nitrogen_collector_compact", "block2": "nuclearcraft:nitrogen_collector_compact",
"block3": "nuclearcraft:nitrogen_collector_dense", "block3": "nuclearcraft:nitrogen_collector_dense",
"text": "Seperates out and collects nitrogen from the air." "text": "The $(item)Nitrogen Collector$() separates and collects nitrogen from the air at a specific rate."
} }
] ]
} }

View File

@ -1,5 +1,5 @@
{ {
"name": "Generators", "name": "Generator Machines",
"icon": "nuclearcraft:solar_panel_basic", "icon": "nuclearcraft:solar_panel_basic",
"category": "nuclearcraft:machines", "category": "nuclearcraft:machines",
"sortnum": 1, "sortnum": 1,
@ -7,7 +7,7 @@
{ {
"anchor": "intro", "anchor": "intro",
"type": "text", "type": "text",
"text": "These blocks generate energy in relatively small quantities, but are also relatively easy to set up." "text": "These machines generate energy in relatively small quantities, but are also simple to operate."
}, },
{ {
"anchor": "solar_panel", "anchor": "solar_panel",
@ -17,14 +17,14 @@
"block2": "nuclearcraft:solar_panel_advanced", "block2": "nuclearcraft:solar_panel_advanced",
"block3": "nuclearcraft:solar_panel_du", "block3": "nuclearcraft:solar_panel_du",
"block4": "nuclearcraft:solar_panel_elite", "block4": "nuclearcraft:solar_panel_elite",
"text": "Only generates energy during the day." "text": "$(item)Solar Panels$() generate energy at a specific rate during the day."
}, },
{ {
"anchor": "decay_generator", "anchor": "decay_generator",
"type": "blocks/1", "type": "blocks/1",
"header": "Decay Generator", "header": "Decay Generator",
"block": "nuclearcraft:decay_generator", "block": "nuclearcraft:decay_generator",
"text": "Generates energy from the decay of adjacent radioactive blocks." "text": "The $(item)Decay Generator$() generates energy from the decay of adjacent radioactive blocks."
} }
] ]
} }

View File

@ -1,5 +1,5 @@
{ {
"name": "Other Machines", "name": "Miscellaneous Machines",
"icon": "nuclearcraft:bin", "icon": "nuclearcraft:bin",
"category": "nuclearcraft:machines", "category": "nuclearcraft:machines",
"sortnum": 3, "sortnum": 3,
@ -7,21 +7,21 @@
{ {
"anchor": "intro", "anchor": "intro",
"type": "text", "type": "text",
"text": "These are machine-like blocks that help in building a clean, efficient, nuclear-oriented factory." "text": "These machine-like block assist in building a clean, efficient, nuclear-oriented factory."
}, },
{ {
"anchor": "machine_interface", "anchor": "machine_interface",
"type": "blocks/1", "type": "blocks/1",
"header": "Machine Interface", "header": "Machine Interface",
"block": "nuclearcraft:machine_interface", "block": "nuclearcraft:machine_interface",
"text": "Extends a processor on one of its sides. Use if you have ran out of room for pipes or cables." "text": "The $(item)Machine Interface$() extends a processing machine on one of its sides. It can be used if there is no room for pipes or cables."
}, },
{ {
"anchor": "bin", "anchor": "bin",
"type": "blocks/1", "type": "blocks/1",
"header": "Universal Bin", "header": "Universal Bin",
"block": "nuclearcraft:bin", "block": "nuclearcraft:bin",
"text": "Effectively a black hole in a box, it destroys all materials and energy fed to it." "text": "The $(item)Universal Bin$() allows for the simple disposal of anything. It destroys all materials and energy fed to it."
} }
] ]
} }

View File

@ -1,5 +1,5 @@
{ {
"name": "Processors", "name": "Processing Machines",
"icon": "nuclearcraft:manufactory", "icon": "nuclearcraft:manufactory",
"category": "nuclearcraft:machines", "category": "nuclearcraft:machines",
"sortnum": 0, "sortnum": 0,
@ -7,147 +7,147 @@
{ {
"anchor": "intro", "anchor": "intro",
"type": "text", "type": "text",
"text": "These machines process, well, almost anything! Some are very hot, others are very cold, most require energy, but they all transform stuff into other stuff." "text": "These machines process materials, usually by the use of energy, to convert materials from one type to another."
}, },
{ {
"anchor": "nuclear_furnace", "anchor": "nuclear_furnace",
"type": "blocks/1", "type": "blocks/1",
"header": "Nuclear Furnace", "header": "Nuclear Furnace",
"block": "nuclearcraft:nuclear_furnace", "block": "nuclearcraft:nuclear_furnace",
"text": "Smelts items very quickly using uranium ingots and dust as fuel." "text": "The $(item)Nuclear Furnace$() quickly smelts items, using uranium ingots or dust as fuel."
}, },
{ {
"anchor": "manufactory", "anchor": "manufactory",
"type": "blocks/1", "type": "blocks/1",
"header": "Manufactory", "header": "Manufactory",
"block": "nuclearcraft:manufactory", "block": "nuclearcraft:manufactory",
"text": "A handy machine that has many uses." "text": "The $(item)Manufactory$() is a machine that has many uses, mainly in processing materials."
}, },
{ {
"anchor": "separator", "anchor": "separator",
"type": "blocks/1", "type": "blocks/1",
"header": "Separator", "header": "Separator",
"block": "nuclearcraft:separator", "block": "nuclearcraft:separator",
"text": "Breaks materials into their constituents." "text": "The $(item)Separator$() separates materials into their constituent parts."
}, },
{ {
"anchor": "decay_hastener", "anchor": "decay_hastener",
"type": "blocks/1", "type": "blocks/1",
"header": "Decay Hastener", "header": "Decay Hastener",
"block": "nuclearcraft:decay_hastener", "block": "nuclearcraft:decay_hastener",
"text": "Forces radioactive materials to decay." "text": "The $(item)Decay Hastener$() forces radioactive materials to decay, resulting in the formation of a different isotope or material. Radiation is released during the decay process."
}, },
{ {
"anchor": "fuel_reprocessor", "anchor": "fuel_reprocessor",
"type": "blocks/1", "type": "blocks/1",
"header": "Fuel Reprocessor", "header": "Fuel Reprocessor",
"block": "nuclearcraft:fuel_reprocessor", "block": "nuclearcraft:fuel_reprocessor",
"text": "Extracts materials from depleted fuel." "text": "The $(item)Fuel Reprocessor$() extracts materials from depleted fuel, allowing for the isolation of useful material from depleted fuel."
}, },
{ {
"anchor": "alloy_furnace", "anchor": "alloy_furnace",
"type": "blocks/1", "type": "blocks/1",
"header": "Alloy Furnace", "header": "Alloy Furnace",
"block": "nuclearcraft:alloy_furnace", "block": "nuclearcraft:alloy_furnace",
"text": "Combines base metals into alloys." "text": "The $(item)Alloy Furnace$() combines base metals together into alloys."
}, },
{ {
"anchor": "fluid_infuser", "anchor": "fluid_infuser",
"type": "blocks/1", "type": "blocks/1",
"header": "Fluid Infuser", "header": "Fluid Infuser",
"block": "nuclearcraft:infuser", "block": "nuclearcraft:infuser",
"text": "Enhances materials with fluids." "text": "The $(item)Fluid Infuser$() adds fluids to materials."
}, },
{ {
"anchor": "melter", "anchor": "melter",
"type": "blocks/1", "type": "blocks/1",
"header": "Melter", "header": "Melter",
"block": "nuclearcraft:melter", "block": "nuclearcraft:melter",
"text": "Melts down materials." "text": "The $(item)Melter$() melts down materials into a liquid form."
}, },
{ {
"anchor": "supercooler", "anchor": "supercooler",
"type": "blocks/1", "type": "blocks/1",
"header": "Supercooler", "header": "Supercooler",
"block": "nuclearcraft:supercooler", "block": "nuclearcraft:supercooler",
"text": "Lowers the temperature of fluids." "text": "The $(item)Supercooler$() lowers the temperature of fluids."
}, },
{ {
"anchor": "electrolyzer", "anchor": "electrolyzer",
"type": "blocks/1", "type": "blocks/1",
"header": "Electrolyzer", "header": "Electrolyzer",
"block": "nuclearcraft:electrolyzer", "block": "nuclearcraft:electrolyzer",
"text": "Splits compounds into their elements." "text": "The $(item)Electrolyzer$() splits fluids into their constituent parts."
}, },
{ {
"anchor": "assembler", "anchor": "assembler",
"type": "blocks/1", "type": "blocks/1",
"header": "Assembler", "header": "Assembler",
"block": "nuclearcraft:assembler", "block": "nuclearcraft:assembler",
"text": "Combines components into a complex product." "text": "The $(item)Assembler$() combines components into a complex product."
}, },
{ {
"anchor": "ingot_former", "anchor": "ingot_former",
"type": "blocks/1", "type": "blocks/1",
"header": "Ingot Former", "header": "Ingot Former",
"block": "nuclearcraft:ingot_former", "block": "nuclearcraft:ingot_former",
"text": "Forms ingots and gems from molten materials." "text": "The $(item)Ingot Former$() forms molten materials into ingots or gems."
}, },
{ {
"anchor": "pressurizer", "anchor": "pressurizer",
"type": "blocks/1", "type": "blocks/1",
"header": "Pressurizer", "header": "Pressurizer",
"block": "nuclearcraft:pressurizer", "block": "nuclearcraft:pressurizer",
"text": "Processes items under immense pressure." "text": "The $(item)pressurizer$() processes materials under immense pressure."
}, },
{ {
"anchor": "chemical_reactor", "anchor": "chemical_reactor",
"type": "blocks/1", "type": "blocks/1",
"header": "Chemical Reactor", "header": "Chemical Reactor",
"block": "nuclearcraft:chemical_reactor", "block": "nuclearcraft:chemical_reactor",
"text": "Houses reactions between fluids." "text": "The $(item)Chemical Reactor$() houses reactions between fluids, allowing for chemical reactions to occur."
}, },
{ {
"anchor": "salt_mixer", "anchor": "salt_mixer",
"type": "blocks/1", "type": "blocks/1",
"header": "Fluid Mixer", "header": "Fluid Mixer",
"block": "nuclearcraft:salt_mixer", "block": "nuclearcraft:salt_mixer",
"text": "Blends fluids together." "text": "The $(item)Fluid Mixer$() mixes fluids together."
}, },
{ {
"anchor": "crystallizer", "anchor": "crystallizer",
"type": "blocks/1", "type": "blocks/1",
"header": "Crystallizer", "header": "Crystallizer",
"block": "nuclearcraft:crystallizer", "block": "nuclearcraft:crystallizer",
"text": "Precipitates solids from solution." "text": "The $(item)Crystallizer$() precipitates solids from a fluid."
}, },
{ {
"anchor": "fluid_enricher", "anchor": "fluid_enricher",
"type": "blocks/1", "type": "blocks/1",
"header": "Fluid Enricher", "header": "Fluid Enricher",
"block": "nuclearcraft:enricher", "block": "nuclearcraft:enricher",
"text": "Enriches fluids with materials." "text": "The $(item)Fluid Enricher$() adds materials to fluids."
}, },
{ {
"anchor": "fluid_extractor", "anchor": "fluid_extractor",
"type": "blocks/1", "type": "blocks/1",
"header": "Fluid Extractor", "header": "Fluid Extractor",
"block": "nuclearcraft:extractor", "block": "nuclearcraft:extractor",
"text": "Draws fluids from materials." "text": "The $(item)Fluid Extractor$() extracts fluids from materials."
}, },
{ {
"anchor": "centrifuge", "anchor": "centrifuge",
"type": "blocks/1", "type": "blocks/1",
"header": "Centrifuge", "header": "Centrifuge",
"block": "nuclearcraft:centrifuge", "block": "nuclearcraft:centrifuge",
"text": "Separates the isotopes of fluid materials." "text": "The $(item)Centrifuge$() separates isotopes out of fluid materials."
}, },
{ {
"anchor": "rock_crusher", "anchor": "rock_crusher",
"type": "blocks/1", "type": "blocks/1",
"header": "Rock Crusher", "header": "Rock Crusher",
"block": "nuclearcraft:rock_crusher", "block": "nuclearcraft:rock_crusher",
"text": "Smashes up rock to produce mineral dusts." "text": "The $(item)Rock Crusher$() crushes rocks to produce mineral dusts."
} }
] ]
} }

View File

@ -4,11 +4,6 @@
"category": "nuclearcraft:multiblocks", "category": "nuclearcraft:multiblocks",
"sortnum": 1, "sortnum": 1,
"pages": [ "pages": [
{
"anchor": "intro",
"type": "text",
"text": "These blocks are used to store energy. They will form multiblocks if placed adjacent to each other. Right-click with a multitool to configure a side."
},
{ {
"anchor": "voltaic_pile", "anchor": "voltaic_pile",
"type": "blocks/4", "type": "blocks/4",
@ -17,7 +12,7 @@
"block2": "nuclearcraft:voltaic_pile_advanced", "block2": "nuclearcraft:voltaic_pile_advanced",
"block3": "nuclearcraft:voltaic_pile_du", "block3": "nuclearcraft:voltaic_pile_du",
"block4": "nuclearcraft:voltaic_pile_elite", "block4": "nuclearcraft:voltaic_pile_elite",
"text": "" "text": "The $(item)Voltaic Pile$() stores energy. When placed adjacent to each other, they will form multiblocks that store energy as a single pool."
}, },
{ {
"anchor": "lithium_ion_battery", "anchor": "lithium_ion_battery",
@ -27,7 +22,7 @@
"block2": "nuclearcraft:lithium_ion_battery_advanced", "block2": "nuclearcraft:lithium_ion_battery_advanced",
"block3": "nuclearcraft:lithium_ion_battery_du", "block3": "nuclearcraft:lithium_ion_battery_du",
"block4": "nuclearcraft:lithium_ion_battery_elite", "block4": "nuclearcraft:lithium_ion_battery_elite",
"text": "" "text": "The $(item)Lithium Ion Battery$(), like the voltaic pile, stores energy. The lithium ion battery has a higher energy density than the voltaic pile. When placed adjacent to each other, they will form multiblocks that store energy as a single pool."
} }
] ]
} }

View File

@ -1,15 +0,0 @@
{
"name": "Multitool",
"icon": "nuclearcraft:multitool",
"category": "nuclearcraft:multiblocks",
"sortnum": 3,
"pages": [
{
"anchor": "multitool",
"type": "items/1",
"header": "Multitool",
"item": "nuclearcraft:multitool",
"text": "This tool is used to interact with many multiblock components in various ways. It is highly recommended that you carry one around with you!"
}
]
}

View File

@ -12,7 +12,7 @@
"block2": "nuclearcraft:rtg_plutonium", "block2": "nuclearcraft:rtg_plutonium",
"block3": "nuclearcraft:rtg_americium", "block3": "nuclearcraft:rtg_americium",
"block4": "nuclearcraft:rtg_californium", "block4": "nuclearcraft:rtg_californium",
"text": "These blocks generate energy from the decay of a radioisotope. They will form multiblocks if placed adjacent to each other." "text": "$(item)RTGs$() generate energy from the decay of a radioisotope. When placed adjacent to each other, they will form multiblocks that generate energy in a single pool."
} }
] ]
} }

View File

@ -5,8 +5,126 @@
"sortnum": 2, "sortnum": 2,
"pages": [ "pages": [
{ {
"anchor": "intro",
"type": "text", "type": "text",
"text": "Turbines extract energy from pressurised steam, producing an exhaust fluid in the process." "text": "Turbines extract energy from pressurised steam, producing an exhaust fluid in the process."
},
{
"anchor": "casing",
"type": "blocks/2",
"header": "Turbine Casing",
"block1": "nuclearcraft:turbine_casing",
"block2": "nuclearcraft:turbine_glass",
"text": "The interior components of the turbine are contained within a rectangular prism. The turbine must have edges consisting of $(item)Turbine Casing$(), while the walls of the turbine can be $(item)Turbine Glass$(), turbine casing, or both. If glass is used, the inside of the turbine will be rendered, which may cause performance issues."
},
{
"anchor": "controller",
"type": "blocks/1",
"header": "Turbine Controller",
"block": "nuclearcraft:turbine_controller",
"text": "The $(item)Turbine Controller$() displays information about the turbine, and allows for it to be toggled. The controller must be placed within a wall of the turbine. Without a controller, the turbine multiblock will not form. The turbine will only function if the controller is supplied with a redstone signal."
},
{
"anchor": "rotor_shaft",
"type": "blocks/1",
"header": "Turbine Rotor Shaft",
"block": "nuclearcraft:turbine_rotor_shaft",
"text": "The $(item)Turbine Rotor Shaft$() is the core of the turbine. It must be a shaft of any diameter, placed in the center of the turbine, and connected to $(item)Turbine Rotor Bearings$() on both ends. The shaft diameter can be up to two less than the turbine's diameter."
},
{
"anchor": "rotor_bearing",
"type": "blocks/1",
"header": "Turbine Rotor Bearing",
"block": "nuclearcraft:turbine_rotor_bearing",
"text": "$(item)Turbine Rotor Bearings$() connect the turbine rotor shaft to the casing. Bearings must cover the entire end of the rotor shaft on both faces of the turbine."
},
{
"anchor": "rotor_blades",
"type": "blocks/3",
"header": "Turbine Rotor Blades",
"block1": "nuclearcraft:turbine_rotor_blade_steel",
"block2": "nuclearcraft:turbine_rotor_blade_extreme",
"block3": "nuclearcraft:turbine_rotor_blade_sic_sic_cmc",
"text": "$(item)Turbine Rotor Blades$() use the energy of the steam to turn the rotor shaft. Blades must be placed so that there is only one $(o)type$() of blade per rotor shaft layer. Each side of the turbine shaft needs to be covered by blades, and they must extend to the wall of the turbine."
},
{
"type": "text",
"title": "Turbine Blades Cont.",
"text": "Each turbine blade can process a certain amount of steam. If more steam is input into the turbine than the blades can process, the turbine will break. When steam flows through each set of blades, it expands by a certain amount. The closer this $(thing)Expansion Rate$() is to the $(thing)Ideal Expansion Rate$() per shaft layer, the more efficient the turbine will be."
},
{
"anchor": "stator",
"type": "blocks/1",
"header": "Turbine Rotor Stator",
"block": "nuclearcraft:turbine_rotor_stator",
"text": "$(item)Turbine Rotor Stators$() are similar to blades, however when steam passes through the stators, it will contract instead of expanding. Stators do not process steam, nor do they add to the turbine's maximum steam. The placement rules for stators are identical to rotor blades."
},
{
"anchor": "dynamo_coil",
"type": "blocks/1",
"header": "Turbine Dynamo Coil",
"block": "nuclearcraft:turbine_dynamo_coil:0,nuclearcraft:turbine_dynamo_coil:1,nuclearcraft:turbine_dynamo_coil:2,nuclearcraft:turbine_dynamo_coil:3,nuclearcraft:turbine_dynamo_coil:4,nuclearcraft:turbine_dynamo_coil:5",
"text": "$(item)Turbine Dynamo Coils$() turn the rotation of the shaft into energy. They are placed in the walls on the same faces as the rotor bearings."
},
{
"type": "text",
"title": "Dynamo Coil Cont.",
"text": "Turbine dynamo coils should be combined to reach the highest efficiency possible while adhering to the design rules. The efficiency is calculated by taking the average $(thing)Conductivity Multiplier$() of all coils on one side, and then multiplying that from the average conductivity multiplier of all coils on the other side."
},
{
"anchor": "inlet",
"type": "blocks/1",
"header": "Turbine Fluid Inlet",
"block": "nuclearcraft:turbine_inlet",
"text": "$(item)Turbine Fluid Inlets$() allow steam to enter the turbine. They must be placed on one of the faces of the turbine that has a rotor bearing."
},
{
"anchor": "outlet",
"type": "blocks/1",
"header": "Turbine Fluid Outlet",
"block": "nuclearcraft:turbine_outlet",
"text": "$(item)Turbine Fluid Outlets$() allow exhaust steam to exit the turbine. They must be placed on one of the faces of the turbine that has a rotor bearing, on the opposite face of the fluid inlet."
},
{
"type": "text",
"title": "Design Considerations",
"text": "When designing a turbine, due to their complicated nature, the usage of a $(l:https://github.com/ThizThizzyDizzy/nc-reactor-generator/releases)reactor planner with turbine planning ability$() or a dedicated turbine planner is recommended. Turbine planners assist with the design of the turbine, providing feedback on design rules, expansion, and predicted efficiency."
},
{
"type": "text",
"text": "For the sake of brevity and clarity, a full description of the function of turbines has been omitted. For more information, consider watching $(l:https://youtu.be/p555h2peays)this video$()."
},
{
"anchor": "examples",
"type": "text",
"title": "Turbine Examples",
"text": "Here is an example of a valid, functional turbine. This turbines are intentionally designed to be inefficient. Designing bigger and more efficient turbines will be left as an exercise to the reader. "
},
{
"type": "multiblock",
"name": "Small Turbine Example",
"multiblock": {
"mapping": {
"F": "nuclearcraft:turbine_casing",
"G": "nuclearcraft:turbine_glass",
"M": "nuclearcraft:turbine_dynamo_coil[type=magnesium]",
"B": "nuclearcraft:turbine_rotor_bearing",
"S": "nuclearcraft:turbine_rotor_shaft",
"I": "nuclearcraft:turbine_inlet",
"O": "nuclearcraft:turbine_outlet",
"C": "nuclearcraft:turbine_controller",
"b": "nuclearcraft:turbine_rotor_blade_steel",
"s": "nuclearcraft:turbine_rotor_stator",
"0": "nuclearcraft:turbine_casing"
},
"pattern": [
["FFFFF", "FGGGF", "FGGGF", "FGGGF", "FGGGF", "FGGGF", "FFFFF"],
["FFMFF", "G b G", "G b G", "G s G", "G b G", "G b G", "FFMFF"],
["FMBMF", "GbSbG", "GbSbG", "GsSsG", "GbSbG", "GbSbG", "FMBMF"],
["FIMFF", "C b G", "G b G", "G s G", "G b G", "G b G", "FFMOF"],
["FFFF0", "FFFFF", "FFFFF", "FFFFF", "FFFFF", "FFFFF", "FFFFF"]
]
}
} }
] ]
} }

View File

@ -0,0 +1,32 @@
{
"components": [
{
"type": "header",
"text": "#header",
"x": -1,
"y": -1
},
{
"type": "item",
"item": "#item1",
"framed": true,
"link_recipe": true,
"x": 40,
"y": 15
},
{
"type": "item",
"item": "#item2",
"framed": true,
"link_recipe": true,
"x": 60,
"y": 15
},
{
"type": "text",
"text": "#text",
"x": 0,
"y": 40
}
]
}

View File

@ -0,0 +1,40 @@
{
"components": [
{
"type": "header",
"text": "#header",
"x": -1,
"y": -1
},
{
"type": "item",
"item": "#item1",
"framed": true,
"link_recipe": true,
"x": 30,
"y": 15
},
{
"type": "item",
"item": "#item2",
"framed": true,
"link_recipe": true,
"x": 50,
"y": 15
},
{
"type": "item",
"item": "#item3",
"framed": true,
"link_recipe": true,
"x": 70,
"y": 15
},
{
"type": "text",
"text": "#text",
"x": 0,
"y": 40
}
]
}

View File

@ -0,0 +1,48 @@
{
"components": [
{
"type": "header",
"text": "#header",
"x": -1,
"y": -1
},
{
"type": "item",
"item": "#item1",
"framed": true,
"link_recipe": true,
"x": 20,
"y": 15
},
{
"type": "item",
"item": "#item2",
"framed": true,
"link_recipe": true,
"x": 40,
"y": 15
},
{
"type": "item",
"item": "#item3",
"framed": true,
"link_recipe": true,
"x": 60,
"y": 15
},
{
"type": "item",
"item": "#item4",
"framed": true,
"link_recipe": true,
"x": 80,
"y": 15
},
{
"type": "text",
"text": "#text",
"x": 0,
"y": 40
}
]
}

View File

@ -1,4 +1,6 @@
Fuel decay heat and neutron poison (https://discordapp.com/channels/425461908712325130/425470889354723350/738167468283002932) Fix file vulnerabilities in NC (MMC: https://discordapp.com/channels/166630061217153024/217332023746887680/777708394320363570)
Fuel decay heat and neutron poison (eVault: "Someone else suggested decay heat a while back too...")
Show potential (pre-primed) stats if reactor is idle Show potential (pre-primed) stats if reactor is idle
@ -43,6 +45,9 @@ ________________________________________________________________________________
SiCSiC ceramic matrix composite for top-tier turbine blades, made by melt infiltration (MI) of silicon, following chemical vapor infiltration (CVI) of carbon into SiC fibre, formed from SiC gas phase via laser-driven chemical vapor deposition (LCVD) SiCSiC ceramic matrix composite for top-tier turbine blades, made by melt infiltration (MI) of silicon, following chemical vapor infiltration (CVI) of carbon into SiC fibre, formed from SiC gas phase via laser-driven chemical vapor deposition (LCVD)
___________________________________________________________________________________________________________________________ ___________________________________________________________________________________________________________________________
1.16: Potential block state getter optimisation - https://github.com/RogueLogix/BiggerSeries/blob/master/Phosphophyllite/src/main/java/net/roguelogix/phosphophyllite/util/Util.java#L51-L83 (chunkCachedBlockStateIteration)
1.16: Potential TE getter optimisation - https://github.com/mekanism/Mekanism/blob/1.16.x/src/main/java/mekanism/common/util/MekanismUtils.java#L929-L948 (getChunkForTile)
1.16: Cherenkov radiation (configurable)? 1.16: Cherenkov radiation (configurable)?
1.16: Make reflectors tile entities (can form clusters) 1.16: Make reflectors tile entities (can form clusters)
___________________________________________________________________________________________________________________________ ___________________________________________________________________________________________________________________________