mirror of
https://github.com/GTNewHorizons/Binnie.git
synced 2026-11-14 01:14:21 +00:00
Make it pretty
This commit is contained in:
5 files changed
+86
-90
No files matched your search
@@ -2,6 +2,7 @@ package binnie.extrabees.genetics;
|
||||
|
||||
import binnie.core.Mods;
|
||||
import binnie.extrabees.genetics.effect.ExtraBeesEffect;
|
||||
import binnie.extrabees.genetics.requirements.RequirementPerson;
|
||||
import binnie.extrabees.products.EnumHoneyComb;
|
||||
import binnie.extrabees.products.ItemHoneyComb;
|
||||
import binnie.genetics.genetics.AlleleHelper;
|
||||
@@ -29,6 +30,7 @@ import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraftforge.common.BiomeDictionary;
|
||||
|
||||
public enum ExtraBeeDefinition implements IBeeDefinition {
|
||||
@@ -1639,12 +1641,10 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
|
||||
}
|
||||
},
|
||||
CHAD(ExtraBeeBranchDefinition.FTB, "merciboocoup", true, new Color(0x2157DB), new Color(0xD2ABD1)) {
|
||||
ItemStack product = new ItemStack(Items.cake, 1);
|
||||
|
||||
@Override
|
||||
protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
|
||||
beeSpecies
|
||||
.addProduct(product, 1f)
|
||||
.addProduct(new ItemStack(Items.cake, 1), 1f)
|
||||
.addSpecialty(Mods.forestry.stack("pollenFertile"), 0.50f)
|
||||
.addSpecialty(EnumHoneyComb.MILK.get(1), 0.55f)
|
||||
.setIsNotCounted()
|
||||
@@ -1661,20 +1661,36 @@ public enum ExtraBeeDefinition implements IBeeDefinition {
|
||||
|
||||
@Override
|
||||
protected void registerMutations() {
|
||||
String[] names = {
|
||||
"Runakai",
|
||||
"boubou_19",
|
||||
"Alastors_Game",
|
||||
"BlueWeabo",
|
||||
"Lewis_Saber",
|
||||
"True_Aurastorm",
|
||||
"minecraft7771",
|
||||
"mitchej123",
|
||||
"_Timbo",
|
||||
"kuba6000",
|
||||
"DreamMasterXXL"
|
||||
};
|
||||
registerMutation(BeeDefinition.CULTIVATED, CELEBRATORY, 5).restrictedByGroupOfPersons(names);
|
||||
registerMutation(BeeDefinition.CULTIVATED, CELEBRATORY, 5)
|
||||
.restrictPerson(new RequirementPerson()
|
||||
.add(
|
||||
name -> ""
|
||||
+ EnumChatFormatting.DARK_RED
|
||||
+ EnumChatFormatting.BOLD + "R"
|
||||
+ EnumChatFormatting.RED
|
||||
+ EnumChatFormatting.BOLD + "u"
|
||||
+ EnumChatFormatting.GOLD
|
||||
+ EnumChatFormatting.BOLD + "n"
|
||||
+ EnumChatFormatting.YELLOW
|
||||
+ EnumChatFormatting.BOLD + "a"
|
||||
+ EnumChatFormatting.DARK_GREEN
|
||||
+ EnumChatFormatting.BOLD + "k"
|
||||
+ EnumChatFormatting.GREEN
|
||||
+ EnumChatFormatting.BOLD + "a"
|
||||
+ EnumChatFormatting.AQUA
|
||||
+ EnumChatFormatting.BOLD + "i",
|
||||
"Runakai")
|
||||
.add(
|
||||
"boubou_19",
|
||||
"Alastors_Game",
|
||||
"BlueWeabo",
|
||||
"Lewis_Saber",
|
||||
"True_Aurastorm",
|
||||
"minecraft7771",
|
||||
"mitchej123",
|
||||
"_Timbo",
|
||||
"kuba6000",
|
||||
"DreamMasterXXL"));
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import forestry.api.genetics.IAllele;
|
||||
import forestry.api.genetics.IMutation;
|
||||
import forestry.apiculture.genetics.BeeMutation;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class ExtraBeeMutation extends BeeMutation implements IBeeMutationCustom {
|
||||
@@ -44,15 +45,19 @@ public class ExtraBeeMutation extends BeeMutation implements IBeeMutationCustom
|
||||
return super.getChance(housing, allele0, allele1, genome0, genome1);
|
||||
}
|
||||
|
||||
public void restrictPerson(String nickname) {
|
||||
RequirementPerson requirement = new RequirementPerson(nickname);
|
||||
requirements.add(requirement);
|
||||
addMutationCondition(new DummyMutationCondition(requirement));
|
||||
public void restrictPerson(String... nicknames) {
|
||||
restrictPerson(new RequirementPerson(nicknames));
|
||||
}
|
||||
|
||||
public void restrictedByGroupOfPersons(String[] nicknames) {
|
||||
RequirementGroupOfPersons requirement = new RequirementGroupOfPersons(nicknames);
|
||||
public void restrictPerson(RequirementPerson requirement) {
|
||||
requirements.add(requirement);
|
||||
addMutationCondition(new DummyMutationConditionGroupPersons(requirement));
|
||||
addMutationCondition(new DummyMutationCondition(requirement));
|
||||
ArrayList<String> descriptions = (ArrayList<String>) getSpecialConditions();
|
||||
int i = descriptions.size() - 1;
|
||||
String description = descriptions.get(i);
|
||||
if (description.contains("/n")) {
|
||||
descriptions.remove(i);
|
||||
descriptions.addAll(Arrays.asList(description.split("/n")));
|
||||
}
|
||||
}
|
||||
}
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
package binnie.extrabees.genetics.requirements;
|
||||
|
||||
import forestry.api.core.IClimateProvider;
|
||||
import forestry.api.genetics.IAllele;
|
||||
import forestry.api.genetics.IGenome;
|
||||
import forestry.api.genetics.IMutationCondition;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class DummyMutationConditionGroupPersons implements IMutationCondition {
|
||||
private final RequirementGroupOfPersons requirement;
|
||||
|
||||
public DummyMutationConditionGroupPersons(RequirementGroupOfPersons requirement) {
|
||||
this.requirement = requirement;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getChance(
|
||||
World world,
|
||||
int x,
|
||||
int y,
|
||||
int z,
|
||||
IAllele allele0,
|
||||
IAllele allele1,
|
||||
IGenome genome0,
|
||||
IGenome genome1,
|
||||
IClimateProvider climate) {
|
||||
return 1.0F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return requirement.getDescription();
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
package binnie.extrabees.genetics.requirements;
|
||||
|
||||
import binnie.core.util.I18N;
|
||||
import forestry.api.apiculture.IBeeHousing;
|
||||
import forestry.api.genetics.IAllele;
|
||||
import forestry.api.genetics.IGenome;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class RequirementGroupOfPersons implements IMutationRequirement {
|
||||
protected List<String> names;
|
||||
|
||||
public RequirementGroupOfPersons(String[] name) {
|
||||
this.names = Arrays.asList(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return I18N.localise("extrabees.genetics.requirements.user", names);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean fufilled(IBeeHousing housing, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) {
|
||||
String ownerName = housing.getOwner().getName();
|
||||
return ownerName != null && names.contains(ownerName); // ownerName.contains(name);
|
||||
}
|
||||
}
|
||||
@@ -4,22 +4,58 @@ import binnie.core.util.I18N;
|
||||
import forestry.api.apiculture.IBeeHousing;
|
||||
import forestry.api.genetics.IAllele;
|
||||
import forestry.api.genetics.IGenome;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
|
||||
public class RequirementPerson implements IMutationRequirement {
|
||||
protected String name;
|
||||
protected List<String> names;
|
||||
protected HashMap<String, Function<String, String>> nameFormatters = new HashMap<>();
|
||||
private static final Function<String, String> defaultApplier = name -> name;
|
||||
private static final String REQUIREMENT_USER_LOCALIZE_KEY = "extrabees.genetics.requirements.user";
|
||||
|
||||
public RequirementPerson(String name) {
|
||||
this.name = name;
|
||||
public RequirementPerson(String... names) {
|
||||
this.names = Arrays.stream(names).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public RequirementPerson add(String... names) {
|
||||
this.names.addAll(Arrays.asList(names));
|
||||
return this;
|
||||
}
|
||||
|
||||
public RequirementPerson add(Function<String, String> formatter, String... names) {
|
||||
this.names.addAll(Arrays.asList(names));
|
||||
for (String name : names) nameFormatters.put(name, formatter);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return I18N.localise("extrabees.genetics.requirements.user", name);
|
||||
if (names.isEmpty()) return I18N.localise(REQUIREMENT_USER_LOCALIZE_KEY, "No one");
|
||||
final StringBuilder namesFormatted = new StringBuilder("[");
|
||||
boolean hasNewLines = false;
|
||||
for (int i = 0, isize = names.size(); i < isize; i++) {
|
||||
if (i != 0) {
|
||||
namesFormatted.append(", ");
|
||||
if (i % 3 == 0) namesFormatted.append("/n ");
|
||||
hasNewLines = true;
|
||||
}
|
||||
String name = names.get(i);
|
||||
namesFormatted.append(
|
||||
nameFormatters.getOrDefault(name, defaultApplier).apply(name));
|
||||
namesFormatted.append(EnumChatFormatting.RESET);
|
||||
}
|
||||
namesFormatted.append("]");
|
||||
if (hasNewLines) namesFormatted.insert(0, "/n");
|
||||
return I18N.localise(REQUIREMENT_USER_LOCALIZE_KEY, namesFormatted.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean fufilled(IBeeHousing housing, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) {
|
||||
String ownerName = housing.getOwner().getName();
|
||||
return ownerName != null && ownerName.equals(name);
|
||||
return ownerName != null && names.contains(ownerName);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user