blob: bb0d9eef8bc8621d393d141ccd675891a54e71f8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
package gregtech.loaders.misc.bees;
import forestry.api.apiculture.EnumBeeChromosome;
import forestry.api.apiculture.IAlleleBeeEffect;
import forestry.api.apiculture.IBeeGenome;
import forestry.api.apiculture.IBeeHousing;
import forestry.api.genetics.AlleleManager;
import forestry.api.genetics.IEffectData;
import forestry.core.genetics.alleles.Allele;
// helper class for implementing custom bee effects, based on MagicBees' implementation
public abstract class GT_AlleleEffect extends Allele implements IAlleleBeeEffect {
public static final IAlleleBeeEffect FORESTRY_BASE_EFFECT = (IAlleleBeeEffect) AlleleManager.alleleRegistry
.getAllele("forestry.effectNone");
protected boolean combinable;
public GT_AlleleEffect(String id, boolean isDominant) {
super("gregtech." + id, "gregtech." + id, isDominant);
AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.EFFECT);
combinable = false;
}
@Override
public boolean isCombinable() {
return combinable;
}
public GT_AlleleEffect setIsCombinable(boolean canCombine) {
combinable = canCombine;
return this;
}
@Override
public abstract IEffectData validateStorage(IEffectData storedData);
@Override
public abstract IEffectData doEffect(IBeeGenome genome, IEffectData storedData, IBeeHousing housing);
@Override
public IEffectData doFX(IBeeGenome genome, IEffectData storedData, IBeeHousing housing) {
return FORESTRY_BASE_EFFECT.doFX(genome, storedData, housing);
}
}
|