Compare commits

...

12 Commits

Author SHA1 Message Date
Tom Dodd fa8363e6a7
Merge pull request #669 from sanrom/master
Patchouli Documentation Start
2020-07-17 17:27:46 +01:00
Tom Dodd e059b2e54a
Merge branch 'master' into master 2020-07-17 17:24:28 +01:00
Tom Dodd c666387877 v2o.3.4 2020-07-17 17:12:24 +01:00
Tom Dodd bb23ea8ad9
Merge pull request #670 from WuzgXY-GitHub/master
SIM Chinese Translation of v2o.3.4
2020-07-17 15:00:21 +01:00
WuzgXY d2c632d875
v2o.3.4 2020-07-17 11:45:23 +08:00
Sanrom 6e0af1e076 Docs - Updated translation keys
Updated translation keys to be more consistent
Fixed description for chemical reactor
2020-07-16 13:49:35 -04:00
WuzgLOL f8773d1c88
I18n Support and Simplified Chinese Translation of Docs (#1)
Added Simplified Chinese Translation of docs
2020-07-16 13:46:02 -04:00
Sanrom c39aea38bf Updated Generators and Processors
Changed generators title to Generators and Collectors
Updated Ingot Former in processors
2020-07-14 11:11:31 -04:00
Sanrom 18469c3156 Merge remote-tracking branch 'upstream/master' 2020-07-14 10:49:44 -04:00
Sanrom ed1a2086a8 Docs - Finished most machines 2020-07-13 08:55:26 -04:00
Sanrom 6f8c049447 Docs - Added Machines Section
Added Machines category and template
Started work on Processors entry
Added links back to machines in other pages
2020-06-25 12:29:44 -04:00
Sanrom e192752123 Added Patchouli Guide Book
Added Patchouli as an optional dependency
Added basic structure created by Redfire
Added Ores and Materials section

Co-Authored-By: Redfire75369 <redfire75369@users.noreply.github.com>
2020-06-24 21:03:58 -04:00
81 changed files with 2488 additions and 118 deletions

3
.gitignore vendored
View File

@ -17,6 +17,9 @@ out
build
.gradle
# forge
forge-1.12.2-14.23.5.2847-mdk.zip
# other
eclipse
run

View File

@ -24,7 +24,7 @@ repositories {
url = "http://dvs1.progwml6.com/files/maven/"
}
maven {
// CraftTweaker
// CraftTweaker & Patchouli
name = "blamejared"
url = "http://maven.blamejared.com/"
}
@ -110,6 +110,7 @@ dependencies {
deobfCompile ("appeng:appliedenergistics2:rv6-stable-6") {
transitive = false
}
deobfCompile "vazkii.patchouli:Patchouli:${patchouli_version}"
deobfCompile "mcjty.theoneprobe:TheOneProbe-1.12:${top_version}"
deobfCompile "hwyla:Hwyla:${hwyla_version}"
}

View File

@ -1,3 +1,20 @@
v2o.3.4
* Fixed player radiation stats being lost on leaving The End
* RadAway and Rad-X is no longer consumed in creative mode
* Turbine rotor will not render if the casing is entirely opaque
+ Added ore dict interchangeability between NC and HarvestCraft chocolate and cocoa powder
* Increased plasma fluid temperature
* Updated Chinese language file [thanks to WuzgXY!]
* Fixed buggy tooltips on heat sinks and coolant heaters
* Fixed localisation of speed and energy upgrade tooltips
* Other minor changes
v2o.3.3
* Turbine throughput bonus is now proportional to rotor length and the square root of blade area

View File

@ -233,8 +233,8 @@ mods.nuclearcraft.ChemicalReactor.removeRecipeWithInput(ILiquidStack fluidInput1
mods.nuclearcraft.ChemicalReactor.removeRecipeWithOutput(ILiquidStack fluidOutput1, ILiquidStack fluidOutput2);
Salt Mixer:
-----------
Fluid Mixer:
------------
mods.nuclearcraft.SaltMixer.addRecipe(ILiquidStack fluidInput1, ILiquidStack fluidInput2, ILiquidStack fluidOutput, {double timeMultiplier, double powerMultiplier, double processRadiation});

View File

@ -1,7 +1,7 @@
mc_version=1.12.2
forge_version=14.23.5.2847
mapping_version=stable_39
mod_version=2o.3.3
mod_version=2o.3.4
ic2_version=2.8.197-ex112
jei_version=4.15.0.293
@ -20,6 +20,7 @@ conarm_version=1.12.2:1.2.5.4
gregtech_version=1.12.2:1.9.0.481
mekanism_version=1.12.2:9.8.3.390
projecte_version=1.12.2:PE1.4.1
patchouli_version=1.0-9.44
hwyla_version=1.8.26:B41_1.12.2
org.gradle.jvmargs=-Xmx4G

110
gradlew vendored
View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env sh
##############################################################################
##
@ -6,47 +6,6 @@
##
##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
esac
# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
fi
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
@ -61,9 +20,49 @@ while [ -h "$PRG" ] ; do
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >&-
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >&-
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
@ -90,7 +89,7 @@ location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@ -114,6 +113,7 @@ fi
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
@ -154,11 +154,19 @@ if $cygwin ; then
esac
fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
APP_ARGS=$(save "$@")
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"

14
gradlew.bat vendored
View File

@ -8,14 +8,14 @@
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
@ -46,10 +46,9 @@ echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windowz variants
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
@ -60,11 +59,6 @@ set _SKIP=2
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line

View File

@ -6,7 +6,7 @@ public class Global {
public static final String MOD_SHORT_ID = "nc";
public static final String MOD_NAME = "NuclearCraft";
public static final String VERSION = "@VERSION@";
public static final String DEPENDENCIES = "after:tconstruct;after:conarm;after:openterraingenerator;after:alchemistry";
public static final String DEPENDENCIES = "after:tconstruct;after:conarm;after:openterraingenerator;after:alchemistry;after:harvestcraft";
public static final String NC_CLIENT_PROXY = "nc.proxy.ClientProxy";
public static final String NC_SERVER_PROXY = "nc.proxy.ServerProxy";

View File

@ -175,20 +175,26 @@ public class NCInfo {
// Speed Upgrade
public static final String[] POLY_POWER = new String[] {"linearly", "quadratically", "cubicly", "quarticly", "quinticly", "sexticly", "septicly", "octicly", "nonicly", "decicly", "undecicly", "duodecicly", "tredecicly", "quattuordecicly", "quindecicly"};
public static String[][] upgradeInfo() {
String[][] info = new String[MetaEnums.UpgradeType.values().length][];
for (int i = 0; i < MetaEnums.UpgradeType.values().length; i++) {
info[i] = InfoHelper.EMPTY_ARRAY;
}
info[0] = InfoHelper.formattedInfo(Lang.localise("item.nuclearcraft.upgrade.speed_desc", powerString(speed_upgrade_power_laws[0]), powerString(speed_upgrade_power_laws[1])));
info[1] = InfoHelper.formattedInfo(Lang.localise("item.nuclearcraft.upgrade.energy_desc", powerString(energy_upgrade_power_laws[0])));
info[0] = InfoHelper.formattedInfo(Lang.localise("item.nuclearcraft.upgrade.speed_desc", powerAdverb(speed_upgrade_power_laws[0], "increase", "with"), powerAdverb(speed_upgrade_power_laws[1], "increase", "")));
info[1] = InfoHelper.formattedInfo(Lang.localise("item.nuclearcraft.upgrade.energy_desc", powerAdverb(energy_upgrade_power_laws[0], "decrease", "with")));
return info;
}
private static String powerString(double power) {
return (power == (int) power ? "" : Lang.localise("info.nuclearcraft.approximately" + " ")) + POLY_POWER[(int) Math.round(power) - 1];
private static String powerAdverb(double power, String verb, String preposition) {
if (power != (int) power) {
verb += "_approximately";
}
verb = Lang.localise("nc.sf." + verb);
int p = (int) Math.round(power);
preposition = "nc.sf." + preposition;
return Lang.canLocalise(preposition) ? Lang.localise("nc.sf.power_adverb_preposition", Lang.localise("nc.sf.power_adverb" + p, verb), Lang.localise(preposition)) : Lang.localise("nc.sf.power_adverb" + p, verb);
}
// Extra Ore Drops

View File

@ -8,7 +8,7 @@ public class FluidPlasma extends NCFluid {
super(fluidName, false);
setDensity(50);
setViscosity(100);
setTemperature(10000);
setTemperature(1000000);
setLuminosity(15);
setEmptySound(SoundEvents.BLOCK_FIRE_EXTINGUISH);
setFillSound(SoundEvents.BLOCK_FIRE_EXTINGUISH);

View File

@ -1,6 +1,8 @@
package nc.handler;
import nc.ModCheck;
import nc.init.*;
import nc.util.RegistryHelper;
import net.minecraft.init.*;
import net.minecraft.item.*;
import net.minecraftforge.oredict.OreDictionary;
@ -183,11 +185,11 @@ public class OreDictHandler {
OreDictionary.registerOre("dustWheat", NCItems.flour);
OreDictionary.registerOre("dyeBrown", NCItems.cocoa_solids);
OreDictionary.registerOre("dustCocoa", NCItems.cocoa_solids);
OreDictionary.registerOre("foodCocoapowder", NCItems.cocoa_solids);
OreDictionary.registerOre("ingotCocoaButter", NCItems.cocoa_butter);
OreDictionary.registerOre("ingotUnsweetenedChocolate", NCItems.unsweetened_chocolate);
OreDictionary.registerOre("ingotDarkChocolate", NCItems.dark_chocolate);
OreDictionary.registerOre("ingotChocolate", NCItems.milk_chocolate);
OreDictionary.registerOre("foodChocolatebar", NCItems.milk_chocolate);
OreDictionary.registerOre("ingotMarshmallow", NCItems.marshmallow);
OreDictionary.registerOre("record", NCItems.record_wanderer);
@ -199,6 +201,15 @@ public class OreDictHandler {
OreDictionary.registerOre("coal", Items.COAL);
OreDictionary.registerOre("charcoal", new ItemStack(Items.COAL, 1, 1));
OreDictionary.registerOre("wool", new ItemStack(Blocks.WOOL, 1, OreDictionary.WILDCARD_VALUE));
// Entry Mergers
for (ItemStack stack : OreDictionary.getOres("foodCocoapowder", false)) {
OreDictionary.registerOre("dustCocoa", stack);
}
for (ItemStack stack : OreDictionary.getOres("foodChocolatebar", false)) {
OreDictionary.registerOre("ingotChocolate", stack);
}
}
public static void registerOre(Item item, int meta, String... names) {

View File

@ -41,6 +41,22 @@ public class PlayerRespawnHandler {
}
}
else {
newRads.setConsumedMedicine(oldRads.getConsumedMedicine());
newRads.setExternalRadiationResistance(oldRads.getExternalRadiationResistance());
newRads.setInternalRadiationResistance(oldRads.getInternalRadiationResistance());
newRads.setPoisonBuffer(oldRads.getPoisonBuffer());
newRads.setRadawayBuffer(false, oldRads.getRadawayBuffer(false));
newRads.setRadawayBuffer(true, oldRads.getRadawayBuffer(true));
newRads.setRadawayCooldown(oldRads.getRadawayCooldown());
newRads.setRadiationImmunityStage(oldRads.getRadiationImmunityStage());
newRads.setRadiationImmunityTime(oldRads.getRadiationImmunityTime());
newRads.setRadXCooldown(oldRads.getRadXCooldown());
newRads.setRadXUsed(oldRads.getRadXUsed());
newRads.setRadXWoreOff(oldRads.getRadXWoreOff());
newRads.setRecentPoisonAddition(oldRads.getRecentPoisonAddition());
newRads.setRecentRadawayAddition(oldRads.getRecentRadawayAddition());
newRads.setRecentRadXAddition(oldRads.getRecentRadXAddition());
newRads.setShouldWarn(oldRads.getShouldWarn());
newRads.setTotalRads(oldRads.getTotalRads(), false);
}
}

View File

@ -40,7 +40,9 @@ public class ItemRadX extends NCItem {
if (player instanceof EntityPlayerMP) {
CriteriaTriggers.CONSUME_ITEM.trigger((EntityPlayerMP) player, stack);
}
if (!player.isCreative()) {
stack.shrink(1);
}
playerRads.setConsumedMedicine(true);
playerRads.setRadXCooldown(radiation_rad_x_cooldown);
if (radiation_rad_x_cooldown >= 10D) {

View File

@ -43,7 +43,9 @@ public class ItemRadaway extends NCItem {
if (player instanceof EntityPlayerMP) {
CriteriaTriggers.CONSUME_ITEM.trigger((EntityPlayerMP) player, stack);
}
if (!player.isCreative()) {
stack.shrink(1);
}
playerRads.setConsumedMedicine(true);
playerRads.setRadawayCooldown(radiation_radaway_cooldown);
if (radiation_radaway_cooldown >= 10D) {

View File

@ -273,6 +273,10 @@ public abstract class CuboidalMultiblock<T extends ITileMultiblockPart, PACKET e
}
public int getInteriorLength(EnumFacing dir) {
if (dir == null) {
return getInteriorLengthY();
}
switch (dir) {
case DOWN:
return getInteriorLengthY();
@ -355,6 +359,10 @@ public abstract class CuboidalMultiblock<T extends ITileMultiblockPart, PACKET e
}
public Iterable<MutableBlockPos> getWallMin(EnumFacing.Axis axis) {
if (axis == null) {
return BlockPos.getAllInBoxMutable(getExtremeCoord(false, false, false), getExtremeCoord(false, false, false));
}
switch (axis) {
case X:
return getWallMinX();
@ -368,6 +376,10 @@ public abstract class CuboidalMultiblock<T extends ITileMultiblockPart, PACKET e
}
public Iterable<MutableBlockPos> getWallMax(EnumFacing.Axis axis) {
if (axis == null) {
return BlockPos.getAllInBoxMutable(getExtremeCoord(true, true, true), getExtremeCoord(true, true, true));
}
switch (axis) {
case X:
return getWallMaxX();
@ -381,6 +393,10 @@ public abstract class CuboidalMultiblock<T extends ITileMultiblockPart, PACKET e
}
public boolean isInMinWall(EnumFacing.Axis axis, BlockPos pos) {
if (axis == null) {
return false;
}
switch (axis) {
case X:
return pos.getX() == getMinX();
@ -394,6 +410,10 @@ public abstract class CuboidalMultiblock<T extends ITileMultiblockPart, PACKET e
}
public boolean isInMaxWall(EnumFacing.Axis axis, BlockPos pos) {
if (axis == null) {
return false;
}
switch (axis) {
case X:
return pos.getX() == getMaxX();
@ -407,6 +427,10 @@ public abstract class CuboidalMultiblock<T extends ITileMultiblockPart, PACKET e
}
public boolean isInWall(EnumFacing side, BlockPos pos) {
if (side == null) {
return false;
}
switch (side) {
case DOWN:
return pos.getY() == getMinY();
@ -426,6 +450,10 @@ public abstract class CuboidalMultiblock<T extends ITileMultiblockPart, PACKET e
}
public BlockPos getMinimumInteriorPlaneCoord(EnumFacing normal, int depth, int uCushion, int vCushion) {
if (normal == null) {
return getExtremeInteriorCoord(false, false, false);
}
switch (normal) {
case DOWN:
return getExtremeInteriorCoord(false, false, false).offset(EnumFacing.UP, depth).offset(EnumFacing.SOUTH, uCushion).offset(EnumFacing.EAST, vCushion);
@ -445,6 +473,10 @@ public abstract class CuboidalMultiblock<T extends ITileMultiblockPart, PACKET e
}
public BlockPos getMaximumInteriorPlaneCoord(EnumFacing normal, int depth, int uCushion, int vCushion) {
if (normal == null) {
return getExtremeInteriorCoord(false, false, false);
}
switch (normal) {
case DOWN:
return getExtremeInteriorCoord(true, false, true).offset(EnumFacing.UP, depth).offset(EnumFacing.NORTH, uCushion).offset(EnumFacing.WEST, vCushion);
@ -494,6 +526,10 @@ public abstract class CuboidalMultiblock<T extends ITileMultiblockPart, PACKET e
}
public Iterable<MutableBlockPos> getInteriorPlane(EnumFacing normal, int depth, int minUCushion, int minVCushion, int maxUCushion, int maxVCushion) {
if (normal == null) {
return BlockPos.getAllInBoxMutable(getExtremeInteriorCoord(false, false, false), getExtremeInteriorCoord(false, false, false));
}
switch (normal) {
case DOWN:
return getInteriorPlaneMinY(depth, minUCushion, minVCushion, maxUCushion, maxVCushion);

View File

@ -71,6 +71,7 @@ public class Turbine extends CuboidalMultiblock<ITurbinePart, TurbineUpdatePacke
public long prevRenderTime = 0L;
public Iterable<MutableBlockPos>[] inputPlane = new Iterable[4];
public boolean shouldRenderRotor = false;
public BlockPos[] bladePosArray = null;
public Vector3f[] renderPosArray = null;
public float[] bladeAngleArray = null;
@ -163,6 +164,7 @@ public class Turbine extends CuboidalMultiblock<ITurbinePart, TurbineUpdatePacke
@Override
protected boolean isMachineWhole(Multiblock multiblock) {
shouldRenderRotor = false;
return setLogic(multiblock) && super.isMachineWhole(multiblock) && logic.isMachineWhole(multiblock);
}

View File

@ -174,7 +174,9 @@ public class TurbineLogic extends MultiblockLogic<Turbine, TurbineLogic, ITurbin
}
if (getTurbine().controller != null) {
PacketHandler.instance.sendToAll(getFormPacket());
if (getTurbine().shouldRenderRotor) {
PacketHandler.instance.sendToAll(getTurbine().getFormPacket());
}
getTurbine().sendUpdateToListeningPlayers();
}
}
@ -270,6 +272,8 @@ public class TurbineLogic extends MultiblockLogic<Turbine, TurbineLogic, ITurbin
getTurbine().flowDir = null;
getTurbine().shaftWidth = getTurbine().inertia = getTurbine().bladeLength = getTurbine().noBladeSets = getTurbine().recipeInputRate = 0;
getTurbine().totalExpansionLevel = getTurbine().idealTotalExpansionLevel = getTurbine().maxBladeExpansionCoefficient = 1D;
getTurbine().particleEffect = "cloud";
getTurbine().particleSpeedMult = 1D / 23.2D;
getTurbine().basePowerPerMB = getTurbine().recipeInputRateFP = 0D;
getTurbine().expansionLevels = new DoubleArrayList();
getTurbine().rawBladeEfficiencies = new DoubleArrayList();
@ -511,7 +515,9 @@ public class TurbineLogic extends MultiblockLogic<Turbine, TurbineLogic, ITurbin
controller.setIsRenderer(false);
}
for (ITurbineController controller : getParts(ITurbineController.class)) {
if (getTurbine().shouldRenderRotor) {
controller.setIsRenderer(true);
}
break;
}
@ -714,7 +720,9 @@ public class TurbineLogic extends MultiblockLogic<Turbine, TurbineLogic, ITurbin
getTurbine().angVel = getTurbine().rawMaxPower == 0D ? 0F : (float) (NCConfig.turbine_render_rotor_speed * getTurbine().rawPower / getTurbine().rawMaxPower);
if (wasProcessing != getTurbine().isProcessing && getTurbine().controller != null) {
PacketHandler.instance.sendToAll(getFormPacket());
if (getTurbine().shouldRenderRotor) {
PacketHandler.instance.sendToAll(getTurbine().getFormPacket());
}
getTurbine().sendUpdateToAllPlayers();
}
@ -732,7 +740,7 @@ public class TurbineLogic extends MultiblockLogic<Turbine, TurbineLogic, ITurbin
getTurbine().energyStorage.changeEnergyStored((long) getTurbine().power);
if (getTurbine().controller != null) {
PacketHandler.instance.sendToAll(getRenderPacket());
PacketHandler.instance.sendToAll(getTurbine().getRenderPacket());
getTurbine().sendUpdateToListeningPlayers();
}
@ -799,10 +807,10 @@ public class TurbineLogic extends MultiblockLogic<Turbine, TurbineLogic, ITurbin
protected boolean setRecipeStats() {
if (getTurbine().recipeInfo == null) {
getTurbine().recipeInputRate = 0;
getTurbine().basePowerPerMB = getTurbine().recipeInputRateFP = 0D;
// getTurbine().basePowerPerMB = getTurbine().recipeInputRateFP = 0D;
// getTurbine().idealTotalExpansionLevel = 1D;
getTurbine().particleEffect = "cloud";
getTurbine().particleSpeedMult = 1D / 23.2D;
// getTurbine().particleEffect = "cloud";
// getTurbine().particleSpeedMult = 1D / 23.2D;
return false;
}
getTurbine().basePowerPerMB = getTurbine().recipeInfo.getRecipe().getTurbinePowerPerMB();
@ -933,7 +941,9 @@ public class TurbineLogic extends MultiblockLogic<Turbine, TurbineLogic, ITurbin
@Override
public void onUpdateClient() {
if (getTurbine().shouldRenderRotor) {
updateParticles();
}
updateSounds();
}

View File

@ -24,4 +24,8 @@ public class TileTurbineGlass extends TileTurbinePart {
// getWorld().getBlockState(getPos()), 2);
}
@Override
public boolean isTransparent() {
return true;
}
}

View File

@ -1,13 +1,12 @@
package nc.multiblock.turbine.tile;
import nc.multiblock.Multiblock;
import nc.multiblock.cuboidal.*;
import nc.multiblock.turbine.Turbine;
import net.minecraft.nbt.NBTTagCompound;
public abstract class TileTurbinePart extends TileCuboidalMultiblockPart<Turbine> implements ITurbinePart {
public boolean isTurbineOn;
public TileTurbinePart(CuboidalPartPositionType positionType) {
super(Turbine.class, positionType);
}
@ -17,24 +16,55 @@ public abstract class TileTurbinePart extends TileCuboidalMultiblockPart<Turbine
return new Turbine(world);
}
public void setIsTurbineOn() {
if (getMultiblock() != null) {
isTurbineOn = getMultiblock().isTurbineOn;
}
}
// NBT
@Override
public NBTTagCompound writeAll(NBTTagCompound nbt) {
super.writeAll(nbt);
nbt.setBoolean("isTurbineOn", isTurbineOn);
return nbt;
public boolean isTransparent() {
return false;
}
@Override
public void readAll(NBTTagCompound nbt) {
super.readAll(nbt);
isTurbineOn = nbt.getBoolean("isTurbineOn");
public boolean isGoodForFrame(Multiblock multiblock) {
if (getPartPositionType().isGoodForFrame()) {
if (isTransparent() && getMultiblock() != null) {
getMultiblock().shouldRenderRotor = true;
}
return true;
}
setStandardLastError(multiblock);
return false;
}
@Override
public boolean isGoodForSides(Multiblock multiblock) {
if (getPartPositionType().isGoodForWall()) {
if (isTransparent() && getMultiblock() != null) {
getMultiblock().shouldRenderRotor = true;
}
return true;
}
setStandardLastError(multiblock);
return false;
}
@Override
public boolean isGoodForTop(Multiblock multiblock) {
if (getPartPositionType().isGoodForWall()) {
if (isTransparent() && getMultiblock() != null) {
getMultiblock().shouldRenderRotor = true;
}
return true;
}
setStandardLastError(multiblock);
return false;
}
@Override
public boolean isGoodForBottom(Multiblock multiblock) {
if (getPartPositionType().isGoodForWall()) {
if (isTransparent() && getMultiblock() != null) {
getMultiblock().shouldRenderRotor = true;
}
return true;
}
setStandardLastError(multiblock);
return false;
}
}

View File

@ -74,7 +74,7 @@ public class RadiationHandler {
playerRads.setRadiationImmunityStage(default_rad_immunity ^ GameStageHelper.hasAnyOf(player, rad_immunity_stages));
}
if (!player.isCreative() && playerRads.isFatal()) {
if (!player.isCreative() && !player.isSpectator() && playerRads.isFatal()) {
player.attackEntityFrom(DamageSources.FATAL_RADS, Float.MAX_VALUE);
}
@ -113,7 +113,7 @@ public class RadiationHandler {
playerRads.setRadiationLevel(radiationLevel);
if (!player.isCreative()) {
if (!player.isCreative() && !player.isSpectator()) {
if (playerRads.isFatal()) {
player.attackEntityFrom(DamageSources.FATAL_RADS, Float.MAX_VALUE);
}
@ -180,7 +180,7 @@ public class RadiationHandler {
PacketHandler.instance.sendTo(new PlayerRadsUpdatePacket(playerRads), player);
if (!player.isCreative() && !playerRads.isImmune()) {
if (!player.isCreative() && !player.isSpectator() && !playerRads.isImmune()) {
RadiationHelper.applyPotionEffects(player, playerRads, RadPotionEffects.PLAYER_RAD_LEVEL_LIST, RadPotionEffects.PLAYER_DEBUFF_LIST);
}
}

View File

@ -57,7 +57,7 @@ public class InfoHelper {
public static void infoFull(List list, TextFormatting fixedColor, String[] fixedLines, TextFormatting infoColor, String... lines) {
if (showFixedInfo(fixedLines, lines)) {
fixedInfoList(list, !Arrays.equals(lines, EMPTY_ARRAY), fixedColor, fixedLines);
fixedInfoList(list, !Arrays.equals(lines, EMPTY_ARRAY) && !Arrays.equals(lines, NULL_ARRAY), fixedColor, fixedLines);
}
else if (showInfo(fixedLines, lines)) {
infoList(list, infoColor, lines);
@ -69,7 +69,7 @@ public class InfoHelper {
public static void infoFull(List list, TextFormatting fixedColor, String[] fixedLines, TextFormatting[] infoColors, String... lines) {
if (showFixedInfo(fixedLines, lines)) {
fixedInfoList(list, !Arrays.equals(lines, EMPTY_ARRAY), fixedColor, fixedLines);
fixedInfoList(list, !Arrays.equals(lines, EMPTY_ARRAY) && !Arrays.equals(lines, NULL_ARRAY), fixedColor, fixedLines);
}
else if (showInfo(fixedLines, lines)) {
infoList(list, infoColors, lines);
@ -81,7 +81,7 @@ public class InfoHelper {
public static void infoFull(List list, TextFormatting[] fixedColors, String[] fixedLines, TextFormatting infoColor, String... lines) {
if (showFixedInfo(fixedLines, lines)) {
fixedInfoList(list, !Arrays.equals(lines, EMPTY_ARRAY), fixedColors, fixedLines);
fixedInfoList(list, !Arrays.equals(lines, EMPTY_ARRAY) && !Arrays.equals(lines, NULL_ARRAY), fixedColors, fixedLines);
}
else if (showInfo(fixedLines, lines)) {
infoList(list, infoColor, lines);
@ -93,7 +93,7 @@ public class InfoHelper {
public static void infoFull(List list, TextFormatting[] fixedColors, String[] fixedLines, TextFormatting[] infoColors, String... lines) {
if (showFixedInfo(fixedLines, lines)) {
fixedInfoList(list, !Arrays.equals(lines, EMPTY_ARRAY), fixedColors, fixedLines);
fixedInfoList(list, !Arrays.equals(lines, EMPTY_ARRAY) && !Arrays.equals(lines, NULL_ARRAY), fixedColors, fixedLines);
}
else if (showInfo(fixedLines, lines)) {
infoList(list, infoColors, lines);

View File

@ -1607,10 +1607,9 @@ item.nuclearcraft.part.empty_sink.name=Empty Heat Sink
item.nuclearcraft.part.pyrolytic_carbon.name=Pyrolytic Carbon
item.nuclearcraft.upgrade.speed.name=Speed Upgrade
item.nuclearcraft.upgrade.speed_desc=Increases the processing speed of machines at the cost of additional processing power. These upgrades can be stacked - the speed will increase %s with each additional upgrade while the power use will increase %s.
item.nuclearcraft.upgrade.speed_desc=Increases the processing speed of machines at the cost of additional processing power. These upgrades can be stacked - the speed will %s each additional upgrade while the power use will %s.
item.nuclearcraft.upgrade.energy.name=Energy Upgrade
item.nuclearcraft.upgrade.energy_desc=Decreases the processing power of machines. These upgrades can be stacked, but the maximum number that will have an effect is equal to the number of installed speed upgrades. The power use will decrease %s with each additional upgrade.
info.nuclearcraft.approximately=approximately
item.nuclearcraft.upgrade.energy_desc=Decreases the processing power of machines. These upgrades can be stacked, but the maximum number that will have an effect is equal to the number of installed speed upgrades. The power use will %s each additional upgrade.
item.nuclearcraft.fission_dust.bismuth.name=Bismuth Dust
item.nuclearcraft.fission_dust.radium.name=Radium Dust
@ -3352,6 +3351,11 @@ death.attack.hypothermia=%1$s died as a result of extreme hypothermia
death.attack.fission_burn=%1$s was fried by a fission reactor
death.attack.fatal_rads=%1$s died due to fatal radiation poisoning
# Guide Book
nc.guide_book.name=Guide to Radioisotopes
nc.guide_book.desc=Welcome to the official guide for NuclearCraft: Overhauled
# String Formatting
nc.sf.plural_rule=%d == 1 ? 0 : 1
@ -3556,3 +3560,27 @@ nc.sf.copper_coil0=%s copper dynamo coil
nc.sf.copper_coil1=%s copper dynamo coils
nc.sf.silver_coil0=%s silver dynamo coil
nc.sf.silver_coil1=%s silver dynamo coils
nc.sf.power_adverb0=be constant
nc.sf.power_adverb1=%s linearly
nc.sf.power_adverb2=%s quadratically
nc.sf.power_adverb3=%s cubically
nc.sf.power_adverb4=%s quartically
nc.sf.power_adverb5=%s quintically
nc.sf.power_adverb6=%s sextically
nc.sf.power_adverb7=%s septically
nc.sf.power_adverb8=%s octically
nc.sf.power_adverb9=%s nonically
nc.sf.power_adverb10=%s decically
nc.sf.power_adverb11=%s undecically
nc.sf.power_adverb12=%s duodecically
nc.sf.power_adverb13=%s tredecically
nc.sf.power_adverb14=%s quattuordecically
nc.sf.power_adverb15=%s quindecically
nc.sf.increase=increase
nc.sf.decrease=decrease
nc.sf.increase_approximately=increase approximately
nc.sf.decrease_approximately=decrease approximately
nc.sf.power_adverb_preposition=%1$s %2$s
nc.sf.with=with

View File

@ -1607,12 +1607,9 @@ item.nuclearcraft.part.empty_sink.name=空散热器
item.nuclearcraft.part.pyrolytic_carbon.name=热解碳
item.nuclearcraft.upgrade.speed.name=速度升级
item.nuclearcraft.upgrade.speed_desc=以消耗更多能量为代价提高机器的处理速度。可堆叠——每个速度升级都会线性地提升速度,并呈指数级地提升能量消耗。
# 以消耗更多能量为代价提高机器的处理速度。可堆叠——每个速度升级都会%s地提升速度并%s地提升能量消耗。
item.nuclearcraft.upgrade.speed_desc=以消耗更多能量为代价提高机器的处理速度。可堆叠——每个速度升级都会%s速度并%s能量消耗。
item.nuclearcraft.upgrade.energy.name=能量升级
item.nuclearcraft.upgrade.energy_desc=为机器减少能量消耗。可堆叠——每个能量升级都会线性地减少能量消耗,但是最大的有效能量升级数量等同于速度升级的数量。
# 为机器减少能量消耗。可堆叠,但是最大的有效能量升级数量等同于速度升级的速量。每个能量升级都会%s地减少能量消耗。
info.nuclearcraft.approximately=最大
item.nuclearcraft.upgrade.energy_desc=为机器减少能量消耗。可堆叠——每个能量升级都会%s能量消耗但是最大的有效能量升级数量等同于速度升级的数量。
item.nuclearcraft.fission_dust.bismuth.name=铋粉
item.nuclearcraft.fission_dust.radium.name=镭粉
@ -3492,3 +3489,30 @@ nc.sf.copper_coil0=%s铜发电机线圈
nc.sf.copper_coil1=%s铜发电机线圈
nc.sf.silver_coil0=%s银发电机线圈
nc.sf.silver_coil1=%s银发电机线圈
nc.sf.power_adverb0=持续地
nc.sf.power_adverb1=线性地%s
nc.sf.power_adverb2=平方地%s
nc.sf.power_adverb3=立方地%s
nc.sf.power_adverb4=四次方地%s
nc.sf.power_adverb5=五次方地%s
nc.sf.power_adverb6=六次方地%s
nc.sf.power_adverb7=七次方地%s
nc.sf.power_adverb8=八次方地%s
nc.sf.power_adverb9=九次方地%s
nc.sf.power_adverb10=十次方地%s
nc.sf.power_adverb11=十一次方地%s
nc.sf.power_adverb12=十二次方地%s
nc.sf.power_adverb13=十三次方地%s
nc.sf.power_adverb14=十四次方地%s
nc.sf.power_adverb15=十五次方地%s
nc.sf.increase=提升
nc.sf.decrease=降低
nc.sf.increase_approximately=近似地提升
nc.sf.decrease_approximately=近似地降低
nc.sf.power_adverb_preposition=%2$s%1$s
nc.sf.with=与
tom.nuclearcraft.guide_book.name=同位素之书
tom.nuclearcraft.guide_book.desc=欢迎来到核电工艺:重制版的官方指导!

View File

@ -0,0 +1,5 @@
{
"name": "nc.guide_book.name",
"landing_text": "nc.guide_book.desc",
"version": 1
}

View File

@ -0,0 +1,5 @@
{
"name": "The Basics",
"description": "A mod all about Nuclear Physics",
"icon": "nuclearcraft:fuel_uranium:9"
}

View File

@ -0,0 +1,6 @@
{
"name": "Fission",
"description": "Nuclear Fission",
"icon": "nuclearcraft:fission_source:2",
"parent": "nuclearcraft:multiblocks"
}

View File

@ -0,0 +1,6 @@
{
"name": "Introduction to NuclearCraft",
"description": "NuclearCraft is a tech mod focused on power generation using nuclear power.",
"icon": "nuclearcraft:fuel_uranium:9",
"sortnum": 0
}

View File

@ -0,0 +1,5 @@
{
"name": "Machines",
"description": "All the single-block processors, generators, and other things that end in ...ors",
"icon": "nuclearcraft:manufactory"
}

View File

@ -0,0 +1,5 @@
{
"name": "Ores & Materials",
"description": "",
"icon": "nuclearcraft:ingot:4"
}

View File

@ -0,0 +1,5 @@
{
"name": "Multiblocks",
"description": "",
"icon": "nuclearcraft:solid_fission_controller"
}

View File

@ -0,0 +1,11 @@
{
"name": "The Basics",
"icon": "nuclearcraft:depleted_fuel_uranium:9",
"category": "nuclearcraft:introduction",
"pages": [
{
"type": "text",
"text": "NuclearCraft is a mod made by Turbodiesel4598"
}
]
}

View File

@ -0,0 +1,11 @@
{
"name": "Fusion Reactors",
"icon": "nuclearcraft:fusion_controller",
"category": "nuclearcraft:multiblocks",
"pages": [
{
"type": "text",
"text": ""
}
]
}

View File

@ -0,0 +1,11 @@
{
"name": "Heat Exchangers",
"icon": "nuclearcraft:heat_exchanger_controller",
"category": "nuclearcraft:multiblocks",
"pages": [
{
"type": "text",
"text": ""
}
]
}

View File

@ -0,0 +1,11 @@
{
"name": "Introduction",
"icon": "nuclearcraft:depleted_fuel_uranium:9",
"category": "nuclearcraft:basics",
"pages": [
{
"type": "text",
"text": "NuclearCraft is a mod made by Turbodiesel4598"
}
]
}

View File

@ -0,0 +1,32 @@
{
"name": "Energy Storage",
"icon": "nuclearcraft:lithium_ion_battery_elite",
"category": "nuclearcraft:machines",
"pages": [
{
"anchor": "intro",
"type": "text",
"text": "These blocks store energy. If two of the same type are placed next to each other, they will share their stored energy"
},
{
"anchor": "voltaic_pile",
"type": "machines/4_tier_machine",
"header": "Voltaic Piles",
"tier1": "nuclearcraft:voltaic_pile_basic",
"tier2": "nuclearcraft:voltaic_pile_advanced",
"tier3": "nuclearcraft:voltaic_pile_du",
"tier4": "nuclearcraft:voltaic_pile_elite",
"text": ""
},
{
"anchor": "lithium_ion_battery",
"type": "machines/4_tier_machine",
"header": "Lithium Ion Batteries",
"tier1": "nuclearcraft:lithium_ion_battery_basic",
"tier2": "nuclearcraft:lithium_ion_battery_advanced",
"tier3": "nuclearcraft:lithium_ion_battery_du",
"tier4": "nuclearcraft:lithium_ion_battery_elite",
"text": ""
}
]
}

View File

@ -0,0 +1,59 @@
{
"name": "Generators & Collectors",
"icon": "nuclearcraft:rtg_uranium",
"category": "nuclearcraft:machines",
"pages": [
{
"anchor": "intro",
"type": "text",
"text": "These blocks generate energy, items, or fluids, without needing any continuous input"
},
{
"anchor": "rtg",
"type": "machines/4_tier_machine",
"header": "RTGs",
"tier1": "nuclearcraft:rtg_uranium",
"tier2": "nuclearcraft:rtg_plutonium",
"tier3": "nuclearcraft:rtg_americium",
"tier4": "nuclearcraft:rtg_californium",
"text": "Radioisotope Thermoelectric Generators. Uses the heat produced by radioactive decay to generate energy"
},
{
"anchor": "solar_panel",
"type": "machines/4_tier_machine",
"header": "Solar Panels",
"tier1": "nuclearcraft:solar_panel_basic",
"tier2": "nuclearcraft:solar_panel_advanced",
"tier3": "nuclearcraft:solar_panel_du",
"tier4": "nuclearcraft:solar_panel_elite",
"text": "Generates energy only during the day"
},
{
"anchor": "cobblestone_generator",
"type": "machines/3_tier_machine",
"header": "Cobblestone Generators",
"tier1": "nuclearcraft:cobblestone_generator",
"tier2": "nuclearcraft:cobblestone_generator_compact",
"tier3": "nuclearcraft:cobblestone_generator_dense",
"text": "Combines lava and water to generate cobblestone"
},
{
"anchor": "water_source",
"type": "machines/3_tier_machine",
"header": "Water Sources",
"tier1": "nuclearcraft:water_source",
"tier2": "nuclearcraft:water_source_compact",
"tier3": "nuclearcraft:water_source_dense",
"text": "Uses the magic of infinite water sources to generate water"
},
{
"anchor": "nitrogen_collector",
"type": "machines/3_tier_machine",
"header": "Nitrogen Collectors",
"tier1": "nuclearcraft:nitrogen_collector",
"tier2": "nuclearcraft:nitrogen_collector_compact",
"tier3": "nuclearcraft:nitrogen_collector_dense",
"text": "Seperates out the nitrogen from the air"
}
]
}

View File

@ -0,0 +1,24 @@
{
"name": "Other 'Machines'",
"icon": "nuclearcraft:bin",
"category": "nuclearcraft:machines",
"pages": [
{
"anchor": "intro",
"type": "text",
"text": "These are machine-like blocks that help in building a clean and efficient factory"
},
{
"anchor": "machine_interface",
"type": "machines/single_machine",
"block": "nuclearcraft:machine_interface",
"text": "Extends a machine through one of its faces, in case you run out of room"
},
{
"anchor": "bin",
"type": "machines/single_machine",
"block": "nuclearcraft:bin",
"text": "A black hole in a box. Destroys everything inserted, including but not limited to: items, fluids, energy, ..."
}
]
}

View File

@ -0,0 +1,132 @@
{
"name": "Processors",
"icon": "nuclearcraft:manufactory",
"category": "nuclearcraft:machines",
"pages": [
{
"anchor": "intro",
"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"
},
{
"anchor": "manufactory",
"type": "machines/single_machine",
"block": "nuclearcraft:manufactory",
"text": "Pulverises, saws, crushes... This is the most versatile machine, and will be one of the first you will make"
},
{
"anchor": "nuclear_furnace",
"type": "machines/single_machine",
"block": "nuclearcraft:nuclear_furnace",
"text": "Similar to a regular furnace, but it uses THE POWER OF RADIOACTIVITY to smelt stuff. Requires a nuclear fuel source to function."
},
{
"anchor": "separator",
"type": "machines/single_machine",
"block": "nuclearcraft:separator",
"text": "Reverse crafting table, in case you made too many of one fuel"
},
{
"anchor": "decay_hastener",
"type": "machines/single_machine",
"block": "nuclearcraft:decay_hastener",
"text": "Speeds up the decay of radioactive materials"
},
{
"anchor": "fuel_reprocessor",
"type": "machines/single_machine",
"block": "nuclearcraft:fuel_reprocessor",
"text": "Processes depleted fuel into new, more exciting (and more radioactive!) isotopes"
},
{
"anchor": "alloy_furnace",
"type": "machines/single_machine",
"block": "nuclearcraft:alloy_furnace",
"text": "Smelts 2 metals together"
},
{
"anchor": "fluid_infuser",
"type": "machines/single_machine",
"block": "nuclearcraft:infuser",
"text": "Infuses a fluid into an item, opposite of $(l:machines/processors#fluid_enricher)Fluid Enricher$(/l)"
},
{
"anchor": "melter",
"type": "machines/single_machine",
"block": "nuclearcraft:melter",
"text": "Turns solids into liquids"
},
{
"anchor": "supercooler",
"type": "machines/single_machine",
"block": "nuclearcraft:supercooler",
"text": "A very, very powerful freezer"
},
{
"anchor": "electrolyzer",
"type": "machines/single_machine",
"block": "nuclearcraft:electrolyzer",
"text": "Uses the power of electricity to seperate molecules"
},
{
"anchor": "assembler",
"type": "machines/single_machine",
"block": "nuclearcraft:assembler",
"text": "Combines multiple items into more complex components"
},
{
"anchor": "ingot_former",
"type": "machines/single_machine",
"block": "nuclearcraft:ingot_former",
"text": "Forms ingots from their molten counterparts. Does not require energy"
},
{
"anchor": "pressurizer",
"type": "machines/single_machine",
"block": "nuclearcraft:pressurizer",
"text": "Overpowered squeezer, capable of turning piles of dust into crystals"
},
{
"anchor": "chemical_reactor",
"type": "machines/single_machine",
"block": "nuclearcraft:chemical_reactor",
"text": "2 fluids react together to make 2 new fluids"
},
{
"anchor": "salt_mixer",
"type": "machines/single_machine",
"block": "nuclearcraft:salt_mixer",
"text": "Mixes fluids together"
},
{
"anchor": "crystallizer",
"type": "machines/single_machine",
"block": "nuclearcraft:crystallizer",
"text": "Evaporates the water from solutions to form solids"
},
{
"anchor": "fluid_enricher",
"type": "machines/single_machine",
"block": "nuclearcraft:enricher",
"text": "Mixes items into fluids, opposite of $(l:machines/processors#fluid_infuser)Fluid Infuser$(/l)"
},
{
"anchor": "fluid_extractor",
"type": "machines/single_machine",
"block": "nuclearcraft:extractor",
"text": "Extracts fluids from items"
},
{
"anchor": "centrifuge",
"type": "machines/single_machine",
"block": "nuclearcraft:centrifuge",
"text": "Very spinny. Seperates fluids through the use of centrifugal force"
},
{
"anchor": "rock_crusher",
"type": "machines/single_machine",
"block": "nuclearcraft:rock_crusher",
"text": "Crushes rocks and seperates their dust"
}
]
}

View File

@ -0,0 +1,146 @@
{
"name": "Alloys",
"category": "nuclearcraft:materials",
"icon": "nuclearcraft:alloy:10",
"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": "materials/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": "materials/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": "materials/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": "materials/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": "materials/alloy",
"small": true,
"item1": "nuclearcraft:ingot:6,nuclearcraft:dust:6",
"item2": "nuclearcraft:ingot:15,nuclearcraft:dust:15",
"result": "nuclearcraft:alloy:4#2",
"text": "1 Magnesium Dioxide and 1 Lithium make 2"
},
{
"flag": "!mod:thermalfoundation",
"anchor": "steel_alloy",
"type": "materials/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": "materials/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": "materials/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": "materials/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": "materials/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": "materials/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": "materials/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": "materials/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": "materials/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": "materials/alloy",
"small": true,
"item1": "",
"item2": "",
"result": "nuclearcraft:alloy:14#4",
"text": "No recipes implemented yet"
},
{
"anchor": "HSLA_alloy",
"type": "materials/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

@ -0,0 +1,67 @@
{
"name": "Crystals",
"category": "nuclearcraft:materials",
"icon": "nuclearcraft:gem:0",
"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": "materials/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": "materials/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": "materials/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": "materials/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": "materials/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": "materials/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

@ -0,0 +1,84 @@
{
"name": "Ores and ingots",
"category": "nuclearcraft:materials",
"icon": "nuclearcraft:ore:4",
"pages": [
{
"anchor": "intro",
"type": "text",
"text": "This is a list of all the ores that are naturally generated by Nuclearcraft. Ores can be processed into dust in the $(l:machines/processors#manufactory)Manufactory$(/l), and that dust can be smelted into ingots. Ingots themselves can be processed into dust in the Manufactory."
},
{
"anchor": "copper",
"type": "materials/ore",
"symbol": "Cu",
"num": "29",
"ore": "nuclearcraft:ore:0",
"ingot": "nuclearcraft:ingot:0",
"dust": "nuclearcraft:dust:0"
},
{
"anchor": "tin",
"type": "materials/ore",
"symbol": "Sn",
"num": "50",
"ore": "nuclearcraft:ore:1",
"ingot": "nuclearcraft:ingot:1",
"dust": "nuclearcraft:dust:1"
},
{
"anchor": "lead",
"type": "materials/ore",
"symbol": "Pb",
"num": "82",
"ore": "nuclearcraft:ore:2",
"ingot": "nuclearcraft:ingot:2",
"dust": "nuclearcraft:dust:2"
},
{
"anchor": "thorium",
"type": "materials/ore",
"symbol": "Th",
"num": "90",
"ore": "nuclearcraft:ore:3",
"ingot": "nuclearcraft:ingot:3",
"dust": "nuclearcraft:dust:3"
},
{
"anchor": "uranium",
"type": "materials/ore",
"symbol": "U",
"num": "92",
"ore": "nuclearcraft:ore:4",
"ingot": "nuclearcraft:ingot:4",
"dust": "nuclearcraft:dust:4"
},
{
"anchor": "boron",
"type": "materials/ore",
"symbol": "B",
"num": "5",
"ore": "nuclearcraft:ore:5",
"ingot": "nuclearcraft:ingot:5",
"dust": "nuclearcraft:dust:5"
},
{
"anchor": "lithium",
"type": "materials/ore",
"symbol": "Li",
"num": "3",
"ore": "nuclearcraft:ore:6",
"ingot": "nuclearcraft:ingot:6",
"dust": "nuclearcraft:dust:6"
},
{
"anchor": "magnesium",
"type": "materials/ore",
"symbol": "Mg",
"num": "29",
"ore": "nuclearcraft:ore:7",
"ingot": "nuclearcraft:ingot:7",
"dust": "nuclearcraft:dust:7"
}
]
}

View File

@ -0,0 +1,111 @@
{
"name": "Other Basic Materials",
"category": "nuclearcraft:materials",
"icon": "nuclearcraft:dust:8",
"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": "materials/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": "materials/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": "materials/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": "materials/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": "materials/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": "materials/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": "materials/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": "materials/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": "materials/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": "materials/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

@ -0,0 +1,11 @@
{
"name": "Molten Salt Reactors",
"icon": "nuclearcraft:salt_fission_controller",
"category": "nuclearcraft:fission",
"pages": [
{
"type": "text",
"text": ""
}
]
}

View File

@ -0,0 +1,11 @@
{
"name": "Pebblebed Fission Reactors",
"icon": "nuclearcraft:pebblebed_fission_controller",
"category": "nuclearcraft:fission",
"pages": [
{
"type": "text",
"text": ""
}
]
}

View File

@ -0,0 +1,11 @@
{
"name": "Solid Fuel Fission Reactors",
"icon": "nuclearcraft:solid_fission_controller",
"category": "nuclearcraft:fission",
"pages": [
{
"type": "text",
"text": ""
}
]
}

View File

@ -0,0 +1,11 @@
{
"name": "Turbines",
"icon": "nuclearcraft:turbine_controller",
"category": "nuclearcraft:multiblocks",
"pages": [
{
"type": "text",
"text": "Turbines convert Low Pressure and High Pressure Steam into RF using Dynamo Coils and Rotors."
}
]
}

View File

@ -0,0 +1,40 @@
{
"components": [
{
"type": "header",
"text": "#header",
"x": -1,
"y": -1
},
{
"type": "item",
"item": "#tier1",
"framed": true,
"link_recipe": true,
"x": 30,
"y": 15
},
{
"type": "item",
"item": "#tier2",
"framed": true,
"link_recipe": true,
"x": 50,
"y": 15
},
{
"type": "item",
"item": "#tier3",
"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": "#tier1",
"framed": true,
"link_recipe": true,
"x": 20,
"y": 15
},
{
"type": "item",
"item": "#tier2",
"framed": true,
"link_recipe": true,
"x": 40,
"y": 15
},
{
"type": "item",
"item": "#tier3",
"framed": true,
"link_recipe": true,
"x": 60,
"y": 15
},
{
"type": "item",
"item": "#tier4",
"framed": true,
"link_recipe": true,
"x": 80,
"y": 15
},
{
"type": "text",
"text": "#text",
"x": 0,
"y": 40
}
]
}

View File

@ -0,0 +1,24 @@
{
"components": [
{
"type": "header",
"text": "#block->iname",
"x": -1,
"y": -1
},
{
"type": "item",
"item": "#block",
"framed": true,
"link_recipe": true,
"x": 50,
"y": 15
},
{
"type": "text",
"text": "#text",
"x": 0,
"y": 40
}
]
}

View File

@ -0,0 +1,45 @@
{
"components": [
{
"type": "header",
"text": "#result->iname",
"guard": "#small->exists->inv",
"x": -1,
"y": -1
},
{
"type": "header",
"text": "#result->iname",
"guard": "#small",
"scale": 0.75,
"x": -1,
"y": -1
},
{
"type": "item",
"item": "#item1",
"x": 10,
"y": 15
},
{
"type": "item",
"item": "#item2",
"x": 30,
"y": 15
},
{
"type": "item",
"item": "#result",
"framed": true,
"link_recipe": true,
"x": 80,
"y": 15
},
{
"type": "text",
"text": "#text",
"x": 0,
"y": 40
}
]
}

View File

@ -0,0 +1,57 @@
{
"components": [
{
"type": "header",
"text": "#anchor->fcapital",
"x": -1,
"y": -1
},
{
"type": "item",
"item": "#ingot",
"framed": true,
"link_recipe": true,
"x": 40,
"y": 15,
"guard": "#singleItem->exists->inv"
},
{
"type": "item",
"item": "#dust",
"framed": true,
"link_recipe": true,
"x": 60,
"y": 15,
"guard": "#singleItem->exists->inv"
},
{
"type": "item",
"item": "#item",
"framed": true,
"link_recipe": true,
"x": 50,
"y": 15,
"guard": "#singleItem"
},
{
"type": "text",
"text": "Symbol: $(l)#symbol#$()$(br)Atomic Number: $(l)#num#$()",
"guard": "#isElement",
"x": 0,
"y": 40
},
{
"type": "text",
"text": "Formula: $(l)#formula#$()",
"guard": "#isCompound",
"x": 0,
"y": 40
},
{
"type": "text",
"text": "#text",
"x": 0,
"y": 60
}
]
}

View File

@ -0,0 +1,40 @@
{
"components": [
{
"type": "header",
"text": "#anchor->fcapital",
"x": -1,
"y": -1
},
{
"type": "item",
"item": "#ore",
"framed": true,
"link_recipe": true,
"x": 30,
"y": 15
},
{
"type": "item",
"item": "#ingot",
"framed": true,
"link_recipe": true,
"x": 50,
"y": 15
},
{
"type": "item",
"item": "#dust",
"framed": true,
"link_recipe": true,
"x": 70,
"y": 15
},
{
"type": "text",
"text": "Symbol: $(l)#symbol#$()$(br)Atomic Number: $(l)#num#$()",
"x": 0,
"y": 40
}
]
}

View File

@ -0,0 +1,5 @@
{
"name": "基础",
"description": "一个与核物理相关的模组",
"icon": "nuclearcraft:fuel_uranium:9"
}

View File

@ -0,0 +1,6 @@
{
"name": "裂变",
"description": "核裂变",
"icon": "nuclearcraft:fission_source:2",
"parent": "nuclearcraft:multiblocks"
}

View File

@ -0,0 +1,6 @@
{
"name": "介绍",
"description": "核电工艺是一个关注以核反应为基础的产能的科技模组",
"icon": "nuclearcraft:fuel_uranium:9",
"sortnum": 0
}

View File

@ -0,0 +1,5 @@
{
"name": "机器",
"description": "所有的单方块处理器、产能器、收集器,以及其它的机器",
"icon": "nuclearcraft:manufactory"
}

View File

@ -0,0 +1,5 @@
{
"name": "矿石 & 材料",
"description": "",
"icon": "nuclearcraft:ingot:4"
}

View File

@ -0,0 +1,5 @@
{
"name": "结构",
"description": "",
"icon": "nuclearcraft:solid_fission_controller"
}

View File

@ -0,0 +1,11 @@
{
"name": "基础",
"icon": "nuclearcraft:depleted_fuel_uranium:9",
"category": "nuclearcraft:introduction",
"pages": [
{
"type": "text",
"text": "核电工艺是由tomdodd4598制作的一个模组。"
}
]
}

View File

@ -0,0 +1,11 @@
{
"name": "聚变反应堆",
"icon": "nuclearcraft:fusion_controller",
"category": "nuclearcraft:multiblocks",
"pages": [
{
"type": "text",
"text": ""
}
]
}

View File

@ -0,0 +1,11 @@
{
"name": "热交换机",
"icon": "nuclearcraft:heat_exchanger_controller",
"category": "nuclearcraft:multiblocks",
"pages": [
{
"type": "text",
"text": ""
}
]
}

View File

@ -0,0 +1,11 @@
{
"name": "介绍",
"icon": "nuclearcraft:depleted_fuel_uranium:9",
"category": "nuclearcraft:basics",
"pages": [
{
"type": "text",
"text": "核电工艺是由tomdodd4598制作的一个模组。"
}
]
}

View File

@ -0,0 +1,32 @@
{
"name": "能量储存",
"icon": "nuclearcraft:lithium_ion_battery_elite",
"category": "nuclearcraft:machines",
"pages": [
{
"anchor": "intro",
"type": "text",
"text": "这些方块能够储存能量。如果两个相同种类的方块被放置在一起,它们将会共享能量的储存空间。"
},
{
"anchor": "voltaic_pile",
"type": "machines/4_tier_machine",
"header": "伏打电堆",
"tier1": "nuclearcraft:voltaic_pile_basic",
"tier2": "nuclearcraft:voltaic_pile_advanced",
"tier3": "nuclearcraft:voltaic_pile_du",
"tier4": "nuclearcraft:voltaic_pile_elite",
"text": ""
},
{
"anchor": "lithium_ion_battery",
"type": "machines/4_tier_machine",
"header": "锂离子电池",
"tier1": "nuclearcraft:lithium_ion_battery_basic",
"tier2": "nuclearcraft:lithium_ion_battery_advanced",
"tier3": "nuclearcraft:lithium_ion_battery_du",
"tier4": "nuclearcraft:lithium_ion_battery_elite",
"text": ""
}
]
}

View File

@ -0,0 +1,59 @@
{
"name": "产能器 & 收集器",
"icon": "nuclearcraft:rtg_uranium",
"category": "nuclearcraft:machines",
"pages": [
{
"anchor": "intro",
"type": "text",
"text": "这些方块产出能量、方块以及流体,而不需要任何的输入。"
},
{
"anchor": "rtg",
"type": "machines/4_tier_machine",
"header": "放射性热电发电机",
"tier1": "nuclearcraft:rtg_uranium",
"tier2": "nuclearcraft:rtg_plutonium",
"tier3": "nuclearcraft:rtg_americium",
"tier4": "nuclearcraft:rtg_californium",
"text": "放射性热电发电机,通过放射性元素的衰变来产生能量。"
},
{
"anchor": "solar_panel",
"type": "machines/4_tier_machine",
"header": "太阳能电池板",
"tier1": "nuclearcraft:solar_panel_basic",
"tier2": "nuclearcraft:solar_panel_advanced",
"tier3": "nuclearcraft:solar_panel_du",
"tier4": "nuclearcraft:solar_panel_elite",
"text": "白天产能。"
},
{
"anchor": "cobblestone_generator",
"type": "machines/3_tier_machine",
"header": "造石机",
"tier1": "nuclearcraft:cobblestone_generator",
"tier2": "nuclearcraft:cobblestone_generator_compact",
"tier3": "nuclearcraft:cobblestone_generator_dense",
"text": "将熔岩与水混合在一起来产出圆石。"
},
{
"anchor": "water_source",
"type": "machines/3_tier_machine",
"header": "无限水源",
"tier1": "nuclearcraft:water_source",
"tier2": "nuclearcraft:water_source_compact",
"tier3": "nuclearcraft:water_source_dense",
"text": "使用无限水源之魔力来产出水。"
},
{
"anchor": "nitrogen_collector",
"type": "machines/3_tier_machine",
"header": "氮收集器",
"tier1": "nuclearcraft:nitrogen_collector",
"tier2": "nuclearcraft:nitrogen_collector_compact",
"tier3": "nuclearcraft:nitrogen_collector_dense",
"text": "从空气中分离出氮。"
}
]
}

View File

@ -0,0 +1,24 @@
{
"name": "其它“机器”",
"icon": "nuclearcraft:bin",
"category": "nuclearcraft:machines",
"pages": [
{
"anchor": "intro",
"type": "text",
"text": "这些是长得像机器的方块,有助于你建立起一个干净、整洁而又高效率的工厂。"
},
{
"anchor": "machine_interface",
"type": "machines/single_machine",
"block": "nuclearcraft:machine_interface",
"text": "以与机器接触的一面为媒介扩展机器的互动范围,以防空间不够而无法操控到机器。"
},
{
"anchor": "bin",
"type": "machines/single_machine",
"block": "nuclearcraft:bin",
"text": "盒中黑洞,摧毁一切导入之物,包括但不限于:物品、流体、能量......"
}
]
}

View File

@ -0,0 +1,132 @@
{
"name": "处理器",
"icon": "nuclearcraft:manufactory",
"category": "nuclearcraft:machines",
"pages": [
{
"anchor": "intro",
"type": "text",
"text": "这些机器能处理,嗯,几乎全部的东西!有些很热,剩下的则冷得要命。多数需要能量,且它们都会将一物转化为另一物。"
},
{
"anchor": "manufactory",
"type": "machines/single_machine",
"block": "nuclearcraft:manufactory",
"text": "捣碎、锯穿、压破......这是用途最为多样化的机器,也将会是你制作的第一批机器之一。"
},
{
"anchor": "nuclear_furnace",
"type": "machines/single_machine",
"block": "nuclearcraft:nuclear_furnace",
"text": "与普通的熔炉相似,但是它会利用 辐射的能量 来烧制物品。需要放射性燃料。"
},
{
"anchor": "separator",
"type": "machines/single_machine",
"block": "nuclearcraft:separator",
"text": "反向工作台,有助于你在不小心制作了过多同种燃料时将其分离回原料。"
},
{
"anchor": "decay_hastener",
"type": "machines/single_machine",
"block": "nuclearcraft:decay_hastener",
"text": "加速放射性材料的衰变。"
},
{
"anchor": "fuel_reprocessor",
"type": "machines/single_machine",
"block": "nuclearcraft:fuel_reprocessor",
"text": "将枯竭的核原料变为更令人兴奋(辐射也更强!)的同位素。"
},
{
"anchor": "alloy_furnace",
"type": "machines/single_machine",
"block": "nuclearcraft:alloy_furnace",
"text": "熔炼两种金属为一种合金。"
},
{
"anchor": "fluid_infuser",
"type": "machines/single_machine",
"block": "nuclearcraft:infuser",
"text": "将流体注入物品,与$(l:machines/processors#fluid_enricher)溶解器$(/l)刚好相反。"
},
{
"anchor": "melter",
"type": "machines/single_machine",
"block": "nuclearcraft:melter",
"text": "将固体变为液体。"
},
{
"anchor": "supercooler",
"type": "machines/single_machine",
"block": "nuclearcraft:supercooler",
"text": "一个非常,非常强大的冷冻器。"
},
{
"anchor": "electrolyzer",
"type": "machines/single_machine",
"block": "nuclearcraft:electrolyzer",
"text": "使用电能分解电子。"
},
{
"anchor": "assembler",
"type": "machines/single_machine",
"block": "nuclearcraft:assembler",
"text": "将多个材料组合为更复杂的物品。"
},
{
"anchor": "ingot_former",
"type": "machines/single_machine",
"block": "nuclearcraft:ingot_former",
"text": "固化熔融态物质。不需要能量。"
},
{
"anchor": "pressurizer",
"type": "machines/single_machine",
"block": "nuclearcraft:pressurizer",
"text": "强大的挤压机,能将堆状的粉末挤压形成晶体。"
},
{
"anchor": "chemical_reactor",
"type": "machines/single_machine",
"block": "nuclearcraft:chemical_reactor",
"text": "让两种流体发生反应产生两种不同流体。"
},
{
"anchor": "salt_mixer",
"type": "machines/single_machine",
"block": "nuclearcraft:salt_mixer",
"text": "混合流体。"
},
{
"anchor": "crystallizer",
"type": "machines/single_machine",
"block": "nuclearcraft:crystallizer",
"text": "蒸发溶液中的水以形成固体。"
},
{
"anchor": "fluid_enricher",
"type": "machines/single_machine",
"block": "nuclearcraft:enricher",
"text": "将物品混合进流体,与$(l:machines/processors#fluid_infuser)流体注入器$(/l)刚好相反。"
},
{
"anchor": "fluid_extractor",
"type": "machines/single_machine",
"block": "nuclearcraft:extractor",
"text": "从物品中提取流体。"
},
{
"anchor": "centrifuge",
"type": "machines/single_machine",
"block": "nuclearcraft:centrifuge",
"text": "非常疯狂。利用离心力分离流体。"
},
{
"anchor": "rock_crusher",
"type": "machines/single_machine",
"block": "nuclearcraft:rock_crusher",
"text": "粉碎岩石并从中得到不同种类的矿物粉。"
}
]
}

View File

@ -0,0 +1,146 @@
{
"name": "合金",
"category": "nuclearcraft:materials",
"icon": "nuclearcraft:alloy:10",
"pages": [
{
"anchor": "intro",
"type": "text",
"text": "通过在$(l:machines/processors#alloy_furnace)合金炉$(/l)中混合两种材料可以制得合金。$(br)粉和锭可以被用于合金的制造,此外矿物词典也是受支持的。"
},
{
"flag": "!mod:thermalfoundation",
"anchor": "bronze_alloy",
"type": "materials/alloy",
"item1": "nuclearcraft:ingot:0#3,nuclearcraft:dust:0#3",
"item2": "nuclearcraft:ingot:1,nuclearcraft:dust:1",
"result": "nuclearcraft:alloy:0#4",
"text": "3 铜 + 1 锡 = 4 青铜$(br2)$(o)在安装有[TF]热力基本时会被禁用$()"
},
{
"anchor": "tough_alloy",
"type": "materials/alloy",
"item1": "nuclearcraft:ingot:6,nuclearcraft:dust:6",
"item2": "nuclearcraft:alloy:6",
"result": "nuclearcraft:alloy:1#2",
"text": "1 锂 + 1 硼铁合金 = 2 高强合金"
},
{
"anchor": "hard_carbon_alloy",
"type": "materials/alloy",
"item1": "nuclearcraft:ingot:8#2,nuclearcraft:dust:8#2",
"item2": "ore:gemDiamond",
"result": "nuclearcraft:alloy:2#2",
"text": "1 钻石 + 2 石墨 = 2 硬碳合金"
},
{
"anchor": "MgB2_alloy",
"type": "materials/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 硼 + 1 镁 = 3 二硼化镁"
},
{
"anchor": "LiMnO2_alloy",
"type": "materials/alloy",
"small": true,
"item1": "nuclearcraft:ingot:6,nuclearcraft:dust:6",
"item2": "nuclearcraft:ingot:15,nuclearcraft:dust:15",
"result": "nuclearcraft:alloy:4#2",
"text": "1 二氧化锰 + 1 锂 = 2 锂二氧化锰"
},
{
"flag": "!mod:thermalfoundation",
"anchor": "steel_alloy",
"type": "materials/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 铁 + 2 煤/石墨 = 1 钢$(br2)$(o)在安装有[TF]热力基本时会被禁用$()"
},
{
"anchor": "FB_alloy",
"type": "materials/alloy",
"item1": "ore:ingotSteel,ore:dustSteel",
"item2": "nuclearcraft:ingot:5,nuclearcraft:dust:5",
"result": "nuclearcraft:alloy:6#2",
"text": "1 钢 + 1 硼 = 2 硼铁合金"
},
{
"anchor": "AgCu3_alloy",
"type": "materials/alloy",
"item1": "nuclearcraft:ingot:0#3,nuclearcraft:dust:0#3",
"item2": "nuclearcraft:ingot:13,nuclearcraft:dust:13",
"result": "nuclearcraft:alloy:7#4",
"text": "3 铜 + 1 银 = 4 胧银合金"
},
{
"anchor": "Sn3Ag_alloy",
"type": "materials/alloy",
"item1": "nuclearcraft:ingot:1#3,nuclearcraft:dust:1#3",
"item2": "nuclearcraft:ingot:13,nuclearcraft:dust:13",
"result": "nuclearcraft:alloy:8#4",
"text": "3 锡 + 1 银 = 4 锡银合金"
},
{
"flag": "mod:thermalfoundation",
"anchor": "Pb3Pt_alloy",
"type": "materials/alloy",
"item1": "nuclearcraft:ingot:2#3,nuclearcraft:dust:2#3",
"item2": "ore:ingotPlatinum",
"result": "nuclearcraft:alloy:9#4",
"text": "3 铅 + 1 铂 = 4 铅铂合金$(br2)$(o)仅在安装有[TF]热力基本时才会被启用d$()"
},
{
"anchor": "extreme_alloy",
"type": "materials/alloy",
"item1": "nuclearcraft:alloy:1",
"item2": "nuclearcraft:alloy:2",
"result": "nuclearcraft:alloy:10",
"text": "1 高强合金 + 1 硬碳合金 = 2 极限合金"
},
{
"anchor": "thermoconducting_alloy",
"type": "materials/alloy",
"item1": "nuclearcraft:alloy:10",
"item2": "nuclearcraft:gem:5",
"result": "nuclearcraft:alloy:11#2",
"text": "1 极限合金 + 1 砷化硼 = 2 热引合金"
},
{
"anchor": "Zr7Sn_alloy",
"type": "materials/alloy",
"item1": "nuclearcraft:ingot:10#7,nuclearcraft:dust:10#7",
"item2": "nuclearcraft:ingot:1,nuclearcraft:dust:1",
"result": "nuclearcraft:alloy:12#8",
"text": "7 锆 + 1 锡 = 8 锆合金"
},
{
"anchor": "SiC_alloy",
"type": "materials/alloy",
"item1": "nuclearcraft:gem:6",
"item2": "nuclearcraft:ingot:8,nuclearcraft:dust:8",
"result": "nuclearcraft:alloy:13#2",
"text": "1 硅 + 1 石墨 = 2 碳化硅"
},
{
"anchor": "SiCSiCCMC_alloy",
"type": "materials/alloy",
"small": true,
"item1": "",
"item2": "",
"result": "nuclearcraft:alloy:14#4",
"text": "暂无配方"
},
{
"anchor": "HSLA_alloy",
"type": "materials/alloy",
"item1": "minecraft:iron_ingot#15",
"item2": "nuclearcraft:compound:10",
"result": "nuclearcraft:alloy:15#16",
"text": "15 铁 + 1 碳-锰混合物 = 16 高强度低合金钢"
}
]
}

View File

@ -0,0 +1,67 @@
{
"name": "晶体",
"category": "nuclearcraft:materials",
"icon": "nuclearcraft:gem:0",
"pages":
[
{
"anchor": "intro",
"type": "text",
"text": "晶体可以通过在$(l:machines/processors#pressurizer)压缩机$(/l)中放入对应的粉处理获得。晶体粉可以通过在$(l:machines/processors#rock_crusher)岩石粉碎机$(/l)中处理安山岩、闪长岩与花岗岩获得。"
},
{
"anchor": "rhondochrosite",
"type": "materials/material",
"ingot": "nuclearcraft:gem:0",
"dust": "nuclearcraft:gem_dust:1",
"isCompound": true,
"formula": "MnCO3",
"text": "粉碎花岗岩可以获得菱锰粉。"
},
{
"anchor": "fluorite",
"type": "materials/material",
"ingot": "nuclearcraft:gem:2",
"dust": "nuclearcraft:gem_dust:5",
"isCompound": true,
"formula": "CaF2",
"text": "粉碎闪长岩可以获得氟石粉。"
},
{
"anchor": "villaumite",
"type": "materials/material",
"ingot": "nuclearcraft:gem:3",
"dust": "nuclearcraft:gem_dust:8",
"isCompound": true,
"formula": "NaF",
"text": "粉碎花岗岩可以获得氟盐粉。"
},
{
"anchor": "carobbiite",
"type": "materials/material",
"ingot": "nuclearcraft:gem:4",
"dust": "nuclearcraft:gem_dust:9",
"isCompound": true,
"formula": "KF",
"text": "粉碎闪长岩可以获得方氟钾石粉。"
},
{
"anchor": "boron nitride",
"type": "materials/material",
"ingot": "nuclearcraft:gem:1",
"dust": "nuclearcraft:gem_dust:4",
"isCompound": true,
"formula": "BN",
"text": "压缩白石墨可以获得立方氮化硼,而白石墨又由氮化硼溶液结晶而来。氮化硼处理链中会有更多的信息。"
},
{
"anchor": "boron arsenide",
"type": "materials/material",
"singleItem": true,
"item": "nuclearcraft:gem:5",
"isCompound": true,
"formula": "BAs",
"text": "$(l:machines/processors#ingot_former)固化$(/l)熔融砷化硼可以获得砷化硼。砷处理链中会有更多的信息。"
}
]
}

View File

@ -0,0 +1,84 @@
{
"name": "矿石 & 锭",
"category": "nuclearcraft:materials",
"icon": "nuclearcraft:ore:4",
"pages": [
{
"anchor": "intro",
"type": "text",
"text": "这些是核电工艺会自然生成的全部矿石。矿石可以在$(l:machines/processors#manufactory)小制造机$(/l)中被制成对应的粉,粉也可以被烧制成对应的锭。锭仍然可以在小制造机中被制成对应的粉。"
},
{
"anchor": "copper",
"type": "materials/ore",
"symbol": "Cu",
"num": "29",
"ore": "nuclearcraft:ore:0",
"ingot": "nuclearcraft:ingot:0",
"dust": "nuclearcraft:dust:0"
},
{
"anchor": "tin",
"type": "materials/ore",
"symbol": "Sn",
"num": "50",
"ore": "nuclearcraft:ore:1",
"ingot": "nuclearcraft:ingot:1",
"dust": "nuclearcraft:dust:1"
},
{
"anchor": "lead",
"type": "materials/ore",
"symbol": "Pb",
"num": "82",
"ore": "nuclearcraft:ore:2",
"ingot": "nuclearcraft:ingot:2",
"dust": "nuclearcraft:dust:2"
},
{
"anchor": "thorium",
"type": "materials/ore",
"symbol": "Th",
"num": "90",
"ore": "nuclearcraft:ore:3",
"ingot": "nuclearcraft:ingot:3",
"dust": "nuclearcraft:dust:3"
},
{
"anchor": "uranium",
"type": "materials/ore",
"symbol": "U",
"num": "92",
"ore": "nuclearcraft:ore:4",
"ingot": "nuclearcraft:ingot:4",
"dust": "nuclearcraft:dust:4"
},
{
"anchor": "boron",
"type": "materials/ore",
"symbol": "B",
"num": "5",
"ore": "nuclearcraft:ore:5",
"ingot": "nuclearcraft:ingot:5",
"dust": "nuclearcraft:dust:5"
},
{
"anchor": "lithium",
"type": "materials/ore",
"symbol": "Li",
"num": "3",
"ore": "nuclearcraft:ore:6",
"ingot": "nuclearcraft:ingot:6",
"dust": "nuclearcraft:dust:6"
},
{
"anchor": "magnesium",
"type": "materials/ore",
"symbol": "Mg",
"num": "29",
"ore": "nuclearcraft:ore:7",
"ingot": "nuclearcraft:ingot:7",
"dust": "nuclearcraft:dust:7"
}
]
}

View File

@ -0,0 +1,111 @@
{
"name": "其它基础材料",
"category": "nuclearcraft:materials",
"icon": "nuclearcraft:dust:8",
"pages":
[
{
"anchor": "intro",
"type": "text",
"text": "这些材料并不会在世界中自然生成,但是可以通过别的处理获得。"
},
{
"anchor": "graphite",
"type": "materials/material",
"ingot": "nuclearcraft:ingot:8",
"dust": "nuclearcraft:dust:8",
"isElement": true,
"symbol": "C",
"num": "6",
"text": "石墨是碳的晶体形式。它由煤在$(l:machines/processors#manufactory)小制造机$(/l)中的处理产生。"
},
{
"anchor": "silicon",
"type": "materials/material",
"singleItem": true,
"item": "nuclearcraft:gem:6",
"isElement": true,
"symbol": "Si",
"num": "14",
"text": "硅由沙子在$(l:machines/processors#manufactory)小制造机$(/l)中的处理产生。"
},
{
"anchor": "beryllium",
"type": "materials/material",
"ingot": "nuclearcraft:ingot:9",
"dust": "nuclearcraft:dust:9",
"isElement": true,
"symbol": "Be",
"num": "4",
"text": "铍粉由安山岩在$(l:machines/processors#rock_crusher)岩石粉碎机$(/l)中的处理产生。"
},
{
"anchor": "zirconium",
"type": "materials/material",
"ingot": "nuclearcraft:ingot:10",
"dust": "nuclearcraft:dust:10",
"isElement": true,
"symbol": "Zr",
"num": "40",
"text": "锆粉由闪长岩在$(l:machines/processors#rock_crusher)岩石粉碎机$(/l)中的处理产生。"
},
{
"anchor": "aluminum",
"type": "materials/material",
"ingot": "nuclearcraft:ingot:12",
"dust": "nuclearcraft:dust:12",
"isElement": true,
"symbol": "Al",
"num": "13",
"text": "银铝处理链中会有更多的信息。"
},
{
"anchor": "silver",
"type": "materials/material",
"ingot": "nuclearcraft:ingot:13",
"dust": "nuclearcraft:dust:13",
"isElement": true,
"symbol": "Ag",
"num": "47",
"text": "银铝处理链中会有更多的信息。"
},
{
"anchor": "manganese",
"type": "materials/material",
"ingot": "nuclearcraft:ingot:11",
"dust": "nuclearcraft:dust:11",
"isElement": true,
"symbol": "Mn",
"num": "25",
"text": "锰锭由氧化锰烧制而成。"
},
{
"anchor": "manganese oxide",
"type": "materials/material",
"ingot": "nuclearcraft:ingot:14",
"dust": "nuclearcraft:dust:14",
"isCompound": true,
"formula": "MnO",
"text": "氧化锰粉由菱锰粉烧制而成。锰处理链中会有更多的信息。"
},
{
"anchor": "manganese dioxide",
"type": "materials/material",
"ingot": "nuclearcraft:ingot:15",
"dust": "nuclearcraft:dust:15",
"isCompound": true,
"formula": "MnO2",
"text": "二氧化锰由氧化锰在$(l:machines/processors#fluid_infuser)流体注入器$(/l)中的氧的注入而成。锰处理链中会有更多的信息。"
},
{
"anchor": "arsenic",
"type": "materials/material",
"singleItem": true,
"item": "nuclearcraft:gem_dust:10",
"isElement": true,
"symbol": "As",
"num": "33",
"text": "砷粉由闪长岩在$(l:machines/processors#rock_crusher)岩石粉碎机$(/l)中的处理产生。砷处理链中会有更多的信息。"
}
]
}

View File

@ -0,0 +1,11 @@
{
"name": "熔盐反应堆",
"icon": "nuclearcraft:salt_fission_controller",
"category": "nuclearcraft:fission",
"pages": [
{
"type": "text",
"text": ""
}
]
}

View File

@ -0,0 +1,11 @@
{
"name": "球床裂变反应堆",
"icon": "nuclearcraft:pebblebed_fission_controller",
"category": "nuclearcraft:fission",
"pages": [
{
"type": "text",
"text": ""
}
]
}

View File

@ -0,0 +1,11 @@
{
"name": "固态燃料裂变反应堆",
"icon": "nuclearcraft:solid_fission_controller",
"category": "nuclearcraft:fission",
"pages": [
{
"type": "text",
"text": ""
}
]
}

View File

@ -0,0 +1,11 @@
{
"name": "涡轮机",
"icon": "nuclearcraft:turbine_controller",
"category": "nuclearcraft:multiblocks",
"pages": [
{
"type": "text",
"text": "涡轮机利用转子与发电机线圈,进行低压与高压蒸汽的转化来获取能量。"
}
]
}

View File

@ -0,0 +1,40 @@
{
"components": [
{
"type": "header",
"text": "#header",
"x": -1,
"y": -1
},
{
"type": "item",
"item": "#tier1",
"framed": true,
"link_recipe": true,
"x": 30,
"y": 15
},
{
"type": "item",
"item": "#tier2",
"framed": true,
"link_recipe": true,
"x": 50,
"y": 15
},
{
"type": "item",
"item": "#tier3",
"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": "#tier1",
"framed": true,
"link_recipe": true,
"x": 20,
"y": 15
},
{
"type": "item",
"item": "#tier2",
"framed": true,
"link_recipe": true,
"x": 40,
"y": 15
},
{
"type": "item",
"item": "#tier3",
"framed": true,
"link_recipe": true,
"x": 60,
"y": 15
},
{
"type": "item",
"item": "#tier4",
"framed": true,
"link_recipe": true,
"x": 80,
"y": 15
},
{
"type": "text",
"text": "#text",
"x": 0,
"y": 40
}
]
}

View File

@ -0,0 +1,24 @@
{
"components": [
{
"type": "header",
"text": "#block->iname",
"x": -1,
"y": -1
},
{
"type": "item",
"item": "#block",
"framed": true,
"link_recipe": true,
"x": 50,
"y": 15
},
{
"type": "text",
"text": "#text",
"x": 0,
"y": 40
}
]
}

View File

@ -0,0 +1,45 @@
{
"components": [
{
"type": "header",
"text": "#result->iname",
"guard": "#small->exists->inv",
"x": -1,
"y": -1
},
{
"type": "header",
"text": "#result->iname",
"guard": "#small",
"scale": 0.75,
"x": -1,
"y": -1
},
{
"type": "item",
"item": "#item1",
"x": 10,
"y": 15
},
{
"type": "item",
"item": "#item2",
"x": 30,
"y": 15
},
{
"type": "item",
"item": "#result",
"framed": true,
"link_recipe": true,
"x": 80,
"y": 15
},
{
"type": "text",
"text": "#text",
"x": 0,
"y": 40
}
]
}

View File

@ -0,0 +1,57 @@
{
"components": [
{
"type": "header",
"text": "#anchor->fcapital",
"x": -1,
"y": -1
},
{
"type": "item",
"item": "#ingot",
"framed": true,
"link_recipe": true,
"x": 40,
"y": 15,
"guard": "#singleItem->exists->inv"
},
{
"type": "item",
"item": "#dust",
"framed": true,
"link_recipe": true,
"x": 60,
"y": 15,
"guard": "#singleItem->exists->inv"
},
{
"type": "item",
"item": "#item",
"framed": true,
"link_recipe": true,
"x": 50,
"y": 15,
"guard": "#singleItem"
},
{
"type": "text",
"text": "元素符号:$(l)#symbol#$()$(br)原子序数:$(l)#num#$()",
"guard": "#isElement",
"x": 0,
"y": 40
},
{
"type": "text",
"text": "分子式:$(l)#formula#$()",
"guard": "#isCompound",
"x": 0,
"y": 40
},
{
"type": "text",
"text": "#text",
"x": 0,
"y": 60
}
]
}

View File

@ -0,0 +1,40 @@
{
"components": [
{
"type": "header",
"text": "#anchor->fcapital",
"x": -1,
"y": -1
},
{
"type": "item",
"item": "#ore",
"framed": true,
"link_recipe": true,
"x": 30,
"y": 15
},
{
"type": "item",
"item": "#ingot",
"framed": true,
"link_recipe": true,
"x": 50,
"y": 15
},
{
"type": "item",
"item": "#dust",
"framed": true,
"link_recipe": true,
"x": 70,
"y": 15
},
{
"type": "text",
"text": "元素符号:$(l)#symbol#$()$(br)原子序数:$(l)#num#$()",
"x": 0,
"y": 40
}
]
}

112
todo.txt Normal file
View File

@ -0,0 +1,112 @@
Move onAdded tile methods to onLoad()?
Refactor old tile entity hierarchy - modularise item/fluid/energy handling
Modularise processor classes
Add input/output config to all ports and vents
Replace casing emergency cooling with cluster/port based version (no placement rules)
Finish fission meltdown mechanics
Add melting logic to non-fuel components
Graphite/beryllium fires, heavy water evaporation, etc.
Hydrogen build-up by ZA fuels above a certain temperature, hygrogen explosion if breaking open reactor above this temperature?
Hot SFRs/MSRs heat up more quickly/slowly & produce more/less radiation? (https://discordapp.com/channels/425461908712325130/425461908716519425/645399574109749279)
Show potential (pre-primed) stats if reactor is idle
Keep clusters running even when multiblock is invalidated
Link managers to listeners with multitool (default behaviour: act on all listeners)
Multiblock monitors: show cluster information, side configurations, etc.
Patchouli documentation
___________________________________________________________________________________________________________________________
---------------------------------------------------------------------------------------------------------------------------
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.15: Cherenkov radiation (configurable)?
___________________________________________________________________________________________________________________________
1.15: Item stack NBT support in NC recipes (also allow for NBT 'wildcards')
___________________________________________________________________________________________________________________________
Tool that highlights side settings and opens up GUI for side settings of individual multiblock part
OR highlights side settings of one type of part on looking at the multiblock - toggle through part types with sneak-right click?
Tool to check multiblock part tanks and highlight render side configurations?
Right click on rendered cube to open up GUI for that part's side settings
GUI of orientable, layered planes of multiblock to configure sides: https://discordapp.com/channels/425461908712325130/542891718622838787/571550775067803648
___________________________________________________________________________________________________________________________
1.15: Add sound effects from Exile to machines
___________________________________________________________________________________________________________________________
Dimension dependent radiation spread rate, use overworld rate if entry doesn't exist
OC support for side configurations
___________________________________________________________________________________________________________________________
Multiblock Electrolyser
Girdler process for deuterium extraction: https://en.wikipedia.org/wiki/Girdler_sulfide_process
Add generic reaction tower for slow chemical recipes
Girdler process requires two towers:
H2S + [preheated water OR steam?] + energy -> deuterium-enriched H2S + deuterium-depleted water
deuterium-enriched H2S + water -> H2S + deuterium-enriched water
Fractional distillation: deuterium-enriched water -> heavy water + water
1.15: Uranium/Thorium ore processing - ore -> 2x crushed ore -> hexa/tetrafluoride -> 4x dust
1.15: Tiered machines: basic -> advanced -> DU -> elite? https://discordapp.com/channels/425461908712325130/425471153067524098/651401188054401025
___________________________________________________________________________________________________________________________
Fission Reactor Mechanics Cell/vessel heat [to heat sinks -> casing] / [to coolant heaters]
1.15: Specialised fuel-making machine
Pebble-bed Reactor that produces energy directly
1.15: MSR split: NaK coolant for thermal, PbBi coolant for fast?
___________________________________________________________________________________________________________________________
Heat Exchanger: make heat flow maths realistic: https://en.wikipedia.org/wiki/Countercurrent_exchange
Implement LMTD for parallel-flow exchangers and condensers? (https://en.wikipedia.org/wiki/Logarithmic_mean_temperature_difference)
Implement heat transfer coefficient as percentage for each tube material
Add powered 'heat pump', placed between tube lines, to move heat from cold -> hot?
Add condenser controller, split mechanics like the fission reactor
Decay pool to preheat condensate water from radioactive isotopes? (https://discordapp.com/channels/425461908712325130/425470889354723350/574303555465510912)
1.15: Give dynamo depth for 3D coil puzzle?
___________________________________________________________________________________________________________________________
Fusion Reactor: https://discordapp.com/channels/425461908712325130/425471153067524098/621412674948825134
Allow for variable lining thickness? https://discordapp.com/channels/425461908712325130/425471153067524098/635267993294733312
Change Fusion Reactor to produce steam instead of energy: Water -> High Pressure Steam from Heating Blanket in Electromagnet Ring
New reactivity curve: R = z*(T/(1.5*h))^(-1.5)*exp(-1.5*h/T), z ≡ 200/9*sqrt(6)*exp(1.5) ≈ 243.952253514146, T = temperature (kK), h = optimal temperature (kK)
Superconducting e-magnets can be used instead for an efficiency bonus?
___________________________________________________________________________________________________________________________
[Only if QMD does not update]
1.15: Add Synchrotron modules that use radiation - one per corner:
1.15: Add Collider Controller - electron/positron/proton input on corner
1.15: Particles need to be fired in opposite directions to work
1.15: Add multiblock collider experiments - one per corner:
1.15: Particles implemented as new material type, similar to Mek gases
___________________________________________________________________________________________________________________________
1.15: Inertial Confinement Fusion - synchrotron radiation as laser -> heat molten salt coolant
1.15: Focus Fusion -> direct energy production?
___________________________________________________________________________________________________________________________
1.15: Hawking Generator - form black hole and power with matter -> Hawking radiation produced for energy