Compare commits

..
2 Commits
Author SHA1 Message Date
Martin Robertz a1f54e7500 update 2025-01-16 21:59:06 +01:00
Astatine5985andMaya 5f1b5daa24 Isolator crash fix revision (#56)
Co-authored-by: Maya <[email protected]>
2025-01-16 16:50:35 +00:00
3 changed files with 19 additions and 24 deletions

No files matched your search

+4 -4
View File
@@ -1,12 +1,12 @@
// Add your dependencies here
dependencies {
api('com.github.GTNewHorizons:ForestryMC:4.10.0:dev')
implementation('com.github.GTNewHorizons:GTNHLib:0.6.0:dev')
api('com.github.GTNewHorizons:ForestryMC:4.10.1:dev')
implementation('com.github.GTNewHorizons:GTNHLib:0.6.2:dev')
devOnlyNonPublishable('com.github.GTNewHorizons:NotEnoughItems:2.7.8-GTNH:dev')
devOnlyNonPublishable('com.github.GTNewHorizons:NotEnoughItems:2.7.20-GTNH:dev')
compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.39:api')
compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.42:api')
compileOnly('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev')
compileOnly("curse.maven:extrabiomesxl-60041:2273301")
}
+1 -1
View File
@@ -17,5 +17,5 @@ pluginManagement {
}
plugins {
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.30'
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.31'
}
@@ -1,12 +1,11 @@
package binnie.genetics.machine.isolator;
import java.util.Arrays;
import java.util.Objects;
import java.util.Random;
import net.minecraft.item.ItemStack;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import binnie.core.genetics.Gene;
import binnie.core.machines.Machine;
import binnie.core.machines.inventory.IChargedSlots;
@@ -18,14 +17,13 @@ import binnie.extrabees.config.EBConfigMachines;
import binnie.genetics.item.ItemSequence;
import forestry.api.genetics.AlleleManager;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.IChromosome;
import forestry.api.genetics.IChromosomeType;
import forestry.api.genetics.IIndividual;
import forestry.api.genetics.ISpeciesRoot;
public class IsolatorComponentLogic extends ComponentProcessSetCost implements IProcess {
private static final Logger LOG = LogManager.getLogger("Genetics");
protected float enzymePerProcess = 0.5f;
protected float ethanolPerProcess = 10.0f;
@@ -84,22 +82,19 @@ public class IsolatorComponentLogic extends ComponentProcessSetCost implements I
}
final IChromosomeType[] karyo = root.getKaryotype();
final IChromosomeType chromosome = karyo[rand.nextInt(karyo.length)];
final IAllele allele;
try {
allele = rand.nextBoolean() ? individual.getGenome().getActiveAllele(chromosome)
: individual.getGenome().getInactiveAllele(chromosome);
} catch (NullPointerException npe) {
// just return and eat the power without eating the rest of it
LOG.warn(
"NPE occurred on unknown gene: name: " + chromosome.getName()
+ " | ordinal: "
+ chromosome.ordinal()
+ " | is null? "
+ (individual.getGenome().getChromosomes()[chromosome.ordinal()] == null ? "true"
: "false"));
final IChromosome[] chromosomes = individual.getGenome().getChromosomes();
if (Arrays.stream(chromosomes).allMatch(Objects::isNull)) {
return;
}
IChromosomeType chromosome;
do {
chromosome = karyo[rand.nextInt(karyo.length)];
} while (chromosomes[chromosome.ordinal()] == null);
final IAllele allele = rand.nextBoolean() ? individual.getGenome().getActiveAllele(chromosome)
: individual.getGenome().getInactiveAllele(chromosome);
final Gene gene = new Gene(allele, chromosome, root);
ItemStack serum = ItemSequence.create(gene);