mirror of
https://github.com/GTNewHorizons/Binnie.git
synced 2026-10-25 20:22:30 +00:00
prevent npe and log bad requests (#55)
This commit is contained in:
1 parent
54c702e935
commit
7059206cb0
1 file changed
+20
-2
@@ -4,6 +4,9 @@ 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;
|
||||
@@ -20,6 +23,8 @@ 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;
|
||||
|
||||
@@ -79,8 +84,21 @@ public class IsolatorComponentLogic extends ComponentProcessSetCost implements I
|
||||
|
||||
final IChromosomeType[] karyo = root.getKaryotype();
|
||||
final IChromosomeType chromosome = karyo[rand.nextInt(karyo.length)];
|
||||
final IAllele allele = rand.nextBoolean() ? individual.getGenome().getActiveAllele(chromosome)
|
||||
: individual.getGenome().getInactiveAllele(chromosome);
|
||||
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"));
|
||||
return;
|
||||
}
|
||||
final Gene gene = new Gene(allele, chromosome, root);
|
||||
|
||||
ItemStack serum = ItemSequence.create(gene);
|
||||
|
||||
Reference in new issue
Block a user