Compare commits

..
40 Commits
Author SHA1 Message Date
mezz 008d290136 Make gradlew executable 2017-07-28 21:19:01 -07:00
Alexander Kornilov 08404a3dd2 Merge pull request #195 from dwarfmiguo/patch-1
Update zh_CN.lang
2017-07-18 09:49:57 +03:00
Alexander Kornilov 5378ff34bf Merge pull request #219 from KorDum/bugfix/issue-218
Fix #218
2017-07-15 20:38:02 +03:00
kordum 33573ba463 Fix #218
Fix translation key
2017-07-15 20:29:11 +03:00
Alexander Kornilov 84b120e89d Merge pull request #217 from SihenZhang/master-MC1.7.10
Update zh_CN.lang, add missed l10n, and fix a typo
2017-07-15 19:44:39 +03:00
SihenZhang add9f4685d Update zh_CN.lang 2017-07-16 00:40:42 +08:00
SihenZhang 75d745b7a0 Added missing l10n & Fixed a typo 2017-07-16 00:38:47 +08:00
Alexander Kornilov e5bf29dd95 Merge pull request #215 from KorDum/bugfix/issue-212
Fix #212
2017-07-15 16:58:59 +03:00
Alexander Kornilov de5d902139 Merge pull request #214 from SihenZhang/master-MC1.7.10
Added missed l10n
2017-07-15 16:52:22 +03:00
SihenZhang f3c4551f8a Added missed l10n 2017-07-15 21:29:49 +08:00
SihenZhang 00dfeac8cb Add missing l10n 2017-07-15 21:29:06 +08:00
kordum e443efcc5a Fix #212
Fix wrong localization for Registry and Analyst
2017-07-15 16:14:40 +03:00
Alexander Kornilov f3c067f503 Merge pull request #213 from AnrDaemon/fix-bukkets
Fix misspelled buckets.
2017-07-15 15:49:13 +03:00
AnrDaemon 46567817e8 Fix misspelled buckets. 2017-07-15 15:43:03 +03:00
Alexander Kornilov 23742eab03 Merge pull request #209 from SihenZhang/master-MC1.7.10
Update zh_CN.lang
2017-07-15 09:22:27 +03:00
SihenZhang 958a76247d Update zh_CN.lang 2017-07-15 13:17:49 +08:00
SihenZhang 31803aa092 Update zh_CN.lang 2017-07-15 12:38:16 +08:00
Alexander Kornilov 766c0d5fd3 Merge pull request #206 from KorDum/feature/cleanup
[1.7.10] Code analyze and cleanup
2017-07-14 10:08:02 +03:00
kordum 6a411bb607 Code analyze and cleanup 2017-07-14 10:03:32 +03:00
Alexander Kornilov 0aa95b495a Merge pull request #205 from KorDum/bugfix/issue-204
Fix #204
2017-07-14 10:00:21 +03:00
kordum 86274906eb Fix #204
Fixed endless use of a mutagen
2017-07-14 09:55:31 +03:00
Alexander Kornilov fc7dc2c14d Merge pull request #202 from KorDum/feature/issue-78
Feature #78
2017-07-13 11:14:48 +03:00
kordum 807a8e24ed #78
Added Vanilla wood fences
2017-07-13 11:11:26 +03:00
CombatZAK 2e74ed4645 Rolled [More Binnie Fixes] changes into official mod. Crash protection against running with Butterflies disabled. Refactored Registry and Analyst recipes for performance. (#201) 2017-07-12 21:44:48 -07:00
Alexander Kornilov ebdb282c6b Merge pull request #199 from KorDum/feature/icons
[1.7.10] Redraw gears textures (thx Faerdan)
2017-07-12 12:53:18 +03:00
kordum d60f070e75 Redraw gears textures (thx Faerdan) 2017-07-12 12:50:13 +03:00
Alexander Kornilov 0b2e47d88d Merge pull request #196 from KorDum/bugfix/issue-167-2
Fix #167 (2)
2017-07-12 12:40:16 +03:00
Alexander Kornilov 6be0719a9f Merge pull request #198 from KorDum/bugfix/issue-197
Fix #197
2017-07-12 12:35:59 +03:00
kordum e9ad1bda8e Fix #197
Fix wrong name for flowers
2017-07-12 12:30:19 +03:00
kordum a15d297f8a Fix #167
Fix Binnie's machines is not animated
2017-07-12 09:56:33 +03:00
dwarfmiguo 2883900b1e Update zh_CN.lang
All lines had transl to chinese
2017-07-12 13:52:14 +08:00
Alexander Kornilov 0444201f7a Automatically remove unnecessary ground blocks from farm (#191) 2017-07-11 20:42:52 -07:00
marcin212 3e9965b750 Fixed GenepoolComponentFX 2017-07-11 12:26:27 +02:00
Alexander Kornilov e8d843eb89 Merge pull request #190 from KorDum/feature/refactoring
[1.7.10] Code impovement
2017-07-11 10:52:52 +03:00
kordum 555f44889d Fix not commited changes 2017-07-11 10:50:02 +03:00
kordum 4bca0f042d GardenLogic code impovement 2017-07-11 10:46:12 +03:00
Alexander Kornilov dc288141ac Merge pull request #189 from KorDum/bugfix/issue-188
Fix #188
2017-07-11 10:04:47 +03:00
kordum d26f4816e1 Fix #188
Removed block shrub leaves game register
2017-07-11 10:01:22 +03:00
Alexander Kornilov 79b8e3e6a4 Merge pull request #187 from KorDum/bugfix/issue-186
Fix #186
2017-07-10 19:07:16 +03:00
kordum 5e21a29d3f Fix #186
Fix crash when analyze flower in FieldKit
2017-07-10 19:03:17 +03:00
52 changed files with 459 additions and 399 deletions

No files matched your search

+2 -2
View File
@@ -22,7 +22,7 @@ buildscript {
apply plugin: "se.bjurr.gitchangelog.git-changelog-gradle-plugin"
apply plugin: 'forge'
version = "2.0.18"
version = "2.0.20"
if (System.getenv("BUILD_NUMBER") != null) {
version = version + "-" + System.getenv("BUILD_NUMBER")
}
@@ -64,5 +64,5 @@ task gitChangelogTask(type: se.bjurr.gitchangelog.plugin.gradle.GitChangelogTask
untaggedName = "Current release ${project.version}"
fromCommit = "dbc5c1a564c39e4a9c042411d1bdbe450985ce2c"
toRef = "HEAD"
templateContent = file('changelog.mustache').getText('UTF-8');
templateContent = file('changelog.mustache').getText('UTF-8')
}
Vendored Regular → Executable
View File
File mode changed.
@@ -89,10 +89,28 @@ public class GardenLogic extends FarmLogic {
return stack.getItem() == Item.getItemFromBlock(Blocks.dirt);
}
private boolean maintainSoil(int x2, int y2, int z2, FarmDirection direction, int extent) {
private boolean maintainSoil(int x, int y, int z, FarmDirection direction, int extent) {
for (int i = 0; i < extent; ++i) {
Vect position = translateWithOffset(x2, y2, z2, direction, i);
if (fertilised && Gardening.isSoil(world.getBlock(position.x, position.y, position.z))) {
Vect position = translateWithOffset(x, y, z, direction, i);
boolean isSoil = Gardening.isSoil(world.getBlock(position.x, position.y, position.z));
// remove unnecessary blocks
if (!isManual && !isSoil && !isAirBlock(position)) {
Block block = world.getBlock(position.x, position.y, position.z);
if (moisture == EnumMoisture.DAMP) {
if (block != Blocks.water) {
dropBlockAsProduction(position);
}
} else if (moisture == EnumMoisture.DRY) {
if (block != Blocks.sand) {
dropBlockAsProduction(position);
}
} else {
dropBlockAsProduction(position);
}
}
if (fertilised && isSoil) {
IBlockSoil soil = (IBlockSoil) world.getBlock(position.x, position.y, position.z);
if (soil.fertilise(world, position.x, position.y, position.z, EnumSoilType.FLOWERBED)) {
continue;
@@ -101,55 +119,56 @@ public class GardenLogic extends FarmLogic {
if (world.getBlock(position.x, position.y + 1, position.z) == Botany.plant) {
world.setBlockToAir(position.x, position.y + 1, position.z);
} else {
if (acidity != null && Gardening.isSoil(world.getBlock(position.x, position.y, position.z))) {
IBlockSoil soil = (IBlockSoil) world.getBlock(position.x, position.y, position.z);
EnumAcidity pH = soil.getPH(world, position.x, position.y, position.z);
if (pH.ordinal() < acidity.ordinal()) {
ItemStack stack = getAvailableAlkaline();
if (stack != null && soil.setPH(world, position.x, position.y, position.z, EnumAcidity.values()[pH.ordinal() + 1])) {
housing.getFarmInventory().removeResources(new ItemStack[]{stack});
continue;
}
}
continue;
}
if (pH.ordinal() > acidity.ordinal()) {
ItemStack stack = getAvailableAcid();
if (stack != null && soil.setPH(world, position.x, position.y, position.z, EnumAcidity.values()[pH.ordinal() - 1])) {
housing.getFarmInventory().removeResources(new ItemStack[]{stack});
continue;
}
if (acidity != null && isSoil) {
IBlockSoil soil = (IBlockSoil) world.getBlock(position.x, position.y, position.z);
EnumAcidity pH = soil.getPH(world, position.x, position.y, position.z);
if (pH.ordinal() < acidity.ordinal()) {
ItemStack stack = getAvailableAlkaline();
if (stack != null && soil.setPH(world, position.x, position.y, position.z, EnumAcidity.values()[pH.ordinal() + 1])) {
housing.getFarmInventory().removeResources(new ItemStack[]{stack});
continue;
}
}
if (!isAirBlock(position) && !world.getBlock(position.x, position.y, position.z).isReplaceable(world, position.x, position.y, position.z)) {
ItemStack block = getAsItemStack(position);
ItemStack loam = getAvailableLoam();
if (isWaste(block) && loam != null) {
produce.addAll(Blocks.dirt.getDrops(world, position.x, position.y, position.z, block.getItemDamage(), 0));
setBlock(position, Blocks.air, 0);
return trySetSoil(position, loam);
if (pH.ordinal() > acidity.ordinal()) {
ItemStack stack = getAvailableAcid();
if (stack != null && soil.setPH(world, position.x, position.y, position.z, EnumAcidity.values()[pH.ordinal() - 1])) {
housing.getFarmInventory().removeResources(new ItemStack[]{stack});
continue;
}
} else if (!isManual) {
if (!isWaterBlock(position)) {
if (i % 2 == 0) {
return trySetSoil(position);
}
}
}
FarmDirection cclock = FarmDirection.EAST;
if (direction == FarmDirection.EAST) {
cclock = FarmDirection.SOUTH;
} else if (direction == FarmDirection.SOUTH) {
cclock = FarmDirection.EAST;
} else if (direction == FarmDirection.WEST) {
cclock = FarmDirection.SOUTH;
}
if (!isAirBlock(position) && !world.getBlock(position.x, position.y, position.z).isReplaceable(world, position.x, position.y, position.z)) {
ItemStack block = getAsItemStack(position);
ItemStack loam = getAvailableLoam();
if (isWaste(block) && loam != null) {
produce.addAll(Blocks.dirt.getDrops(world, position.x, position.y, position.z, block.getItemDamage(), 0));
setBlock(position, Blocks.air, 0);
return trySetSoil(position, loam);
}
} else if (!isManual) {
if (!isWaterBlock(position)) {
if (i % 2 == 0) {
return trySetSoil(position);
}
Vect previous = translateWithOffset(position.x, position.y, position.z, cclock, 1);
ItemStack soil2 = getAsItemStack(previous);
if (!Gardening.isSoil(soil2.getItem())) {
trySetSoil(position);
}
FarmDirection cclock = FarmDirection.EAST;
if (direction == FarmDirection.EAST) {
cclock = FarmDirection.SOUTH;
} else if (direction == FarmDirection.SOUTH) {
cclock = FarmDirection.EAST;
} else if (direction == FarmDirection.WEST) {
cclock = FarmDirection.SOUTH;
}
Vect previous = translateWithOffset(position.x, position.y, position.z, cclock, 1);
ItemStack soil2 = getAsItemStack(previous);
if (!Gardening.isSoil(soil2.getItem())) {
trySetSoil(position);
}
}
}
@@ -278,10 +297,19 @@ public class GardenLogic extends FarmLogic {
return true;
}
private void dropBlockAsProduction(Vect position) {
ItemStack stack = new ItemStack(world.getBlock(position.x, position.y, position.z));
if (stack.getItem() == null) {
return;
}
produce.add(stack);
world.setBlockToAir(position.x, position.y, position.z);
}
@Override
public boolean isAcceptedGermling(ItemStack itemstack) {
public boolean isAcceptedGermling(ItemStack stack) {
for (IFarmable farmable : farmables) {
if (farmable.isGermling(itemstack)) {
if (farmable.isGermling(stack)) {
return true;
}
}
@@ -340,7 +368,7 @@ public class GardenLogic extends FarmLogic {
try {
IOwnable housing2 = (IOwnable) housing;
GameProfile prof = (GameProfile) IOwnable.class.getMethod("getOwnerProfile", new Class[0]).invoke(housing2);
GameProfile prof = (GameProfile) IOwnable.class.getMethod("getOwnerProfile", new Class[0]).invoke(housing2);
((TileEntityFlower) tile).setOwner(prof);
} catch (Exception ex) {
// ignored
@@ -39,6 +39,11 @@ public class BlockFlower extends BlockContainer {
setStepSound(Block.soundTypeGrass);
}
@Override
public String getUnlocalizedName() {
return "botany.flower";
}
@Override
public int getRenderType() {
return RendererBotany.renderID;
@@ -218,4 +223,10 @@ public class BlockFlower extends BlockContainer {
}
return hasBeenBroken;
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int meta, int side) {
return Blocks.yellow_flower.getIcon(0, 0);
}
}
+1 -1
View File
@@ -1,7 +1,6 @@
package binnie.core;
import binnie.Binnie;
import binnie.genetics.item.ItemFieldKit;
import binnie.core.block.MultipassBlockRenderer;
import binnie.core.block.TileEntityMetadata;
import binnie.core.craftgui.minecraft.ModuleCraftGUI;
@@ -24,6 +23,7 @@ import binnie.core.network.IPacketID;
import binnie.core.proxy.BinnieProxy;
import binnie.core.proxy.IBinnieProxy;
import binnie.core.triggers.ModuleTrigger;
import binnie.genetics.item.ItemFieldKit;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Mod;
@@ -305,7 +305,7 @@ public class Widget implements IWidget {
}
onUpdateClient();
List<IWidget> deletedWidgets = new ArrayList<IWidget>();
List<IWidget> deletedWidgets = new ArrayList<>();
for (IWidget widget : getWidgets()) {
if (widget.hasAttribute(WidgetAttribute.NEEDS_DELETION)) {
deletedWidgets.add(widget);
@@ -274,7 +274,12 @@ public class WindowFieldKit extends Window {
return;
}
getWindowInventory().setInventorySlotContents(0, Analyser.analyse(getWindowInventory().getStackInSlot(0)));
ItemStack stack = getWindowInventory().getStackInSlot(0);
if (stack == null) {
return;
}
getWindowInventory().setInventorySlotContents(0, Analyser.analyse(stack));
getWindowInventory().decrStackSize(1, 1);
}
@@ -15,7 +15,7 @@ public class ControlListBox<T> extends ControlScrollableContent<ControlList<T>>
@Override
public void initialise() {
setScrollableContent(new ControlList<T>(this, 1.0f, 1.0f, w() - 2.0f - scrollBarSize, h() - 2.0f));
setScrollableContent(new ControlList<>(this, 1.0f, 1.0f, w() - 2.0f - scrollBarSize, h() - 2.0f));
addEventHandler(new EventKey.Down.Handler() {
@Override
public void onEvent(EventKey.Down event) {
@@ -119,7 +119,7 @@ public abstract class WindowAbstractDatabase extends Window {
widgets.listBox.setValidator(new IValidator<IWidget>() {
@Override
public boolean isValid(IWidget object) {
return event.getValue() == "" || ((ControlTextOption) object).getText().toLowerCase().contains(event.getValue().toLowerCase());
return event.getValue().isEmpty() || ((ControlTextOption) object).getText().toLowerCase().contains(event.getValue().toLowerCase());
}
});
}
@@ -11,7 +11,7 @@ class ListMap<T> implements List<T> {
private LinkedHashMap<Integer, T> map;
ListMap() {
map = new LinkedHashMap<Integer, T>();
map = new LinkedHashMap<>();
}
@Override
@@ -92,7 +92,7 @@ public class CraftGUIResourceManager implements IResourceManagerReloadListener {
throw new RuntimeException("Parameter must have between one and four numbers");
}
List<Float> f = new ArrayList<Float>();
List<Float> f = new ArrayList<>();
for (String string : split) {
f.add(Float.parseFloat(string));
}
@@ -113,7 +113,7 @@ public class CraftGUIResourceManager implements IResourceManagerReloadListener {
if (split.length < 1 || split.length > 4) {
throw new RuntimeException("Parameter must have between one and four numbers");
}
List<Float> f = new ArrayList<Float>();
List<Float> f = new ArrayList<>();
for (String string : split) {
f.add(Float.parseFloat(string));
}
@@ -207,10 +207,10 @@ public class ManagerGenetics extends ManagerBase {
throw new NullPointerException("Allele is null!");
}
if (o1 instanceof IAlleleFloat && o2 instanceof IAlleleFloat) {
return Float.valueOf(((IAlleleFloat) o1).getValue()).compareTo(Float.valueOf(((IAlleleFloat) o2).getValue()));
return Float.valueOf(((IAlleleFloat) o1).getValue()).compareTo(((IAlleleFloat) o2).getValue());
}
if (o1 instanceof IAlleleInteger && o2 instanceof IAlleleInteger && !(o1 instanceof AlleleColor)) {
return Integer.valueOf(((IAlleleInteger) o1).getValue()).compareTo(Integer.valueOf(((IAlleleInteger) o2).getValue()));
return Integer.valueOf(((IAlleleInteger) o1).getValue()).compareTo(((IAlleleInteger) o2).getValue());
}
if (o1.getName() != null && o2.getName() != null) {
return o1.getName().compareTo(o2.getName());
@@ -226,7 +226,7 @@ public class TreeBreedingSystem extends BreedingSystem {
return new ArrayList<>();
}
Collection<IAlleleSpecies> set = nei ? getAllSpecies() : getDiscoveredSpecies(world, player);
List<IAlleleSpecies> found = new ArrayList<IAlleleSpecies>();
List<IAlleleSpecies> found = new ArrayList<>();
for (IAlleleSpecies species : set) {
IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species;
ITreeGenome genome = TreeManager.treeRoot.templateAsGenome(TreeManager.treeRoot.getTemplate(tSpecies.getUID()));
@@ -3,11 +3,11 @@ package binnie.core.item;
import binnie.botany.Botany;
import binnie.botany.api.IFlower;
import binnie.botany.flower.TileEntityFlower;
import binnie.genetics.item.ItemFieldKit;
import binnie.botany.network.PacketID;
import binnie.core.BinnieCore;
import binnie.core.IInitializable;
import binnie.core.network.packet.MessageNBT;
import binnie.genetics.item.ItemFieldKit;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.entity.player.EntityPlayer;
@@ -46,8 +46,8 @@ public class ManagerMachine extends ManagerBase {
return;
}
Set<Class<?>> interfaces = new HashSet<Class<?>>();
for (Class<?> currentClass = component; currentClass != null; currentClass = null) {
Set<Class<?>> interfaces = new HashSet<>();
for (Class<?> currentClass = component; currentClass != null; currentClass = currentClass.getSuperclass()) {
Collections.addAll(interfaces, currentClass.getInterfaces());
}
@@ -19,7 +19,7 @@ class SidedAccess {
}
public AccessDirection getAccess(ForgeDirection side) {
return accesses.containsKey(side) ? accesses.get(side) : base;
return accesses.getOrDefault(side, base);
}
public boolean canInsert(ForgeDirection side) {
@@ -51,7 +51,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedHashMap;
@@ -142,7 +141,7 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh
@Override
public void onEvent(EventValueChanged event) {
NBTTagCompound nbt = new NBTTagCompound();
int i = ((Integer) event.getValue()).intValue();
int i = (Integer) event.getValue();
nbt.setByte("i", (byte) i);
Window.get(tab).sendClientAction("tab-change", nbt);
currentTab = i;
@@ -150,10 +149,10 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh
}.setOrigin(EventHandler.Origin.DirectChild, tab));
x += 24;
ControlPages<Integer> compartmentPages = new ControlPages<Integer>(controlCompartment, 24.0f, 0.0f, compartmentPageWidth, compartmentPageHeight);
ControlPages<Integer> compartmentPages = new ControlPages<>(controlCompartment, 24.0f, 0.0f, compartmentPageWidth, compartmentPageHeight);
ControlPage[] page = new ControlPage[inv.getTabNumber()];
for (int p = 0; p < inv.getTabNumber(); ++p) {
page[p] = new ControlPage(compartmentPages, Integer.valueOf(p));
page[p] = new ControlPage(compartmentPages, p);
}
CraftGUIUtil.linkWidgets(tab, compartmentPages);
int i = 0;
@@ -210,7 +209,7 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh
@Override
public void onEvent(EventValueChanged event) {
NBTTagCompound nbt = new NBTTagCompound();
int i = ((Integer) event.getValue()).intValue();
int i = (Integer) event.getValue();
nbt.setByte("i", (byte) i);
Window.get(tab).sendClientAction("tab-change", nbt);
currentTab = i;
@@ -374,7 +373,7 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh
if (sortByName) {
List<Entry<Integer, String>> list = new LinkedList(slotIds.entrySet());
Collections.sort(list, new Comparator<Entry<Integer, String>>() {
list.sort(new Comparator<Entry<Integer, String>>() {
@Override
public int compare(Entry<Integer, String> o1, Entry<Integer, String> o2) {
return -o2.getValue().compareTo(o1.getValue());
@@ -69,11 +69,6 @@ public class ComponentBeeModifier extends MachineComponent implements IBeeModifi
// ignored
}
// TODO unused method?
public void onPostQueenDeath(IBee queen) {
// ignored
}
// TODO unused method?
public boolean onEggLaid(IBee queen) {
return false;
@@ -25,7 +25,7 @@ public class ItemHiveFrame extends Item implements IHiveFrame, IBeeModifier {
}
@Override
public String getItemStackDisplayName(ItemStack par1ItemStack) {
public String getItemStackDisplayName(ItemStack stack) {
return frame.getName();
}
@@ -77,7 +77,6 @@ public class TileExtraBeeAlveary extends TileEntityMachine implements
public void onMachineBroken() {
min = null;
max = null;
}
@Override
@@ -93,13 +92,11 @@ public class TileExtraBeeAlveary extends TileEntityMachine implements
@Override
public void updateClient(int arg0) {
super.updateEntity();
}
@Override
public void updateServer(int arg0) {
super.updateEntity();
}
@Override
@@ -18,6 +18,6 @@ public class FrameSlotValidator extends SlotValidator {
@Override
public String getTooltip() {
return I18N.localise("extrabees.achine.alveay.frame.tooltip");
return I18N.localise("extrabees.machine.alveay.frame.tooltip");
}
}
@@ -2,7 +2,6 @@ package binnie.extrabees.apiary.machine.mutator;
import binnie.core.machines.Machine;
import binnie.extrabees.apiary.ComponentBeeModifier;
import forestry.api.apiculture.IBee;
import forestry.api.apiculture.IBeeGenome;
import forestry.api.apiculture.IBeeListener;
import forestry.api.apiculture.IBeeModifier;
@@ -23,7 +22,7 @@ public class MutatorModifierComponent extends ComponentBeeModifier implements IB
}
@Override
public void onPostQueenDeath(IBee queen) {
public void onQueenDeath() {
getUtil().decreaseStack(AlvearyMutator.SLOT_MUTATOR, 1);
}
}
@@ -26,7 +26,7 @@ public class TransmissionModifierComponent extends ComponentBeeModifier implemen
}
TileExtraBeeAlveary tile = (TileExtraBeeAlveary) getMachine().getTileEntity();
List<IEnergyHandler> handlers = new ArrayList<IEnergyHandler>();
List<IEnergyHandler> handlers = new ArrayList<>();
for (TileEntity alvearyTile : tile.getAlvearyBlocks()) {
if (alvearyTile instanceof IEnergyHandler && alvearyTile != tile) {
handlers.add((IEnergyHandler) alvearyTile);
@@ -71,7 +71,7 @@ public enum ExtraBeesFlowers implements IFlowerProvider, IAlleleFlowers, IChromo
@Override
public String getDescription() {
return I18N.localise("extrabees.flowers." + name().toString().toLowerCase() + ".name");
return I18N.localise("extrabees.flowers." + name().toLowerCase() + ".name");
}
public void register() {
@@ -1,11 +1,8 @@
package binnie.extrabees.products;
import binnie.core.IInitializable;
import binnie.core.Mods;
import binnie.extrabees.ExtraBees;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
public class ModuleProducts implements IInitializable {
@@ -10,6 +10,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.Collections;
public class HiveDrop implements IHiveDrop {
private IAllele[] template;
@@ -27,9 +28,7 @@ public class HiveDrop implements IHiveDrop {
}
this.template = template;
this.chance = chance;
for (ItemStack stack : bonus) {
additional.add(stack);
}
Collections.addAll(additional, bonus);
}
@Override
@@ -48,7 +47,7 @@ public class HiveDrop implements IHiveDrop {
@Override
public ArrayList<ItemStack> getAdditional(World world, int x, int y, int z, int fortune) {
ArrayList<ItemStack> ret = new ArrayList<ItemStack>();
ArrayList<ItemStack> ret = new ArrayList<>();
for (ItemStack stack : additional) {
ret.add(stack.copy());
}
@@ -5,7 +5,6 @@ import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
@@ -53,7 +53,6 @@ public class ModuleBlocks implements IInitializable {
GameRegistry.registerBlock(ExtraTrees.blockMultiFence, ItemMetadata.class, "multifence");
BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(ExtraTrees.blockMultiFence), new ItemMetadataRenderer());
GameRegistry.registerBlock(ExtraTrees.blockLog, ItemMetadata.class, "log");
GameRegistry.registerBlock(ExtraTrees.blockShrubLeaves, "shrubLeaves");
GameRegistry.registerBlock(ExtraTrees.blockGate, ItemMetadata.class, "gate");
GameRegistry.registerBlock(ExtraTrees.blockSlab, ItemETSlab.class, "slab");
GameRegistry.registerBlock(ExtraTrees.blockDoubleSlab, ItemETSlab.class, "doubleSlab");
@@ -31,41 +31,41 @@ public class PlankType {
}
public enum ExtraTreePlanks implements IPlankType, IFenceProvider {
Fir(12815444),
Cedar(14181940),
Hemlock(13088108),
Cypress(16169052),
Fig(13142058),
Beech(14784849),
Alder(12092755),
Hazel(13480341),
Hornbeam(12818528),
Box(16511430),
Butternut(15510138),
Hickory(14333070),
Whitebeam(13222585),
Elm(15772004),
Apple(6305064),
Yew(14722426),
Pear(12093805),
Hawthorn(13402978),
Rowan(13610394),
Elder(12489337),
Maclura(15970862),
Syzgium(15123393),
Brazilwood(7487063),
Logwood(10762028),
Iroko(7681024),
Locust(12816736),
Eucalyptus(16165771),
Purpleheart(5970991),
Ash(16107368),
Holly(16512743),
Olive(11578760),
Sweetgum(13997656),
Rosewood(7738624),
Gingko(16050106),
PinkIvory(15502496);
Fir(0xc38c54),
Cedar(0xd86634),
Hemlock(0xc7b56c),
Cypress(0xf6b85c),
Fig(0xc8882a),
Beech(0xe19951),
Alder(0xb88553),
Hazel(0xcdb195),
Hornbeam(0xc39860),
Box(0xfbf1c6),
Butternut(0xecaa7a),
Hickory(0xdab48e),
Whitebeam(0xc9c2b9),
Elm(0xf0a964),
Apple(0x603528),
Yew(0xe0a57a),
Pear(0xb8896d),
Hawthorn(0xcc8362),
Rowan(0xcfad9a),
Elder(0xbe9279),
Maclura(0xf3b22e),
Syzgium(0xe6c3c1),
Brazilwood(0x723e57),
Logwood(0xa4372c),
Iroko(0x753400),
Locust(0xc39160),
Eucalyptus(0xf6ab8b),
Purpleheart(0x5b1c2f),
Ash(0xf5c768),
Holly(0xfbf6e7),
Olive(0xb0ad88),
Sweetgum(0xd59658),
Rosewood(0x761500),
Gingko(0xf4e7ba),
PinkIvory(0xec8ca0);
protected int color;
protected IIcon icon;
@@ -109,7 +109,7 @@ public class PlankType {
}
}
public enum VanillaPlanks implements IPlankType {
public enum VanillaPlanks implements IPlankType, IFenceProvider {
OAK(0xb4905a),
SPRUCE(0x805e36),
BIRCH(0xd7c185),
@@ -149,6 +149,11 @@ public class PlankType {
Block block = Blocks.planks;
return block.getIcon(2, meta);
}
@Override
public ItemStack getFence() {
return TileEntityMetadata.getItemStack(ExtraTrees.blockFence, WoodManager.getPlankTypeIndex(this));
}
}
public enum ForestryPlanks implements IPlankType, IFenceProvider {
@@ -55,6 +55,12 @@ public class BlockFence extends net.minecraft.block.BlockFence implements IBlock
for (IFenceProvider type : PlankType.ExtraTreePlanks.values()) {
list.add(type.getFence());
}
for (IFenceProvider type : PlankType.VanillaPlanks.values()) {
if (type != PlankType.VanillaPlanks.OAK) {
list.add(type.getFence());
}
}
}
@Override
@@ -22,7 +22,7 @@ public class FenceType {
}
public static Collection<FenceType> values() {
List<FenceType> list = new ArrayList<FenceType>();
List<FenceType> list = new ArrayList<>();
for (int size = 0; size < 3; ++size) {
for (boolean solid : new boolean[]{false, true}) {
for (boolean embedded : new boolean[]{false, true}) {
@@ -17,7 +17,7 @@ public class MultiFenceRecipeSize implements IRecipe {
@Override
public boolean matches(InventoryCrafting inv, World world) {
StringBuilder pattern = new StringBuilder();
List<IPlankType> types = new ArrayList<IPlankType>();
List<IPlankType> types = new ArrayList<>();
for (int i = 0; i < inv.getSizeInventory(); ++i) {
ItemStack stack = inv.getStackInSlot(i);
IPlankType type = (stack == null) ? null : WoodManager.get(stack);
@@ -60,7 +60,7 @@ public class NBTShapedRecipe implements IRecipe {
for (int i2 = 0; i2 < j * k; ++i2) {
char c0 = s.charAt(i2);
if (hashmap.containsKey(c0)) {
aitemstack[i2] = ((ItemStack) hashmap.get(Character.valueOf(c0))).copy();
aitemstack[i2] = ((ItemStack) hashmap.get(c0)).copy();
} else {
aitemstack[i2] = null;
}
@@ -81,7 +81,7 @@ public class CarpentryInterface implements ICarpentryInterface {
@Override
public Collection<IDesignCategory> getAllDesignCategories() {
List<IDesignCategory> categories = new ArrayList<IDesignCategory>();
List<IDesignCategory> categories = new ArrayList<>();
for (IDesignCategory category : CarpentryInterface.designCategories.values()) {
if (category.getDesigns().size() > 0) {
categories.add(category);
@@ -92,7 +92,7 @@ public class CarpentryInterface implements ICarpentryInterface {
@Override
public List<IDesign> getSortedDesigns() {
List<IDesign> designs = new ArrayList<IDesign>();
List<IDesign> designs = new ArrayList<>();
for (IDesignCategory category : getAllDesignCategories()) {
designs.addAll(category.getDesigns());
}
@@ -14,7 +14,6 @@ import binnie.core.craftgui.minecraft.control.ControlItemDisplay;
import binnie.core.genetics.BreedingSystem;
import binnie.core.util.I18N;
import binnie.extratrees.FakeWorld;
import binnie.extratrees.craftgui.ControlBlockIconDisplay;
import forestry.api.arboriculture.EnumTreeChromosome;
import forestry.api.arboriculture.IAlleleTreeSpecies;
import forestry.api.arboriculture.ITree;
@@ -117,7 +116,7 @@ public class PageSpeciesTreeGenome extends PageSpecies {
new ControlText(contents, new IArea(0.0f, y, w2, th), syst.getChromosomeShortName(EnumTreeChromosome.FERTILITY) + " : ", TextJustification.MIDDLE_RIGHT);
new ControlText(contents, new IArea(w2, y, w3, th), genome.getFertility() + "x", TextJustification.MIDDLE_LEFT);
y += th;
List<ItemStack> fruits = new ArrayList<ItemStack>();
List<ItemStack> fruits = new ArrayList<>();
Collections.addAll(fruits, genome.getFruitProvider().getProducts());
if (!fruits.isEmpty()) {
@@ -68,7 +68,7 @@ public class ModuleGenetics implements IInitializable {
private void generateBranches() {
for (String hierarchy : branches) {
List<String> set = new ArrayList<String>();
List<String> set = new ArrayList<>();
for (String string : hierarchy.split(" ", 0)) {
set.add(string.toLowerCase());
}
@@ -46,7 +46,7 @@ public class ControlGeneScroll extends Control implements IControlValue<Breeding
boolean isNEI = ((WindowGeneBank) Window.get(this)).isNei;
for (Map.Entry<IChromosomeType, List<IAllele>> entry : genes.entrySet()) {
List<IAllele> discovered = new ArrayList<IAllele>();
List<IAllele> discovered = new ArrayList<>();
for (IAllele allele : entry.getValue()) {
Gene gene = new Gene(allele, entry.getKey(), system.getSpeciesRoot());
if ((isNEI || tracker.isSequenced(new Gene(allele, entry.getKey(), system.getSpeciesRoot()))) && gene.getName().toLowerCase().contains(filter)) {
@@ -83,13 +83,8 @@ public class AnalystPageFruit extends AnalystPageProduce {
}
Collection<ItemStack> allProducts = new UniqueItemStackSet();
for (ItemStack stack3 : products) {
allProducts.add(stack3);
}
for (ItemStack stack3 : specialties) {
allProducts.add(stack3);
}
allProducts.addAll(products);
allProducts.addAll(specialties);
Collection<ItemStack> refinedProducts = new UniqueItemStackSet();
refinedProducts.addAll(getAllProductsAndFluids(allProducts));
@@ -66,9 +66,7 @@ public class AnalystPageWood extends AnalystPageProduce {
}
Collection<ItemStack> allProducts = new UniqueItemStackSet();
for (ItemStack stack2 : products) {
allProducts.add(stack2);
}
allProducts.addAll(products);
Collection<ItemStack> refinedProducts = new UniqueItemStackSet();
refinedProducts.addAll(getAllProductsAndFluids(allProducts));
@@ -115,13 +115,13 @@ public class WindowAnalyst extends Window {
@Override
public void initialiseClient() {
if (isDatabase) {
setTitle(I18N.localise("genetics.item.analyst.name"));
} else {
if (isMaster) {
setTitle(I18N.localise("genetics.item.registry.1.name"));
} else {
setTitle(I18N.localise("genetics.item.registry.0.name"));
}
} else {
setTitle(I18N.localise("genetics.item.analyst.name"));
}
getWindowInventory().createSlot(0);
@@ -202,51 +202,77 @@ public class ModuleItem implements IInitializable {
GameRegistry.addSmelting(Genetics.itemSerum, GeneticsItems.EmptySerum.get(1), 0.0f);
GameRegistry.addSmelting(Genetics.itemSerumArray, GeneticsItems.EmptyGenome.get(1), 0.0f);
// TODO refactor refactor refactor this!
Item[] arr$;
Item[] lyzers = arr$ = new Item[]{
Mods.forestry.item("beealyzer"),
Mods.forestry.item("treealyzer"),
Mods.forestry.item("flutterlyzer")
};
for (Item a : arr$) {
for (Item b : lyzers) {
for (Item c : lyzers) {
if (a != b && a != c && b != c) {
GameRegistry.addShapedRecipe(
new ItemStack(Genetics.analyst),
" b ", "fct", " d ",
'c', GeneticsItems.IntegratedCircuit.get(1),
'b', a,
't', b,
'f', c,
'd', new ItemStack(Items.diamond)
);
}
}
}
}
// TODONE refactor refactor refactor this!
// CombatZAK up to the task!
Item beealyzer = Mods.forestry.item("beealyzer");
Item treealyzer = Mods.forestry.item("treealyzer");
Item[] dbs = {ExtraBees.dictionary, ExtraTrees.itemDictionary, ExtraTrees.itemDictionaryLepi, Botany.database};
//This bit prevents a crash if the Forestry butterflies module is disabled. You can use whatever placeholder item you but a diamond seems reasonable
//theoretically similar checks could be performed for Apiculture and Arboriculture; but I will leave that to the mod owner to decide
Item flutterlyzer = BinnieCore.isLepidopteryActive() ? Mods.forestry.item("flutterlyzer") //grab the forestry flutterlyzer ONLY IF lepidopterology is active
: Items.diamond; //otherwise just replace it with another diamond
ItemStack circuit = GeneticsItems.IntegratedCircuit.get(1); //get a reference to Integrated circuit
Item diamond = Items.diamond; //save a reference to diamond
ItemStack analyst = new ItemStack(Genetics.analyst); //save a reference to the analyst, will make the next bit easier
//the following code is a sufficient replacement for the 3 nested loops that preceded it; arguably this is still
//more trouble than it's worth. A single recipe is probably fine, with the analyzers in a specific arrangement,
//but I will leave it to the mod owner to make that call
//there are literally only six permutations for this recipe, so let's just write them all out and save ourselves
//some cycles rather than spinning through an n^3 loop wasting most of the combinations.
//expand the first one out for readability, but the following five are compressed to a single line
GameRegistry.addShapedRecipe(analyst,
" b ", "tcf", " d ",
'b', beealyzer,
't', treealyzer,
'f', flutterlyzer,
'c', circuit,
'd', diamond);
GameRegistry.addShapedRecipe(analyst, " b ", "fct", " d ", 'b', beealyzer, 't', treealyzer, 'f', flutterlyzer, 'c', circuit, 'd', diamond);
GameRegistry.addShapedRecipe(analyst, " t ", "bcf", " d ", 'b', beealyzer, 't', treealyzer, 'f', flutterlyzer, 'c', circuit, 'd', diamond);
GameRegistry.addShapedRecipe(analyst, " t ", "fcb", " d ", 'b', beealyzer, 't', treealyzer, 'f', flutterlyzer, 'c', circuit, 'd', diamond);
GameRegistry.addShapedRecipe(analyst, " f ", "bct", " d ", 'b', beealyzer, 't', treealyzer, 'f', flutterlyzer, 'c', circuit, 'd', diamond);
GameRegistry.addShapedRecipe(analyst, " f ", "tcb", " d ", 'b', beealyzer, 't', treealyzer, 'f', flutterlyzer, 'c', circuit, 'd', diamond);
//get some references to dictionary/databases for the various modules; these names are very inconsistent for like items.
//should be refactored in their respective modules.
ItemStack registry = new ItemStack(Genetics.registry);
Item beeDb = ExtraBees.dictionary;
Item treeDb = ExtraTrees.itemDictionary;
Item flwrDb = Botany.database;
//do a check to ensure that the butterfly module is enabled before using the butterfly dictionary.
//a similar check could be done for arboriculture and apiculture as well, but that is left to the mod owner
Item lepiDb = BinnieCore.isLepidopteryActive() ? ExtraTrees.itemDictionaryLepi
: Items.diamond; //just use a diamond if Butterflies is disabled
//going to use the circuit reference above as well
//as above, there are only 24 permutations here; let's find a way to just get those recipes rather than trying
//256 combinations in an n^4 loop. This will help performance and maybe be a bit more maintainable.
if (BinnieCore.isBotanyActive() && BinnieCore.isExtraBeesActive() && BinnieCore.isExtraTreesActive()) {
for (Item a2 : dbs) {
for (Item b2 : dbs) {
for (Item c2 : dbs) {
for (Item d : dbs) {
if (a2 != b2 && a2 != c2 && a2 != d && b2 != c2 && b2 != d && c2 != d) {
GameRegistry.addShapedRecipe(
new ItemStack(Genetics.registry),
" b ", "fct", " l ",
'c', GeneticsItems.IntegratedCircuit.get(1),
'b', a2,
't', b2,
'f', c2,
'l', d
);
}
}
}
}
//24 full recipe lines is a bit much to maintain; so we'll use a loop here, but we're only going
//to run it 24 times. Start by making an array of all 24 valid dictionary permutations...
String[] permutations = new String[]{
"btlf", "btfl", "bltf", "blft", "bftl", "bflt",
"tblf", "tbfl", "tlbf", "tlfb", "tfbl", "tflb",
"lbtf", "lbft", "ltbf", "ltfb", "lfbt", "lftb",
"fbtl", "fblt", "ftbl", "ftlb", "flbt", "fltb"
};
//now go through each of the permutations and create a recipe
for (String p : permutations) {
GameRegistry.addShapedRecipe(registry, //adding the recipe with registry as output
//this line is the 3-string arrangement, with the characters pulled from the current permutation
String.format(" %c ", p.charAt(0)), String.format("%cc%c", p.charAt(1), p.charAt(2)), String.format(" %c ", p.charAt(3)),
'b', beeDb,
't', treeDb,
'l', lepiDb,
'f', flwrDb,
'c', circuit);
}
}
}
@@ -3,6 +3,7 @@ package binnie.genetics.machine.genepool;
import binnie.Binnie;
import binnie.core.machines.Machine;
import binnie.core.machines.inventory.IChargedSlots;
import binnie.core.machines.network.INetwork;
import binnie.core.machines.power.ComponentProcessSetCost;
import binnie.core.machines.power.ErrorState;
import binnie.core.machines.power.IProcess;
@@ -12,7 +13,7 @@ import forestry.api.genetics.AlleleManager;
import forestry.api.genetics.ISpeciesRoot;
import net.minecraft.item.ItemStack;
public class GenepoolComponentLogic extends ComponentProcessSetCost implements IProcess {
public class GenepoolComponentLogic extends ComponentProcessSetCost implements IProcess, INetwork.TilePacketSync {
private float ethanolDrain;
public GenepoolComponentLogic(Machine machine) {
@@ -222,13 +222,13 @@ binniecore.item.container.can.resin=Resin Can
binniecore.item.container.can.latex=Latex Can
binniecore.item.container.can.turpentine=Turpentine Can
binniecore.item.container.bucket.acid=Acid Bukket
binniecore.item.container.bucket.poison=Poison Bukket
binniecore.item.container.bucket.liquidnitrogen=Nitrogen Bukket
binniecore.item.container.bucket.sap=Sap Bukket
binniecore.item.container.bucket.resin=Resin Bukket
binniecore.item.container.bucket.latex=Latex Bukket
binniecore.item.container.bucket.turpentine=Turpentine Bukket
binniecore.item.container.bucket.acid=Acid Bucket
binniecore.item.container.bucket.poison=Poison Bucket
binniecore.item.container.bucket.liquidnitrogen=Nitrogen Bucket
binniecore.item.container.bucket.sap=Sap Bucket
binniecore.item.container.bucket.resin=Resin Bucket
binniecore.item.container.bucket.latex=Latex Bucket
binniecore.item.container.bucket.turpentine=Turpentine Bucket
binniecore.item.container.glass.acid=Acid Glass
binniecore.item.container.glass.poison=Poison Glass
@@ -182,6 +182,7 @@ item.trowelIron.name=Iron Trowel
item.trowelGold.name=Gold Trowel
item.trowelDiamond.name=Diamond Trowel
botany.flower.name=Flower
botany.flower.dandelion=Dandelion
botany.flower.poppy=Poppy
botany.flower.orchid=Orchid
@@ -182,6 +182,7 @@ item.trowelIron.name=Железный совок
item.trowelGold.name=Золотой совок
item.trowelDiamond.name=Алмазный совок
botany.flower.name=Цветок
botany.flower.dandelion=Одуванчик
botany.flower.poppy=Мак
botany.flower.orchid=Орхидея
@@ -18,39 +18,39 @@ botany.design.octagon=八边形
botany.design.diamond=菱形
botany.design.ringed=环形
botany.design.squared=方形
botany.design.multiply=Multiply
botany.design.halved=Halved
botany.design.striped=Striped
botany.design.thinStriped=Thin Striped
botany.design.fullChequered=Full Chequered
botany.design.fullTiled=Full Tiled
botany.design.chequered=Chequered
botany.design.multiply=乘号
botany.design.halved=均分
botany.design.striped=条纹
botany.design.thinStriped=细条纹
botany.design.fullChequered=六面交错
botany.design.fullTiled=六面瓦砖
botany.design.chequered=交错
botany.design.tiled=瓦砖
botany.design.veryThinCornered=Very Thin Cornered
botany.design.thinCornered=Thin Cornered
botany.design.cornered=Cornered
botany.design.thickCornered=Thick Cornered
botany.design.edged=Edged
botany.design.thinEdged=Thin Edged
botany.design.thinBarred=Thin Barred
botany.design.barred=Barred
botany.design.thickBarred=Thick Barred
botany.design.veryThinCornered=迷你拐角
botany.design.thinCornered=细拐角
botany.design.cornered=拐角
botany.design.thickCornered=宽拐角
botany.design.edged=单边
botany.design.thinEdged=细边
botany.design.thinBarred=细中线
botany.design.barred=中线
botany.design.thickBarred=宽中线
botany.design.diagonal=对角线
botany.design.thickDiagonal=Thick Diagonal
botany.design.thinSaltire=Thin Saltire
botany.design.saltire=Saltire
botany.design.thickSaltire=Thick Saltire
botany.design.thinCrossed=Thin Crossed
botany.design.crossed=Crossed
botany.design.thickCrossed=Thick Crossed
botany.design.thinTSection=Thin T Section
botany.design.tSection=T Section
botany.design.thickTSection=Thick T Section
botany.design.thinBarredCorner=Thin Barred Corner
botany.design.barredCorner=Barred Corner
botany.design.thickBarredCorner=Thick Barred Corner
botany.design.thinStripedCorner=Thin Striped Corner
botany.design.stripedCorner=Striped Corner
botany.design.thickDiagonal=宽对角线
botany.design.thinSaltire=细斜十字纹
botany.design.saltire=斜十字纹
botany.design.thickSaltire=宽斜十字纹
botany.design.thinCrossed=细十字纹
botany.design.crossed=十字纹
botany.design.thickCrossed=宽十字纹
botany.design.thinTSection=细T形纹
botany.design.tSection=T形纹
botany.design.thickTSection=宽T形纹
botany.design.thinBarredCorner=细中线拐角
botany.design.barredCorner=中线拐角
botany.design.thickBarredCorner=宽中线拐角
botany.design.thinStripedCorner=细条纹拐角
botany.design.stripedCorner=条纹拐角
botany.design.emblem1=徽章 1
botany.design.emblem2=徽章 2
botany.design.emblem3=徽章 3
@@ -82,38 +82,38 @@ botany.design.letterW=字母 W
botany.design.letterX=字母 X
botany.design.letterY=字母 Y
botany.design.letterZ=字母 Z
botany.design.thinCurvedCrossed=Thin Curved Crossed
botany.design.thinCurvedBarredCorner=Thin Curved Barred Corner
botany.design.curvedBarredCorner=Curved Barred Corner
botany.design.thinCurvedCorner=Thin Curved Corner
botany.design.curvedCorner=Curved Corner
botany.design.thinCurvedTSection=Thin Curved T Section
botany.design.curvedTSection=Curved T Section
botany.design.barredEnd=Barred End
botany.design.diagonalCorner=Diagonal Corner
botany.design.diagonalTSection=Diagonal T Section
botany.design.diagonalCurvedCorner=Diagonal Curved Corner
botany.design.diagonalCurvedTSection=Diagonal Curved T Section
botany.design.ornateBarred=Ornate Barred
botany.design.splitBarred=Split Barred
botany.design.splitBarredCorner=Split Barred Corner
botany.design.splitBarredTSection=Split Barred T Section
botany.design.splitCrossed=Split Crossed
botany.design.splitBarredEnd=Split Barred End
botany.design.ornateThinBarred=Ornate Thin Barred
botany.design.thinCurvedCrossed=细弧十字纹
botany.design.thinCurvedBarredCorner=细弧中线拐角
botany.design.curvedBarredCorner=中弧线拐角
botany.design.thinCurvedCorner=细弧型拐角
botany.design.curvedCorner=弧型拐角
botany.design.thinCurvedTSection=细弧T形纹
botany.design.curvedTSection=弧T形纹
botany.design.barredEnd=中线末端
botany.design.diagonalCorner=对角线拐角
botany.design.diagonalTSection=对角T形纹
botany.design.diagonalCurvedCorner=对角弧线拐角
botany.design.diagonalCurvedTSection=对角弧线T形纹
botany.design.ornateBarred=居中华纹
botany.design.splitBarred=居中条纹
botany.design.splitBarredCorner=居中条纹拐角
botany.design.splitBarredTSection=居中条纹T形纹
botany.design.splitCrossed=居中条纹十字纹
botany.design.splitBarredEnd=居中条纹末端
botany.design.ornateThinBarred=细居中华纹
botany.design.circle=圆圈
botany.design.plus=Plus
botany.design.plus=加号
botany.design.creeper=爬行者
botany.design.ornateStripedCorner=Ornate Striped Corner
botany.design.testingBlock=Testing Block
botany.design.diagonalHalved=Diagonal Halved
botany.design.corneredDiagonal=Cornered Diagonal
botany.design.oppositeCorneredDiagonal=Opposite Cornered Diagonal
botany.design.thickCorneredDiagonal=Thick Cornered Diagonal
botany.design.thinBarredEnd=Thin Barred End
botany.design.thickBarredEnd=Thick Barred End
botany.design.overlappedBarred=Overlapped Barred
botany.design.overlappedSplitBarred=Overlapped Split Barred
botany.design.ornateStripedCorner=华纹条纹拐角
botany.design.testingBlock=测试方块
botany.design.diagonalHalved=对角均分
botany.design.corneredDiagonal=对角拐角
botany.design.oppositeCorneredDiagonal=镜面对角拐角
botany.design.thickCorneredDiagonal=宽对角拐角
botany.design.thinBarredEnd=细中线末端
botany.design.thickBarredEnd=宽中线末端
botany.design.overlappedBarred=交错中线
botany.design.overlappedSplitBarred=交错居中条纹
botany.design.category.designsEmblems=样式与徽章
botany.design.category.squaresStripes=方形与条纹
@@ -143,7 +143,7 @@ botany.soil.weedkiller=除草剂
botany.soil.tooltip.type=类型:
botany.soil.tooltip.moisture=湿度:
botany.soil.tooltip.pH=pH:
botany.soil.tooltip.pH=pH值:
botany.item.tooltip.holdMore=<按下 Shift 显示详细信息>
botany.item.tooltip.bugged=这个物品出问题了,请立即销毁!
@@ -153,8 +153,8 @@ botany.item.tooltip.hybrid=%s-%s 杂合种
botany.item.tooltip.age=年龄:%d
botany.item.tooltip.temperature=温度:%s / %s
botany.item.tooltip.moisture=湿度:%s / %s
botany.item.tooltip.pH=pH:%s / %s
botany.item.tooltip.fertility=Fertility: %dx
botany.item.tooltip.pH=pH值:%s / %s
botany.item.tooltip.fertility=肥沃度: %dx
botany.item.tooltip.flowerColor1=花茎:%1$s、%2$s
botany.item.tooltip.flowerColor2=花茎:%1$s、%2$s和%3$s
@@ -163,12 +163,12 @@ botany.item.pigment.name=颜料
botany.item.clay.name=粘土
botany.item.botany.name=%1$s %2$s
botany.item.pollen.tag.name=花粉
botany.item.germling.tag.name=Germling
botany.item.germling.tag.name=幼苗
botany.item.flowerCorrupted.name=腐烂的花
botany.item.database.0.name=园丁数据库
botany.item.database.1.name=园艺大师数据库
botany.item.powderAsh.name=灰烬粉
botany.item.powderPulp.name=Pulp Powder
botany.item.powderPulp.name=木浆粉
botany.item.powderMulch.name=覆盖戍粉
botany.item.powderSulphur.name=硫磺粉
botany.item.powderFertiliser.name=肥料粉
@@ -312,7 +312,7 @@ botany.colour.white=白
botany.colour.yellow=黄
botany.colour.yellowgreen=黄绿
botany.effect.none=None
botany.effect.none=无
for.binnie.circuit.garden.dry.manual.fert=肥沃花土(干燥)
for.binnie.circuit.garden.dry.acid.manual.fert=花土(花土(干燥,酸性)
@@ -387,11 +387,11 @@ botany.gui.database.tab.genome=基因組
botany.gui.database.tab.genome.temp=温度:
botany.gui.database.tab.genome.moist=湿度:
botany.gui.database.tab.genome.ph=pH值:
botany.gui.database.tab.genome.fertility=Fertility :
botany.gui.database.tab.genome.fertility=肥沃度:
botany.gui.database.tab.genome.lifespan=生命周期:
botany.gui.database.tab.genome.lifespan.value=%s 天
botany.gui.database.tab.genome.nectar=花蜜:
botany.gui.database.tab.genome.varieties=Varieties :
botany.gui.database.tab.genome.varieties=品种:
botany.gui.database.tab.species.classification=科学分类
botany.gui.database.tab.species.resultant=导向突变
@@ -208,7 +208,7 @@ extrabees.machine.alveay.hatchery.info=Collect larvae laid by queen bees inside
extrabees.machine.alveay.hatchery.tooltip=Larvae
extrabees.machine.alveay.transmission=Alveary Transmission
extrabees.machine.alveay.transmission.info=
extrabees.machine.alveay.transmission.info=The Alveary Transmission accepts power and distributes it between all other alveary blocks that accept power.
##################################################
@@ -306,7 +306,7 @@ extrabees.species.desolate.name=Desolate
extrabees.species.desolate.desc=They thrive in blasted wastelands where other life simply withers away.|Apiarist Manual
extrabees.species.gnawing.name=Gnawing
extrabees.species.rotten.name=Decaying
extrabees.species.rotten.desc=These bees have an ususual attraction to dead, rotting meat and will store it in their combs. The smell also attracts other unsavoury types.|Apiarist Manual
extrabees.species.rotten.desc=These bees have an unusual attraction to dead, rotting meat and will store it in their combs. The smell also attracts other unsavoury types.|Apiarist Manual
extrabees.species.bone.name=Skeletal
extrabees.species.bone.desc=Largely unable to defend their hives in the wild, they attract other creatures to guard their homes.|Apiarist Manual
extrabees.species.creeper.name=Creepy
@@ -3,15 +3,15 @@
extrabees.item.comb.barren=贫瘠蜂窝
extrabees.item.comb.rotten=腐肉蜂窝
extrabees.item.comb.bone=骨粉蜂窝
extrabees.item.comb.bone=骨头蜂窝
extrabees.item.comb.oil=石油蜂窝
extrabees.item.comb.coal=化石蜂窝
extrabees.item.comb.fuel=原油蜂窝
extrabees.item.comb.coal=煤炭蜂窝
extrabees.item.comb.fuel=燃油蜂窝
extrabees.item.comb.water=潮湿蜂窝
extrabees.item.comb.milk=牛奶蜂窝
extrabees.item.comb.fruit=水果蜂窝
extrabees.item.comb.fruit=果汁蜂窝
extrabees.item.comb.seed=种子油蜂窝
extrabees.item.comb.alcohol=酒精蜂窝
extrabees.item.comb.alcohol=蜂蜜酒蜂窝
extrabees.item.comb.stone=石头蜂窝
extrabees.item.comb.redstone=红石蜂窝
extrabees.item.comb.resin=树脂蜂窝
@@ -47,29 +47,29 @@ extrabees.item.comb.emerald=绿宝石蜂窝
extrabees.item.comb.ruby=红宝石蜂窝
extrabees.item.comb.sapphire=蓝宝石蜂窝
extrabees.item.comb.diamond=钻石蜂窝
extrabees.item.comb.red=染色蜂窝(红)
extrabees.item.comb.yellow=染色蜂窝(黄)
extrabees.item.comb.blue=染色蜂窝(蓝)
extrabees.item.comb.green=染色蜂窝(绿)
extrabees.item.comb.black=染色蜂窝(黑)
extrabees.item.comb.white=染色蜂窝(白)
extrabees.item.comb.brown=染色蜂窝(棕)
extrabees.item.comb.orange=染色蜂窝(橙)
extrabees.item.comb.cyan=染色蜂窝(青)
extrabees.item.comb.purple=染色蜂窝(紫)
extrabees.item.comb.gray=染色蜂窝(灰)
extrabees.item.comb.lightblue=染色蜂窝(淡蓝)
extrabees.item.comb.pink=染色蜂窝(粉红)
extrabees.item.comb.limegreen=染色蜂窝(黄绿)
extrabees.item.comb.magenta=染色蜂窝(品红)
extrabees.item.comb.lightgray=染色蜂窝(淡灰)
extrabees.item.comb.red=染色蜂窝(红)
extrabees.item.comb.yellow=染色蜂窝(黄)
extrabees.item.comb.blue=染色蜂窝(蓝)
extrabees.item.comb.green=染色蜂窝(绿)
extrabees.item.comb.black=染色蜂窝(黑)
extrabees.item.comb.white=染色蜂窝(白)
extrabees.item.comb.brown=染色蜂窝(棕)
extrabees.item.comb.orange=染色蜂窝(橙)
extrabees.item.comb.cyan=染色蜂窝(青)
extrabees.item.comb.purple=染色蜂窝(紫)
extrabees.item.comb.gray=染色蜂窝(灰)
extrabees.item.comb.lightblue=染色蜂窝(淡蓝)
extrabees.item.comb.pink=染色蜂窝(粉红)
extrabees.item.comb.limegreen=染色蜂窝(黄绿)
extrabees.item.comb.magenta=染色蜂窝(品红)
extrabees.item.comb.lightgray=染色蜂窝(淡灰)
extrabees.item.comb.nickel=镍蜂窝
extrabees.item.comb.glowstone=荧石蜂窝
extrabees.item.comb.saltpeter=硝石蜂窝
extrabees.item.comb.compost=腐烂蜂窝
extrabees.item.comb.compost=堆肥蜂窝
extrabees.item.comb.sawdust=木屑蜂窝
extrabees.item.comb.certus=赛特斯石英蜂窝
extrabees.item.comb.enderpearl=闪光蜂窝
extrabees.item.comb.enderpearl=微光蜂窝
extrabees.item.comb.yellorium=黄铀蜂窝
extrabees.item.comb.cyanite=蓝晶蜂窝
extrabees.item.comb.blutonium=蓝钚蜂窝
@@ -87,22 +87,22 @@ extrabees.item.honeydrop.fruit=水果蜜汁
extrabees.item.honeydrop.vegetable=菜叶蜜汁
extrabees.item.honeydrop.pumpkin=新鲜蜜汁
extrabees.item.honeydrop.melon=闪光蜜汁
extrabees.item.honeydrop.red=染色蜜汁(红)
extrabees.item.honeydrop.yellow=染色蜜汁(黄)
extrabees.item.honeydrop.blue=染色蜜汁(蓝)
extrabees.item.honeydrop.green=染色蜜汁(绿)
extrabees.item.honeydrop.black=染色蜜汁(黑)
extrabees.item.honeydrop.white=染色蜜汁(白)
extrabees.item.honeydrop.brown=染色蜜汁(棕)
extrabees.item.honeydrop.orange=染色蜜汁(橙)
extrabees.item.honeydrop.cyan=染色蜜汁(青)
extrabees.item.honeydrop.purple=染色蜜汁(紫)
extrabees.item.honeydrop.gray=染色蜜汁(灰)
extrabees.item.honeydrop.lightblue=染色蜜汁(淡蓝)
extrabees.item.honeydrop.pink=染色蜜汁(粉)
extrabees.item.honeydrop.limegreen=染色蜜汁(黄绿)
extrabees.item.honeydrop.magenta=染色蜜汁(品红)
extrabees.item.honeydrop.lightgray=染色蜜汁(淡灰)
extrabees.item.honeydrop.red=染色蜜汁(红)
extrabees.item.honeydrop.yellow=染色蜜汁(黄)
extrabees.item.honeydrop.blue=染色蜜汁(蓝)
extrabees.item.honeydrop.green=染色蜜汁(绿)
extrabees.item.honeydrop.black=染色蜜汁(黑)
extrabees.item.honeydrop.white=染色蜜汁(白)
extrabees.item.honeydrop.brown=染色蜜汁(棕)
extrabees.item.honeydrop.orange=染色蜜汁(橙)
extrabees.item.honeydrop.cyan=染色蜜汁(青)
extrabees.item.honeydrop.purple=染色蜜汁(紫)
extrabees.item.honeydrop.gray=染色蜜汁(灰)
extrabees.item.honeydrop.lightblue=染色蜜汁(淡蓝)
extrabees.item.honeydrop.pink=染色蜜汁(粉)
extrabees.item.honeydrop.limegreen=染色蜜汁(黄绿)
extrabees.item.honeydrop.magenta=染色蜜汁(品红)
extrabees.item.honeydrop.lightgray=染色蜜汁(淡灰)
extrabees.item.propolis.water=含水蜂胶
extrabees.item.propolis.oil=石油蜂胶
@@ -117,11 +117,11 @@ extrabees.item.frame.clay=治愈框架
extrabees.item.frame.debug=新星框架
extrabees.item.serum.tooltip.nocharge=空的
extrabees.item.serum.tooltip.charge1=剩余 1 可用次数
extrabees.item.serum.tooltip.manycharge=剩余 %d 可用次数
extrabees.item.serum.corrupted=肮脏的血清瓶
extrabees.item.serum.tooltip.charge1=当前可用 1 次
extrabees.item.serum.tooltip.manycharge=当前可用 %d 次
extrabees.item.serum.corrupted=脏血清瓶
extrabees.item.serum.name=%s 血清瓶
extrabees.item.serum.empty=空的血清瓶
extrabees.item.serum.empty=空血清瓶
extrabees.item.template.corrupted=脏的模版
extrabees.item.template.name=%s 模版
@@ -185,48 +185,48 @@ extrabees.glacial=液氮
## Machines
extrabees.machine.alveay.frame=框架栏
extrabees.machine.alveay.frame.info=一个框架栏可以放一个框架,框架可以影响蜜蜂的属性。
extrabees.machine.alveay.frame.info=框架栏内可以放入一个框架以影响蜜蜂的属性。
extrabees.machine.alveay.frame.tooltip=蜂箱框架
extrabees.machine.alveay.lighting=蜂箱日光灯
extrabees.machine.alveay.lighting.info=日光灯的存在可以让蜜蜂以为黑夜还没到。
extrabees.machine.alveay.lighting=蜂箱组日光灯
extrabees.machine.alveay.lighting.info=蜂箱组日光灯欺骗了蜜蜂,让蜜蜂以为黑夜还没到。
extrabees.machine.alveay.mutator=基因突变器
extrabees.machine.alveay.mutator.info=突变器使用诱变剂来诱导基因突变。
extrabees.machine.alveay.mutator.tooltip=需要诱变剂
extrabees.machine.alveay.mutator.info=基因突变器使用诱变剂来诱导基因突变。
extrabees.machine.alveay.mutator.tooltip=诱变剂
extrabees.machine.alveay.mutator.mutagens=可用诱变剂:
extrabees.machine.alveay.rainShield=挡雨方块
extrabees.machine.alveay.rainShield.info=这方块可为蜜蜂遮风挡雨。
extrabees.machine.alveay.rainShield.info=挡雨方块可为蜜蜂遮风挡雨,防止其受到降雨的影响。
extrabees.machine.alveay.stimulator=电子增产器
extrabees.machine.alveay.stimulator.info=利用和框架类似的原理,借助电路和能量来提高蜜蜂各种产物的产量。
extrabees.machine.alveay.stimulator.tooltip=林业电路相关
extrabees.machine.alveay.stimulator=电刺激器
extrabees.machine.alveay.stimulator.info=利用和框架类似的原理,借助电路和能量来刺激蜜蜂。
extrabees.machine.alveay.stimulator.tooltip=林业电路板
extrabees.machine.alveay.hatchery=孵化间
extrabees.machine.alveay.hatchery.info=收集蜂箱内蜂后身旁那些躺着的幼虫。
extrabees.machine.alveay.hatchery.tooltip=幼虫
extrabees.machine.alveay.transmission=蜂箱能量接口
extrabees.machine.alveay.transmission.info=
extrabees.machine.alveay.transmission=蜂箱组能量接口
extrabees.machine.alveay.transmission.info=蜂箱组能量接口可以接收能量并将其分配到其他所有的接受能量的蜂箱组方块之间。
##################################################
## Misc
extrabees.circuit.layout.stimulator=电子增产器
extrabees.circuit.layout.stimulator.usage=在电子增产器内
extrabees.circuit.layout.stimulator.usage=电子增产器
extrabees.tab.genetics=基因
for.binnie.circuit.stimulator.lowvoltage=低压激化
for.binnie.circuit.stimulator.highvoltage=高压激化
for.binnie.circuit.stimulator.plant=生物激化
for.binnie.circuit.stimulator.death=充能激化
for.binnie.circuit.stimulator.life=柔和激化
for.binnie.circuit.stimulator.nether=熔融激化
for.binnie.circuit.stimulator.mutation=突变激化
for.binnie.circuit.stimulator.inhibitor=抑制激化
for.binnie.circuit.stimulator.territory=不稳激化
for.binnie.circuit.stimulator.lowvoltage=低压刺激
for.binnie.circuit.stimulator.highvoltage=高压刺激
for.binnie.circuit.stimulator.plant=生物刺激
for.binnie.circuit.stimulator.death=充能刺激
for.binnie.circuit.stimulator.life=柔和刺激
for.binnie.circuit.stimulator.nether=灼热刺激
for.binnie.circuit.stimulator.mutation=突变刺激
for.binnie.circuit.stimulator.inhibitor=抑制刺激
for.binnie.circuit.stimulator.territory=不稳刺激
extrabees.genetics.quality.awful=极差
extrabees.genetics.quality.poor=差
@@ -235,22 +235,22 @@ extrabees.genetics.quality.good=好
extrabees.genetics.quality.excellent=极好
extrabees.genetics.quality.tooltip=品质 %s
extrabees.genetics.allele.noeffect=无特效
extrabees.genetics.allele.noeffect=无特殊效果
extrabees.genetics.allele.noflower=无特定花粉
extrabees.genetics.allele.lifespan=%s 寿命周期
extrabees.genetics.allele.production=%s 产速
extrabees.genetics.allele.lifespan=%s 寿命
extrabees.genetics.allele.production=%s 工作速度
extrabees.genetics.allele.fertility=%s 生育能力
extrabees.genetics.allele.flowering=%s 授粉速度
extrabees.genetics.allele.territory=%s 工作范围
extrabees.genetics.allele.tolerance=%s %s 忍受能力
extrabees.genetics.allele.species=%s 种族
extrabees.genetics.allele.effect=%s 效果
extrabees.genetics.allele.territory=%s 活动范围
extrabees.genetics.allele.tolerance=%s %s 适应性
extrabees.genetics.allele.species=%s 品种
extrabees.genetics.allele.effect=%s 特殊效果
extrabees.genetics.allele.flower=%s 花粉
extrabees.genetics.allele.humidity=湿度
extrabees.genetics.allele.temperature=温度
extrabees.genetics.allele.nocturnal=夜行
extrabees.genetics.allele.caveDwelling=穴居
extrabees.genetics.allele.tolerantFlyer=耐雨
extrabees.genetics.allele.nocturnal=夜行性
extrabees.genetics.allele.caveDwelling=穴居性
extrabees.genetics.allele.tolerantFlyer=耐雨飞行性
extrabees.genetics.corrupted=肮脏的
extrabees.genetics.requirements.user=Can only be bred by %s
@@ -299,29 +299,29 @@ extrabees.flowers.fruit.name=水果
extrabees.flowers.mystical.name=神秘
extrabees.species.arid.name=干旱
extrabees.species.arid.desc=他们喜欢干旱的大陆,他们的蜂巢几乎都由蜡组成,少有蜂蜜。|养蜂人手册
extrabees.species.arid.desc=它们喜欢干旱的大陆,它们的蜂窝几乎都由蜡组成,少有蜂蜜。|养蜂人手册
extrabees.species.barren.name=荒芜
extrabees.species.barren.desc=这种对沙漠的偏爱,使得他们可以生活在完全没有花的世界。|养蜂人手册
extrabees.species.barren.desc=这种对沙漠的偏爱,使得它们可以生活在完全没有花的世界。|养蜂人手册
extrabees.species.desolate.name=荒凉
extrabees.species.desolate.desc=被诅咒的荒芜之地对于别的生物来说是地狱,是万物的凋零,而这种蜜蜂却能在这种环境里生生不息。|养蜂人手册
extrabees.species.gnawing.name=痛苦
extrabees.species.rotten.name=腐烂
extrabees.species.rotten.desc=这些蜜蜂对死去的动物的腐肉有种不寻常的兴趣,他们甚至会在蜂巢里储存腐肉。他们也会吸引一些比较难闻的生物(僵尸)。|养蜂人手册
extrabees.species.rotten.desc=这些蜜蜂对死去的动物的腐肉有种不寻常的兴趣,它们甚至会在蜂巢里储存腐肉。它们的气味也会吸引一些比较难闻的生物(僵尸)。|养蜂人手册
extrabees.species.bone.name=骷髅
extrabees.species.bone.desc=因为在野外它们很难保卫他们的家,他们吸引了其他的生物(骷髅)来保卫他们的蜂房。|养蜂人手册
extrabees.species.bone.desc=因为在野外它们很难保卫它们的家,所以它们吸引了其他的生物(骷髅)来保卫它们的蜂房。|养蜂人手册
extrabees.species.creeper.name=爬行者
extrabees.species.creeper.desc=你不是很确定你会不会听到他们发出爆炸声。|Binnie,养蜂人
extrabees.species.creeper.desc=你不是很确定你会不会听到它们发出爆炸声。|Binnie,养蜂人
extrabees.species.decomposing.name=分解
extrabees.species.rock.name=石头
extrabees.species.rock.desc=如果只有我能发现这些旋转的蜜蜂的话,我或许会听到一些美妙的音乐(摇滚乐)。|神秘的养蜂人
extrabees.species.rock.desc=如果只有我能发现这些旋转的蜜蜂的话,我或许会听到一些美妙的音乐(摇滚乐)。|神秘的养蜂人
extrabees.species.stone.name=忍耐
extrabees.species.stone.desc=它们的蜂窝一部分以石头打造,并且消耗的蜡也比以往少。|养蜂人手册
extrabees.species.stone.desc=它们的蜂巢一部分以石头打造,并且消耗的蜡也比以往少。|养蜂人手册
extrabees.species.granite.name=坚毅
extrabees.species.granite.desc=获得了于岩石中打洞的能力后,他们和隐藏于石头之中的矿物质有了令人惊异的密切关系。|养蜂人手册
extrabees.species.granite.desc=获得了于岩石中打洞的能力后,它们和隐藏于石头之中的矿物质有了令人惊异的密切关系。|养蜂人手册
extrabees.species.mineral.name=弹性
extrabees.species.mineral.desc=起源于岩缝中的蜜蜂,他们的后代已经开始进化出以矿物质作为食粮的基因。|养蜂人手册
extrabees.species.mineral.desc=起源于岩缝中的蜜蜂,它们的后代已经开始进化出以矿物质作为食粮的基因。|养蜂人手册
extrabees.species.copper.name=铜绿
extrabees.species.copper.desc=它们因啃咬墙壁中的铜缆造成的供电问题而声名狼藉。|养蜂人手册
extrabees.species.copper.desc=它们因啃咬墙壁中的铜线缆造成的供电问题而声名狼藉。|养蜂人手册
extrabees.species.tin.name=锡灰
extrabees.species.tin.desc=它们的身体被金属所覆盖,它们还用这种金属打造它们的蜂巢。|养蜂人手册
extrabees.species.iron.name=铁锈
@@ -338,7 +338,7 @@ extrabees.species.gold.name=金闪
extrabees.species.silver.name=银辉
extrabees.species.electrum.name=琥珀金
extrabees.species.platinum.name=铂金
extrabees.species.platinum.desc=喔喔,看这个闪光的蜜蜂。|Jadedcat, 养蜂人
extrabees.species.platinum.desc=喔喔,看这个闪光的蜜蜂。|Jadedcat,养蜂人
extrabees.species.lapis.name=青金石
extrabees.species.sodalite.name=方钠
extrabees.species.pyrite.name=黄铁
@@ -482,17 +482,17 @@ extrabees.gui.database.tab.species.overview=概述
extrabees.gui.database.tab.species.classification=科学分类
extrabees.gui.database.tab.species.genome=基因組
extrabees.gui.database.tab.species.genome.speed=速度:
extrabees.gui.database.tab.species.genome.lifespan=生命周期:
extrabees.gui.database.tab.species.genome.fertility=生育力:
extrabees.gui.database.tab.species.genome.flowering=授粉:
extrabees.gui.database.tab.species.genome.speed=工作速度:
extrabees.gui.database.tab.species.genome.lifespan=寿命:
extrabees.gui.database.tab.species.genome.fertility=生育能力:
extrabees.gui.database.tab.species.genome.flowering=授粉速度:
extrabees.gui.database.tab.species.genome.territory=活动范围:
extrabees.gui.database.tab.species.genome.behavior=行为:
extrabees.gui.database.tab.species.genome.sunlight=日光:
extrabees.gui.database.tab.species.genome.rain=降雨:
extrabees.gui.database.tab.species.genome.flower=采蜜对象:
extrabees.gui.database.tab.species.genome.effect=效果
extrabees.gui.database.tab.species.genome.tolerated=耐受
extrabees.gui.database.tab.species.genome.effect=特殊效果
extrabees.gui.database.tab.species.genome.tolerated=适应性
extrabees.gui.database.tab.species.genome.daytime=日间
extrabees.gui.database.tab.species.genome.nighttime=夜间
extrabees.gui.database.tab.species.genome.allDay=全天
Binary file not shown.

Before

Width:  |  Height:  |  Size: 360 B

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 587 B

After

Width:  |  Height:  |  Size: 798 B

@@ -122,7 +122,7 @@ genetics.machine.incubator.error.noLiquid=Not enough incubation liquid
genetics.machine.incubator.error.noRoom=No room for output
genetics.machine.labMachine.acclimatiser=Acclimatiser
genetics.machine.labMachine.acclimatiser.info=
genetics.machine.labMachine.acclimatiser.info=The Acclimatiser uses acclimatizing items to adjust the temperature and humidity tolerance of individuals.
genetics.machine.acclimatiser.acclimatizingItems=Acclimatizing Items
genetics.machine.acclimatiser.error.noIndividual=No Individual to Acclimatise
genetics.machine.acclimatiser.error.noAcclimatizingItems=No Acclimatising Items
@@ -9,27 +9,27 @@ genetics.item.fieldKit.tooltip.noPaper=没有纸
genetics.item.fieldKit.tooltip.sheetsOfPaper=%d 张纸
genetics.item.fieldKit.tooltip.sheetOfPaper=%d 张纸
genetics.item.casingIron.name=强化外壳
genetics.item.dnaDye.name=DNA 标记染料
genetics.item.casingIron.name=硬化部件
genetics.item.dnaDye.name=DNA 染料
genetics.item.dyeFluor.name=荧光染料
genetics.item.enzyme.name=酶
genetics.item.growthMedium.name=培养基
genetics.item.sequencerEmpty.name=空白序列
genetics.item.serumEmpty.name=空血清瓶
genetics.item.genomeEmpty.name=空血清阵列
genetics.item.cylinderEmpty.name=玻璃瓶
genetics.item.cylinderEmpty.name=玻璃罐
genetics.item.integratedCircuit.name=集成电路板
genetics.item.integratedCPU.name=集成 CPU
genetics.item.casingCircuit.name=集成外壳
genetics.item.casingCircuit.name=集成部件
genetics.item.analyst.name=品种分析仪
genetics.item.database.0.name=基因数据库
genetics.item.database.1.name=主基因数据库
genetics.item.registry.0.name=注册表
genetics.item.registry.1.name=主注册表
genetics.item.database.1.name=基因学大师数据库
genetics.item.registry.0.name=图鉴
genetics.item.registry.1.name=全图鉴
genetics.item.serum.name=%s 血清
genetics.item.serumArray.name=%s 血清阵列
genetics.item.sequence=DNA序列
genetics.item.sequence=DNA 序列
genetics.item.sequence.0=极弱
genetics.item.sequence.1=弱
genetics.item.sequence.2=略弱
@@ -38,8 +38,8 @@ genetics.item.sequence.4=强
genetics.item.sequence.5=极强
genetics.gene.charge.empty=空
genetics.gene.charge.one=1 次使用
genetics.gene.charge.many=%d 次使用
genetics.gene.charge.one=可使用 1 次
genetics.gene.charge.many=可使用 %d 次
genetics.gene.more=还有 %d 种基因,按下 Shift 显示全部。
genetics.sequence.corrupted=损坏的 DNA 序列
@@ -50,7 +50,7 @@ genetics.sequence.fully=已测序
genetics.sequence.partially=测序 %d%%
genetics.machine.machine.isolator=基因分离器
genetics.machine.machine.isolator.info=基因分离器将会从蜜蜂、树苗或者其它的独立个体中随机提取基因片段,并复制到空序列瓶中。此过程需要乙醇作为溶剂,还需要酶来切断DNA。未测序的血清可以在序列分析器中测序,并在基因同化器中重新装填。
genetics.machine.machine.isolator.info=基因分离器将会从蜜蜂、树苗或者其它的独立个体中随机提取基因片段,并复制到空白序列中。此过程需要乙醇作为溶剂,还需要酶来切断DNA。未测序的序列可以在基因同化器中扩增,并在测序仪中进行测序。
genetics.machine.isolator.error.noIndividual=没有个体样本
genetics.machine.isolator.error.noRoom=没有空间
genetics.machine.isolator.error.noVials=没有空白序列
@@ -58,8 +58,8 @@ genetics.machine.isolator.error.noLiquid=乙醇不足
genetics.machine.isolator.error.noEnzyme=没有酶
genetics.machine.machine.sequencer=测序仪
genetics.machine.machine.sequencer.info=测序仪可以对血清中的基因片段进行测序。需要用到荧光染料。计算过程相当耗时。
genetics.machine.sequencer.unsequencedDNA=未测序 DNA
genetics.machine.machine.sequencer.info=测序仪可以确定未测序 DNA 序列中的等位基因片段。这个过程很慢并且需要使用荧光染料。
genetics.machine.sequencer.unsequencedDNA=未测序 DNA 序列
genetics.machine.sequencer.error.noSequence=没有 DNA 序列
genetics.machine.sequencer.error.noOwner.title=无人认领此设备
genetics.machine.sequencer.error.noOwner=重新放置此设备以重新认领
@@ -68,21 +68,21 @@ genetics.machine.sequencer.error.noDye=染料不足
genetics.machine.sequencer.gui.sequensedBy=该基因将由 %s 完成序列化
genetics.machine.sequencer.gui.willNotSave=无用序列,将直接丢弃
genetics.machine.machine.polymeriser=基因同化器
genetics.machine.machine.polymeriser.info=基因同化器将会用 DNA 液体和细菌来重新填充血清。该过程可用金粒加速。
genetics.machine.machine.polymeriser=PCR 仪
genetics.machine.machine.polymeriser.info=PCR 仪将会以原生 DNA 为原料,通过聚合菌提供的 DNA 聚合酶来重新填充血清。该过程可用金粒加速。
genetics.machine.polymeriser.error.noItem=没有需要复制的物品
genetics.machine.polymeriser.error.itemFilled=物品已填充
genetics.machine.polymeriser.error.noLiquid=细菌不足
genetics.machine.polymeriser.error.noDNA=DNA 液体不足
genetics.machine.polymeriser.error.noDNA=原生 DNA 不足
genetics.machine.polymeriser.replicatingWithGene=正在复制 1 个基因
genetics.machine.polymeriser.replicatingWithGenes=正在复制 %d 个基因
genetics.machine.polymeriser.unfilledSerum=没有填充的血清瓶
genetics.machine.machine.inoculator=基因注射器
genetics.machine.machine.inoculator.info=基因注射器可将血清中含有的特定基因注入可杂交个体中。这个过程相当耗时,并且需要细菌作为催化剂,但必定会成功。
genetics.machine.machine.inoculator.info=基因注射器可将血清中含有的特定基因注入可杂交个体中。这个过程相当耗时,并且需要细菌质粒,但必定会成功。
genetics.machine.inoculator.error.noIndividual=没有可供基因注射的个体
genetics.machine.inoculator.error.noSerum=没有血清
genetics.machine.inoculator.error.noLiquid=液体不足
genetics.machine.inoculator.error.noLiquid=细菌质粒不足
genetics.machine.inoculator.error.emptySerum.title=空白血清
genetics.machine.inoculator.error.emptySerum=血清为空
genetics.machine.inoculator.error.invalidSerum.title=血清无效
@@ -96,36 +96,36 @@ genetics.machine.inoculator.inoculableIndividual=可植入基因的个体
genetics.machine.inoculator.serums=血清瓶/序列
genetics.machine.labMachine.genepool=基因池
genetics.machine.labMachine.genepool.info=基因液体池使用酶和乙醇来破坏活体组织并将其转化为DNA液体。所有遗传信息都会丢失,DNA来源也会被破坏。
genetics.machine.labMachine.genepool.info=基因池使用酶和乙醇将个体分解成原生 DNA 。在此过程中,所有遗传信息都会丢失,而原生 DNA 的来源个体也将被破坏。
genetics.machine.genepool.error.noIndividual=没有个体
genetics.machine.genepool.error.noRoom=储罐已满
genetics.machine.genepool.error.noRoom=原生 DNA 已满
genetics.machine.genepool.error.noEthanol=乙醇不足
genetics.machine.genepool.error.insufficientEnzyme=酶不足
genetics.machine.labMachine.labMachine=实验台
genetics.machine.labMachine.analyser=分析仪
genetics.machine.labMachine.analyser.info=分析仪将会解析可增殖的DNA序列,并确定当前的基因类型。此过程需要DNA标记染料,可由紫色染料和荧石粉合成得到。
genetics.machine.analyser.dnaDye=DNA标记染料
genetics.machine.labMachine.analyser.info=分析仪可分析可增殖个体和 DNA 序列,并确定当前的基因类型。此过程需要 DNA 染料,可由紫色染料和荧石粉合成得到。
genetics.machine.analyser.dnaDye=DNA 染料
genetics.machine.analyser.unanalysedItem=未经分析的物品
genetics.machine.analyser.error.alreadyAnalysed.title=已经过分析
genetics.machine.analyser.error.alreadyAnalysed=目标物品已经过分析
genetics.machine.analyser.error.insufficientDye.title=染料不足
genetics.machine.analyser.error.insufficientDye=DNA 染料数量不足
genetics.machine.analyser.error.insufficientDye=DNA 染料不足以完成分析
genetics.machine.analyser.error.noItem=没有物品可供分析
genetics.machine.labMachine.incubator=恒温箱
genetics.machine.labMachine.incubator.info=恒温箱使用特定液体和物品来进行恒温,确保细菌能够在理想的环境下快速增殖。
genetics.machine.incubator.error.noRecipe.title=没有配方
genetics.machine.incubator.error.noRecipe=没有找到任何有效配方
genetics.machine.incubator.error.noLiquid=培养液数量不足
genetics.machine.incubator.error.noRoom=输出已满
genetics.machine.incubator.error.noLiquid=液体不足
genetics.machine.incubator.error.noRoom=输出槽已满
genetics.machine.labMachine.acclimatiser=气候改造器
genetics.machine.labMachine.acclimatiser.info=
genetics.machine.acclimatiser.acclimatizingItems=气候改造物品
genetics.machine.acclimatiser.error.noIndividual=没有可供气候改造的个体
genetics.machine.acclimatiser.error.noAcclimatizingItems=没有气候改造所需物品
genetics.machine.labMachine.acclimatiser=适应性调整器
genetics.machine.labMachine.acclimatiser.info=适应性调整器使用适应性调整物品来调整个体的温度和湿度适应性。
genetics.machine.acclimatiser.acclimatizingItems=适应性调整物品
genetics.machine.acclimatiser.error.noIndividual=没有可供调整适应性的个体
genetics.machine.acclimatiser.error.noAcclimatizingItems=没有适应性调整物品
genetics.machine.acclimatiser.error.invalidAcclimatizingItems=该个体不能使用给定物品进行气候改造
genetics.machine.advMachine.splicer=基因拼接器
@@ -146,16 +146,16 @@ genetics.machine.splicer.splicingIn.1=正在拼接 %d/%d 个基因
genetics.machine.splicer.splicingIn.2=正在拼接 %d 个基因
genetics.machine.splicer.splicingIn.3=正在拼接 %d 个基因
genetics.gui.geneBank=基因库
genetics.gui.geneBank=基因数据库
genetics.gui.geneBank.info=信息
genetics.gui.geneBank.stats=状态
genetics.gui.geneBank.ranking=评级
genetics.gui.geneBank.project=全基因解析工程
genetics.gui.geneBank.project=全基因组计划
genetics.gui.geneBank.sequencedGenes=已测序 %d/%d 基因
genetics.gui.geneBank.sequencedGenes.short=%d/%d 基因
genetics.gui.analyst.info=将蜜蜂、树苗、花或蝴蝶等样本放置于左上格子中。若样本还未经分析过,则还需要添加 DNA 染料。本设备还可将原版树苗转化成可供杂交的树苗。
genetics.gui.analyst.registry=注册表
genetics.gui.analyst.registry=图鉴
genetics.gui.analyst.page.hours=%s 小时
genetics.gui.analyst.page.minutes=%s 分钟
genetics.gui.analyst.page.seconds=%s 秒
@@ -187,7 +187,7 @@ genetics.gui.analyst.biology.underground=可在地下活动
genetics.gui.analyst.biology.notUnderground=不能在地下活动
genetics.gui.analyst.biology.flammable=可燃
genetics.gui.analyst.biology.nonflammable=抗燃
genetics.gui.analyst.biology.sappiness=树液:%s
genetics.gui.analyst.biology.sappiness=多汁:%s
genetics.gui.analyst.biology.fertility.drones=每个蜂巢产出 %d 工蜂
genetics.gui.analyst.biology.fertility.drone=每个蜂巢产出 1 工蜂
genetics.gui.analyst.biology.fertility.moths=死亡前产出 %d 只幼虫