blob: fdd815c1220b846da2bcdd7cf1e9ed75ce38fd3e (
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
package binnie.core.genetics;
import binnie.Binnie;
import binnie.core.BinnieCore;
import binnie.core.language.ManagerLanguage;
import forestry.api.genetics.AlleleManager;
import forestry.api.genetics.IAlleleRegistry;
import forestry.api.genetics.IAlleleSpecies;
import forestry.api.genetics.IChromosomeType;
import forestry.api.genetics.IClassification;
import forestry.api.genetics.ISpeciesRoot;
import java.util.Map;
import net.minecraft.item.ItemStack;
abstract interface IBreedingMessage
{
public abstract String getTitle();
public abstract String getBody();
public abstract ItemStack getIcon();
public static class MessageSpeciesDiscovered
implements IBreedingMessage
{
IAlleleSpecies species;
ItemStack stack;
public MessageSpeciesDiscovered(IAlleleSpecies species)
{
this.species = species;
ISpeciesRoot root = null;
for (ISpeciesRoot sRoot : AlleleManager.alleleRegistry.getSpeciesRoot().values()) {
if (sRoot.getKaryotype()[0].getAlleleClass().isInstance(species)) {
root = sRoot;
}
}
if (root != null) {
this.stack = root.getMemberStack(root.templateAsIndividual(root.getTemplate(species.getUID())), 0);
}
}
public String getTitle()
{
return Binnie.Language.localise(BinnieCore.instance, "gui.breedingmessage.species");
}
public String getBody()
{
return this.species.getName();
}
public ItemStack getIcon()
{
return this.stack;
}
}
public static class BranchDiscovered
implements IBreedingMessage
{
IAlleleSpecies species;
IClassification classification;
ItemStack stack;
public BranchDiscovered(IAlleleSpecies species, IClassification classification)
{
this.species = species;
this.classification = classification;
ISpeciesRoot root = null;
for (ISpeciesRoot sRoot : AlleleManager.alleleRegistry.getSpeciesRoot().values()) {
if (sRoot.getKaryotype()[0].getAlleleClass().isInstance(species)) {
root = sRoot;
}
}
if (root != null) {
this.stack = root.getMemberStack(root.templateAsIndividual(root.getTemplate(species.getUID())), 0);
}
}
public String getTitle()
{
return Binnie.Language.localise(BinnieCore.instance, "gui.breedingmessage.branch");
}
public String getBody()
{
return this.classification.getScientific();
}
public ItemStack getIcon()
{
return this.stack;
}
}
public static class EpithetGained
implements IBreedingMessage
{
String epithet;
ItemStack stack;
public EpithetGained(String epithet, ISpeciesRoot root)
{
this.epithet = epithet;
this.stack = root.getMemberStack(root.templateAsIndividual(root.getDefaultTemplate()), 0);
}
public String getTitle()
{
return Binnie.Language.localise(BinnieCore.instance, "gui.breedingmessage.epithet");
}
public String getBody()
{
return this.epithet;
}
public ItemStack getIcon()
{
return this.stack;
}
}
}
|