mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
Merge branch 'master' of https://github.com/TheBusyBiscuit/Slimefun4 into HazmatSuitBees
Conflicts: src/main/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/ArmorTask.java
This commit is contained in:
commit
52dc7585fc
@ -46,6 +46,7 @@
|
||||
* items which cannot be distributed by a Cargo Net will be dropped on the ground now instead of getting deleted
|
||||
* Small performance improvements to the Cargo Net
|
||||
* Slimefun no longer supports CraftBukkit
|
||||
* Item Energy is now also stored persistently via NBT
|
||||
|
||||
#### Fixes
|
||||
* Fixed #2005
|
||||
@ -56,6 +57,7 @@
|
||||
* Fixed #1855
|
||||
* Fixed some issues with AsyncWorldEdit
|
||||
* Fixed some problems with unregistered or fake worlds
|
||||
* Fixed a rare concurrency issue with world saving
|
||||
|
||||
## Release Candidate 13 (16 Jun 2020)
|
||||
https://thebusybiscuit.github.io/builds/TheBusyBiscuit/Slimefun4/stable/#13
|
||||
|
@ -137,7 +137,7 @@ public class GPSNetwork {
|
||||
menu.addMenuClickHandler(2, ChestMenuUtils.getEmptyClickHandler());
|
||||
|
||||
int complexity = getNetworkComplexity(p.getUniqueId());
|
||||
menu.addItem(4, new CustomItem(SlimefunItems.GPS_CONTROL_PANEL, "&7Network Info", "", "&8\u21E8 &7Status: " + (complexity > 0 ? "&2&lONLINE" : "&4&lOFFLINE"), "&8\u21E8 &7Complexity: &r" + complexity));
|
||||
menu.addItem(4, new CustomItem(SlimefunItems.GPS_CONTROL_PANEL, "&7Network Info", "", "&8\u21E8 &7Status: " + (complexity > 0 ? "&2&lONLINE" : "&4&lOFFLINE"), "&8\u21E8 &7Complexity: &f" + complexity));
|
||||
menu.addMenuClickHandler(4, ChestMenuUtils.getEmptyClickHandler());
|
||||
|
||||
menu.addItem(6, new CustomItem(HeadTexture.GLOBE_OVERWORLD.getAsItemStack(), "&7" + SlimefunPlugin.getLocal().getMessage(p, "machines.GPS_CONTROL_PANEL.waypoints"), "", ChatColor.GRAY + "\u21E8 " + SlimefunPlugin.getLocal().getMessage(p, "guide.tooltips.open-category")));
|
||||
@ -154,7 +154,7 @@ public class GPSNetwork {
|
||||
if (sfi instanceof GPSTransmitter) {
|
||||
int slot = inventory[index];
|
||||
|
||||
menu.addItem(slot, new CustomItem(SlimefunItems.GPS_TRANSMITTER, "&bGPS Transmitter", "&8\u21E8 &7World: &r" + l.getWorld().getName(), "&8\u21E8 &7X: &r" + l.getX(), "&8\u21E8 &7Y: &r" + l.getY(), "&8\u21E8 &7Z: &r" + l.getZ(), "", "&8\u21E8 &7Signal Strength: &r" + ((GPSTransmitter) sfi).getMultiplier(l.getBlockY()), "&8\u21E8 &7Ping: &r" + DoubleHandler.fixDouble(1000D / l.getY()) + "ms"));
|
||||
menu.addItem(slot, new CustomItem(SlimefunItems.GPS_TRANSMITTER, "&bGPS Transmitter", "&8\u21E8 &7World: &f" + l.getWorld().getName(), "&8\u21E8 &7X: &f" + l.getX(), "&8\u21E8 &7Y: &f" + l.getY(), "&8\u21E8 &7Z: &f" + l.getZ(), "", "&8\u21E8 &7Signal Strength: &f" + ((GPSTransmitter) sfi).getMultiplier(l.getBlockY()), "&8\u21E8 &7Ping: &f" + DoubleHandler.fixDouble(1000D / l.getY()) + "ms"));
|
||||
menu.addMenuClickHandler(slot, ChestMenuUtils.getEmptyClickHandler());
|
||||
|
||||
index++;
|
||||
@ -209,7 +209,7 @@ public class GPSNetwork {
|
||||
});
|
||||
|
||||
int complexity = getNetworkComplexity(p.getUniqueId());
|
||||
menu.addItem(4, new CustomItem(SlimefunItems.GPS_CONTROL_PANEL, "&7Network Info", "", "&8\u21E8 &7Status: " + (complexity > 0 ? "&2&lONLINE" : "&4&lOFFLINE"), "&8\u21E8 &7Complexity: &r" + complexity));
|
||||
menu.addItem(4, new CustomItem(SlimefunItems.GPS_CONTROL_PANEL, "&7Network Info", "", "&8\u21E8 &7Status: " + (complexity > 0 ? "&2&lONLINE" : "&4&lOFFLINE"), "&8\u21E8 &7Complexity: &f" + complexity));
|
||||
menu.addMenuClickHandler(4, ChestMenuUtils.getEmptyClickHandler());
|
||||
|
||||
menu.addItem(6, new CustomItem(HeadTexture.GLOBE_OVERWORLD.getAsItemStack(), "&7" + SlimefunPlugin.getLocal().getMessage(p, "machines.GPS_CONTROL_PANEL.waypoints")));
|
||||
@ -221,7 +221,7 @@ public class GPSNetwork {
|
||||
int slot = inventory[index];
|
||||
|
||||
Location l = waypoint.getLocation();
|
||||
menu.addItem(slot, new CustomItem(waypoint.getIcon(), waypoint.getName().replace("player:death ", ""), "&8\u21E8 &7World: &r" + l.getWorld().getName(), "&8\u21E8 &7X: &r" + l.getX(), "&8\u21E8 &7Y: &r" + l.getY(), "&8\u21E8 &7Z: &r" + l.getZ(), "", "&8\u21E8 &cClick to delete"));
|
||||
menu.addItem(slot, new CustomItem(waypoint.getIcon(), waypoint.getName().replace("player:death ", ""), "&8\u21E8 &7World: &f" + l.getWorld().getName(), "&8\u21E8 &7X: &f" + l.getX(), "&8\u21E8 &7Y: &f" + l.getY(), "&8\u21E8 &7Z: &f" + l.getZ(), "", "&8\u21E8 &cClick to delete"));
|
||||
menu.addMenuClickHandler(slot, (pl, s, item, action) -> {
|
||||
profile.removeWaypoint(waypoint);
|
||||
pl.playSound(pl.getLocation(), Sound.UI_BUTTON_CLICK, 1F, 1F);
|
||||
|
@ -61,7 +61,7 @@ public final class TeleportationManager {
|
||||
|
||||
Location l = waypoint.getLocation();
|
||||
menu.addItem(slot,
|
||||
new CustomItem(waypoint.getIcon(), waypoint.getName().replace("player:death ", ""), "", "&8\u21E8 &7" + SlimefunPlugin.getLocal().getResourceString(p, "tooltips.world") + ": &r" + l.getWorld().getName(), "&8\u21E8 &7X: &r" + l.getX(), "&8\u21E8 &7Y: &r" + l.getY(), "&8\u21E8 &7Z: &r" + l.getZ(), "&8\u21E8 &7" + SlimefunPlugin.getLocal().getMessage(p, "machines.TELEPORTER.gui.time") + ": &r" + DoubleHandler.fixDouble(0.5 * getTeleportationTime(complexity, source, l)) + "s", "", "&8\u21E8 &c" + SlimefunPlugin.getLocal().getMessage(p, "machines.TELEPORTER.gui.tooltip")));
|
||||
new CustomItem(waypoint.getIcon(), waypoint.getName().replace("player:death ", ""), "", "&8\u21E8 &7" + SlimefunPlugin.getLocal().getResourceString(p, "tooltips.world") + ": &f" + l.getWorld().getName(), "&8\u21E8 &7X: &f" + l.getX(), "&8\u21E8 &7Y: &f" + l.getY(), "&8\u21E8 &7Z: &f" + l.getZ(), "&8\u21E8 &7" + SlimefunPlugin.getLocal().getMessage(p, "machines.TELEPORTER.gui.time") + ": &f" + DoubleHandler.fixDouble(0.5 * getTeleportationTime(complexity, source, l)) + "s", "", "&8\u21E8 &c" + SlimefunPlugin.getLocal().getMessage(p, "machines.TELEPORTER.gui.tooltip")));
|
||||
menu.addMenuClickHandler(slot, (pl, s, item, action) -> {
|
||||
pl.closeInventory();
|
||||
teleport(pl.getUniqueId(), complexity, source, l, false);
|
||||
@ -107,7 +107,7 @@ public final class TeleportationManager {
|
||||
teleporterUsers.remove(uuid);
|
||||
|
||||
if (p != null) {
|
||||
p.sendTitle(ChatColors.color(SlimefunPlugin.getLocal().getMessage(p, "machines.TELEPORTER.cancelled")), ChatColors.color("&c&k40&r&c%"), 20, 60, 20);
|
||||
p.sendTitle(ChatColors.color(SlimefunPlugin.getLocal().getMessage(p, "machines.TELEPORTER.cancelled")), ChatColors.color("&c&k40&f&c%"), 20, 60, 20);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,6 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.ConcurrentMap;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Server;
|
||||
@ -76,8 +75,8 @@ public class SlimefunRegistry {
|
||||
private final Set<String> chargeableBlocks = new HashSet<>();
|
||||
private final Map<String, WitherProof> witherProofBlocks = new HashMap<>();
|
||||
|
||||
private final ConcurrentMap<UUID, PlayerProfile> profiles = new ConcurrentHashMap<>();
|
||||
private final Map<String, BlockStorage> worlds = new HashMap<>();
|
||||
private final Map<UUID, PlayerProfile> profiles = new ConcurrentHashMap<>();
|
||||
private final Map<String, BlockStorage> worlds = new ConcurrentHashMap<>();
|
||||
private final Map<String, BlockInfoConfig> chunks = new HashMap<>();
|
||||
private final Map<SlimefunGuideLayout, SlimefunGuideImplementation> layouts = new EnumMap<>(SlimefunGuideLayout.class);
|
||||
private final Map<EntityType, Set<ItemStack>> drops = new EnumMap<>(EntityType.class);
|
||||
@ -234,7 +233,7 @@ public class SlimefunRegistry {
|
||||
return universalInventories;
|
||||
}
|
||||
|
||||
public ConcurrentMap<UUID, PlayerProfile> getPlayerProfiles() {
|
||||
public Map<UUID, PlayerProfile> getPlayerProfiles() {
|
||||
return profiles;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,145 @@
|
||||
package io.github.thebusybiscuit.slimefun4.core.attributes;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import io.github.thebusybiscuit.slimefun4.core.networks.energy.EnergyNet;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.items.electric.gadgets.Jetpack;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.items.electric.gadgets.MultiTool;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.items.electric.machines.ChargingBench;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
|
||||
/**
|
||||
* A {@link Rechargeable} {@link SlimefunItem} can hold energy and is able to
|
||||
* be recharged using a {@link ChargingBench}.
|
||||
* Any {@link SlimefunItem} which is supposed to be chargeable <b>must</b> implement this interface.
|
||||
*
|
||||
* @author TheBusyBiscuit
|
||||
*
|
||||
* @see ChargingBench
|
||||
* @see EnergyNet
|
||||
* @see Jetpack
|
||||
* @see MultiTool
|
||||
*
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface Rechargeable extends ItemAttribute {
|
||||
|
||||
/**
|
||||
* This method returns the maximum charge the given {@link ItemStack} is capable of holding.
|
||||
*
|
||||
* @param item
|
||||
* The {@link ItemStack} for which to determine the maximum charge
|
||||
*
|
||||
* @return The maximum energy charge for this {@link ItemStack}
|
||||
*/
|
||||
float getMaxItemCharge(ItemStack item);
|
||||
|
||||
/**
|
||||
* This method sets the stored energy charge for a given {@link ItemStack}.
|
||||
* The charge must be at least zero and at most {@link #getMaxItemCharge(ItemStack)}.
|
||||
*
|
||||
* @param item
|
||||
* The {@link ItemStack} to charge
|
||||
* @param charge
|
||||
* The amount of charge to store
|
||||
*/
|
||||
default void setItemCharge(ItemStack item, float charge) {
|
||||
if (item == null || item.getType() == Material.AIR) {
|
||||
throw new IllegalArgumentException("Cannot set Item charge for null or AIR");
|
||||
}
|
||||
|
||||
float maximum = getMaxItemCharge(item);
|
||||
|
||||
if (charge < 0 || charge > maximum) {
|
||||
throw new IllegalArgumentException("Charge must be between zero and " + maximum + ".");
|
||||
}
|
||||
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
RechargeableHelper.setCharge(meta, charge, maximum);
|
||||
item.setItemMeta(meta);
|
||||
}
|
||||
|
||||
/**
|
||||
* This method returns the currently stored energy charge on the provided {@link ItemStack}.
|
||||
*
|
||||
* @param item
|
||||
* The {@link ItemStack} to get the charge from
|
||||
*
|
||||
* @return The charge stored on this {@link ItemStack}
|
||||
*/
|
||||
default float getItemCharge(ItemStack item) {
|
||||
if (item == null || item.getType() == Material.AIR) {
|
||||
throw new IllegalArgumentException("Cannot get Item charge for null or AIR");
|
||||
}
|
||||
|
||||
return RechargeableHelper.getCharge(item.getItemMeta());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method adds the given charge to the provided {@link ItemStack}.
|
||||
* The method will also return whether this operation was successful.
|
||||
* If the {@link ItemStack} is already at maximum charge, the method will return <code>false</code>.
|
||||
*
|
||||
* @param item
|
||||
* The {@link ItemStack} to charge
|
||||
* @param charge
|
||||
* The amount of charge to add
|
||||
*
|
||||
* @return Whether the given charge could be added successfully
|
||||
*/
|
||||
default boolean addItemCharge(ItemStack item, float charge) {
|
||||
if (item == null || item.getType() == Material.AIR) {
|
||||
throw new IllegalArgumentException("Cannot add Item charge for null or AIR");
|
||||
}
|
||||
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
float currentCharge = RechargeableHelper.getCharge(meta);
|
||||
float maximum = getMaxItemCharge(item);
|
||||
|
||||
// If the item is already fully charged, we abort.
|
||||
if (currentCharge >= maximum) {
|
||||
return false;
|
||||
}
|
||||
|
||||
float newCharge = Math.min(currentCharge + charge, maximum);
|
||||
RechargeableHelper.setCharge(meta, newCharge, maximum);
|
||||
|
||||
item.setItemMeta(meta);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method removes the given charge to the provided {@link ItemStack}.
|
||||
* The method will also return whether this operation was successful.
|
||||
* If the {@link ItemStack} does not have enough charge, the method will return <code>false</code>.
|
||||
*
|
||||
* @param item
|
||||
* The {@link ItemStack} to remove the charge from
|
||||
* @param charge
|
||||
* The amount of charge to remove
|
||||
*
|
||||
* @return Whether the given charge could be removed successfully
|
||||
*/
|
||||
default boolean removeItemCharge(ItemStack item, float charge) {
|
||||
if (item == null || item.getType() == Material.AIR) {
|
||||
throw new IllegalArgumentException("Cannot remove Item charge for null or AIR");
|
||||
}
|
||||
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
float currentCharge = RechargeableHelper.getCharge(meta);
|
||||
|
||||
// If the item does not have enough charge, we abort
|
||||
if (currentCharge < charge) {
|
||||
return false;
|
||||
}
|
||||
|
||||
float newCharge = Math.max(currentCharge - charge, 0);
|
||||
RechargeableHelper.setCharge(meta, newCharge, getMaxItemCharge(item));
|
||||
|
||||
item.setItemMeta(meta);
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,78 @@
|
||||
package io.github.thebusybiscuit.slimefun4.core.attributes;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.persistence.PersistentDataType;
|
||||
|
||||
import io.github.thebusybiscuit.cscorelib2.chat.ChatColors;
|
||||
import io.github.thebusybiscuit.slimefun4.api.MinecraftVersion;
|
||||
import io.github.thebusybiscuit.slimefun4.utils.PatternUtils;
|
||||
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
|
||||
|
||||
/**
|
||||
* This is just a simple helper class to provide static methods to the {@link Rechargeable}
|
||||
* interface.
|
||||
*
|
||||
* @author TheBusyBiscuit
|
||||
*
|
||||
* @see Rechargeable
|
||||
*
|
||||
*/
|
||||
final class RechargeableHelper {
|
||||
|
||||
private static final NamespacedKey CHARGE_KEY = new NamespacedKey(SlimefunPlugin.instance, "item_charge");
|
||||
private static final String LORE_PREFIX = ChatColors.color("&c&o&8\u21E8 &e\u26A1 &7");
|
||||
|
||||
private RechargeableHelper() {}
|
||||
|
||||
static void setCharge(ItemMeta meta, float charge, float capacity) {
|
||||
BigDecimal decimal = BigDecimal.valueOf(charge).setScale(2, RoundingMode.HALF_UP);
|
||||
float value = decimal.floatValue();
|
||||
|
||||
if (SlimefunPlugin.getMinecraftVersion().isAtLeast(MinecraftVersion.MINECRAFT_1_14)) {
|
||||
meta.getPersistentDataContainer().set(CHARGE_KEY, PersistentDataType.FLOAT, value);
|
||||
}
|
||||
|
||||
List<String> lore = meta.hasLore() ? meta.getLore() : new ArrayList<>();
|
||||
for (int i = 0; i < lore.size(); i++) {
|
||||
String line = lore.get(i);
|
||||
|
||||
if (line.startsWith(LORE_PREFIX)) {
|
||||
lore.set(i, LORE_PREFIX + value + " / " + capacity + " J");
|
||||
meta.setLore(lore);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
lore.add(LORE_PREFIX + value + " / " + capacity + " J");
|
||||
meta.setLore(lore);
|
||||
}
|
||||
|
||||
static float getCharge(ItemMeta meta) {
|
||||
if (SlimefunPlugin.getMinecraftVersion().isAtLeast(MinecraftVersion.MINECRAFT_1_14)) {
|
||||
Float value = meta.getPersistentDataContainer().get(CHARGE_KEY, PersistentDataType.FLOAT);
|
||||
|
||||
// If persistent data is available, we just return this value
|
||||
if (value != null) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
// If no persistent data exists, we will just fall back to the lore
|
||||
if (meta.hasLore()) {
|
||||
for (String line : meta.getLore()) {
|
||||
if (line.startsWith(LORE_PREFIX) && line.contains(" / ") && line.endsWith(" J")) {
|
||||
return Float.parseFloat(PatternUtils.SLASH_SEPARATOR.split(line)[0].replace(LORE_PREFIX, ""));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
@ -3,6 +3,7 @@ package io.github.thebusybiscuit.slimefun4.core.services;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.bukkit.Keyed;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
@ -65,7 +66,7 @@ public class CustomItemDataService implements PersistentDataService, Keyed {
|
||||
* @return An {@link Optional} describing the result
|
||||
*/
|
||||
public Optional<String> getItemData(ItemStack item) {
|
||||
if (item == null || !item.hasItemMeta()) {
|
||||
if (item == null || item.getType() == Material.AIR || !item.hasItemMeta()) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
|
@ -154,6 +154,8 @@ public class Translators {
|
||||
addTranslator("G4stavoM1ster", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("yurinogueira", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("Sakanas", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("krazybeat", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
addTranslator("FaolanMalcadh", SupportedLanguage.PORTUGUESE_BRAZIL, true);
|
||||
}
|
||||
|
||||
private void addTranslator(String name, SupportedLanguage lang, boolean lock) {
|
||||
|
@ -2,23 +2,31 @@ package io.github.thebusybiscuit.slimefun4.implementation.items.electric.gadgets
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.Rechargeable;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.ChargableItem;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
|
||||
public class JetBoots extends ChargableItem {
|
||||
public class JetBoots extends SlimefunItem implements Rechargeable {
|
||||
|
||||
private final double speed;
|
||||
private final float capacity;
|
||||
|
||||
public JetBoots(Category category, SlimefunItemStack item, ItemStack[] recipe, double speed) {
|
||||
public JetBoots(Category category, SlimefunItemStack item, ItemStack[] recipe, double speed, float capacity) {
|
||||
super(category, item, RecipeType.ENHANCED_CRAFTING_TABLE, recipe);
|
||||
|
||||
this.speed = speed;
|
||||
this.capacity = capacity;
|
||||
}
|
||||
|
||||
public double getSpeed() {
|
||||
return speed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getMaxItemCharge(ItemStack item) {
|
||||
return capacity;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,23 +2,31 @@ package io.github.thebusybiscuit.slimefun4.implementation.items.electric.gadgets
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.Rechargeable;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.ChargableItem;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
|
||||
public class Jetpack extends ChargableItem {
|
||||
public class Jetpack extends SlimefunItem implements Rechargeable {
|
||||
|
||||
private final double thrust;
|
||||
private final float capacity;
|
||||
|
||||
public Jetpack(Category category, SlimefunItemStack item, ItemStack[] recipe, double thrust) {
|
||||
public Jetpack(Category category, SlimefunItemStack item, ItemStack[] recipe, double thrust, float capacity) {
|
||||
super(category, item, RecipeType.ENHANCED_CRAFTING_TABLE, recipe);
|
||||
|
||||
this.thrust = thrust;
|
||||
this.capacity = capacity;
|
||||
}
|
||||
|
||||
public double getThrust() {
|
||||
return thrust;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getMaxItemCharge(ItemStack item) {
|
||||
return capacity;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -10,29 +10,36 @@ import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.Rechargeable;
|
||||
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.ChargableItem;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockBreakHandler;
|
||||
import me.mrCookieSlime.Slimefun.Objects.handlers.ItemUseHandler;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
import me.mrCookieSlime.Slimefun.api.energy.ItemEnergy;
|
||||
|
||||
public class MultiTool extends ChargableItem {
|
||||
public class MultiTool extends SlimefunItem implements Rechargeable {
|
||||
|
||||
private static final float COST = 0.3F;
|
||||
|
||||
private final Map<UUID, Integer> selectedMode = new HashMap<>();
|
||||
private final List<MultiToolMode> modes = new ArrayList<>();
|
||||
private final float capacity;
|
||||
|
||||
public MultiTool(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, String... items) {
|
||||
public MultiTool(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, float capacity, String... items) {
|
||||
super(category, item, recipeType, recipe);
|
||||
|
||||
for (int i = 0; i < items.length; i++) {
|
||||
modes.add(new MultiToolMode(this, i, items[i]));
|
||||
}
|
||||
|
||||
this.capacity = capacity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getMaxItemCharge(ItemStack item) {
|
||||
return capacity;
|
||||
}
|
||||
|
||||
protected ItemUseHandler getItemUseHandler() {
|
||||
@ -44,11 +51,7 @@ public class MultiTool extends ChargableItem {
|
||||
int index = selectedMode.getOrDefault(p.getUniqueId(), 0);
|
||||
|
||||
if (!p.isSneaking()) {
|
||||
float charge = ItemEnergy.getStoredEnergy(item);
|
||||
|
||||
if (charge >= COST) {
|
||||
ItemEnergy.chargeItem(item, -COST);
|
||||
|
||||
if (removeItemCharge(item, -COST)) {
|
||||
SlimefunItem sfItem = modes.get(index).getItem();
|
||||
|
||||
if (sfItem != null) {
|
||||
|
@ -1,25 +1,65 @@
|
||||
package io.github.thebusybiscuit.slimefun4.implementation.items.electric.gadgets;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import io.github.thebusybiscuit.slimefun4.api.items.ItemSetting;
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.Rechargeable;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.tasks.ArmorTask;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
|
||||
/**
|
||||
* The {@link SolarHelmet} can be worn by {@link Player}.
|
||||
* As long as that {@link Player} has contact with sunlight, the helmet will charge any
|
||||
* {@link Rechargeable} {@link SlimefunItem} that this {@link Player} is currently wearing
|
||||
* or holding.
|
||||
*
|
||||
* @author TheBusyBiscuit
|
||||
*
|
||||
* @see ArmorTask
|
||||
* @see Rechargeable
|
||||
*
|
||||
*/
|
||||
public class SolarHelmet extends SlimefunItem {
|
||||
|
||||
private final ItemSetting<Double> chargeSetting = new ItemSetting<>("charge-amount", 0.1);
|
||||
private final ItemSetting<Double> charge;
|
||||
|
||||
public SolarHelmet(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) {
|
||||
super(category, item, recipeType, recipe, null);
|
||||
public SolarHelmet(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, double defaultChargingLevel) {
|
||||
super(category, item, recipeType, recipe);
|
||||
|
||||
addItemSetting(chargeSetting);
|
||||
if (defaultChargingLevel <= 0) {
|
||||
throw new IllegalArgumentException("A Solar Helmet must have a positive charging level!");
|
||||
}
|
||||
|
||||
public double getChargeAmount() {
|
||||
return chargeSetting.getValue();
|
||||
charge = new ItemSetting<>("charge-amount", defaultChargingLevel);
|
||||
addItemSetting(charge);
|
||||
}
|
||||
|
||||
/**
|
||||
* This method recharges the equipment of the given {@link Player} by the configured
|
||||
* factor of this {@link SolarHelmet}.
|
||||
*
|
||||
* @param p
|
||||
* The {@link Player} wearing this {@link SolarHelmet}
|
||||
*/
|
||||
public void rechargeItems(Player p) {
|
||||
recharge(p.getInventory().getHelmet());
|
||||
recharge(p.getInventory().getChestplate());
|
||||
recharge(p.getInventory().getLeggings());
|
||||
recharge(p.getInventory().getBoots());
|
||||
recharge(p.getInventory().getItemInMainHand());
|
||||
recharge(p.getInventory().getItemInOffHand());
|
||||
}
|
||||
|
||||
private void recharge(ItemStack item) {
|
||||
SlimefunItem sfItem = SlimefunItem.getByItem(item);
|
||||
|
||||
if (sfItem instanceof Rechargeable) {
|
||||
((Rechargeable) sfItem).addItemCharge(item, charge.getValue().floatValue());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
package io.github.thebusybiscuit.slimefun4.implementation.items.electric.generators;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.World.Environment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import io.github.thebusybiscuit.slimefun4.api.events.PlayerRightClickEvent;
|
||||
@ -60,11 +62,17 @@ public abstract class SolarGenerator extends SimpleSlimefunItem<GeneratorTicker>
|
||||
|
||||
@Override
|
||||
public double generateEnergy(Location l, SlimefunItem item, Config data) {
|
||||
if (!l.getWorld().isChunkLoaded(l.getBlockX() >> 4, l.getBlockZ() >> 4) || l.getBlock().getLightFromSky() != 15) {
|
||||
return 0D;
|
||||
World world = l.getWorld();
|
||||
|
||||
if (world.getEnvironment() != Environment.NORMAL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (l.getWorld().getTime() < 12300 || l.getWorld().getTime() > 23850) {
|
||||
if (!world.isChunkLoaded(l.getBlockX() >> 4, l.getBlockZ() >> 4) || l.getBlock().getLightFromSky() != 15) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (world.getTime() < 12300 || world.getTime() > 23850) {
|
||||
return getDayEnergy();
|
||||
}
|
||||
|
||||
|
@ -29,7 +29,7 @@ import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
|
||||
* @author Linox
|
||||
*
|
||||
*/
|
||||
public class AutoBrewer extends AContainer {
|
||||
public abstract class AutoBrewer extends AContainer {
|
||||
|
||||
private static final Map<Material, PotionType> potionRecipes = new EnumMap<>(Material.class);
|
||||
private static final Map<PotionType, PotionType> fermentations = new EnumMap<>(PotionType.class);
|
||||
@ -122,15 +122,14 @@ public class AutoBrewer extends AContainer {
|
||||
ItemStack potionItem = slot ? input1 : input2;
|
||||
ItemStack ingredient = slot ? input2 : input1;
|
||||
|
||||
PotionMeta potion = (PotionMeta) potionItem.getItemMeta();
|
||||
|
||||
// Reject any named items
|
||||
if (ingredient.hasItemMeta()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
PotionData potionData = potion.getBasePotionData();
|
||||
ItemStack output = brew(ingredient.getType(), potionItem.getType(), potion, potionData);
|
||||
PotionMeta potion = (PotionMeta) potionItem.getItemMeta();
|
||||
|
||||
ItemStack output = brew(ingredient.getType(), potionItem.getType(), potion);
|
||||
|
||||
if (output == null) {
|
||||
return null;
|
||||
@ -144,8 +143,10 @@ public class AutoBrewer extends AContainer {
|
||||
}
|
||||
}
|
||||
|
||||
private ItemStack brew(Material input, Material potionType, PotionMeta potion, PotionData potionData) {
|
||||
if (potionData.getType() == PotionType.WATER) {
|
||||
private ItemStack brew(Material input, Material potionType, PotionMeta potion) {
|
||||
PotionData data = potion.getBasePotionData();
|
||||
|
||||
if (data.getType() == PotionType.WATER) {
|
||||
if (input == Material.FERMENTED_SPIDER_EYE) {
|
||||
potion.setBasePotionData(new PotionData(PotionType.WEAKNESS, false, false));
|
||||
return new ItemStack(potionType);
|
||||
@ -166,18 +167,18 @@ public class AutoBrewer extends AContainer {
|
||||
|
||||
}
|
||||
else if (input == Material.FERMENTED_SPIDER_EYE) {
|
||||
potion.setBasePotionData(new PotionData(fermentations.get(potionData.getType()), false, false));
|
||||
potion.setBasePotionData(new PotionData(fermentations.get(data.getType()), false, false));
|
||||
return new ItemStack(potionType);
|
||||
}
|
||||
else if (input == Material.REDSTONE) {
|
||||
potion.setBasePotionData(new PotionData(potionData.getType(), true, potionData.isUpgraded()));
|
||||
potion.setBasePotionData(new PotionData(data.getType(), true, data.isUpgraded()));
|
||||
return new ItemStack(potionType);
|
||||
}
|
||||
else if (input == Material.GLOWSTONE_DUST) {
|
||||
potion.setBasePotionData(new PotionData(potionData.getType(), potionData.isExtended(), true));
|
||||
potion.setBasePotionData(new PotionData(data.getType(), data.isExtended(), true));
|
||||
return new ItemStack(potionType);
|
||||
}
|
||||
else if (potionData.getType() == PotionType.AWKWARD && potionRecipes.containsKey(input)) {
|
||||
else if (data.getType() == PotionType.AWKWARD && potionRecipes.containsKey(input)) {
|
||||
potion.setBasePotionData(new PotionData(potionRecipes.get(input), false, false));
|
||||
return new ItemStack(potionType);
|
||||
}
|
||||
@ -213,11 +214,6 @@ public class AutoBrewer extends AContainer {
|
||||
return 6;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSpeed() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMachineIdentifier() {
|
||||
return "AUTO_BREWER";
|
||||
|
@ -4,13 +4,14 @@ import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.Rechargeable;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.AContainer;
|
||||
import me.mrCookieSlime.Slimefun.api.BlockStorage;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
import me.mrCookieSlime.Slimefun.api.energy.ChargableBlock;
|
||||
import me.mrCookieSlime.Slimefun.api.energy.ItemEnergy;
|
||||
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
|
||||
|
||||
public class ChargingBench extends AContainer {
|
||||
@ -50,38 +51,34 @@ public class ChargingBench extends AContainer {
|
||||
for (int slot : getInputSlots()) {
|
||||
ItemStack item = inv.getItemInSlot(slot);
|
||||
|
||||
if (ItemEnergy.getMaxEnergy(item) > 0) {
|
||||
charge(b, inv, slot, item);
|
||||
if (charge(b, inv, slot, item)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void charge(Block b, BlockMenu inv, int slot, ItemStack item) {
|
||||
if (ItemEnergy.getStoredEnergy(item) < ItemEnergy.getMaxEnergy(item)) {
|
||||
ChargableBlock.addCharge(b, -getEnergyConsumption());
|
||||
float rest = ItemEnergy.addStoredEnergy(item, getEnergyConsumption() / 2F);
|
||||
private boolean charge(Block b, BlockMenu inv, int slot, ItemStack item) {
|
||||
SlimefunItem sfItem = SlimefunItem.getByItem(item);
|
||||
|
||||
if (rest > 0F) {
|
||||
if (inv.fits(item, getOutputSlots())) {
|
||||
inv.pushItem(item, getOutputSlots());
|
||||
inv.replaceExistingItem(slot, null);
|
||||
}
|
||||
else {
|
||||
inv.replaceExistingItem(slot, item);
|
||||
}
|
||||
}
|
||||
else {
|
||||
inv.replaceExistingItem(slot, item);
|
||||
}
|
||||
if (sfItem instanceof Rechargeable) {
|
||||
float charge = getEnergyConsumption() / 2F;
|
||||
|
||||
if (((Rechargeable) sfItem).addItemCharge(item, charge)) {
|
||||
ChargableBlock.addCharge(b, -getEnergyConsumption());
|
||||
}
|
||||
else if (inv.fits(item, getOutputSlots())) {
|
||||
inv.pushItem(item, getOutputSlots());
|
||||
inv.replaceExistingItem(slot, null);
|
||||
}
|
||||
else {
|
||||
inv.replaceExistingItem(slot, item);
|
||||
|
||||
return true;
|
||||
}
|
||||
else if (sfItem != null && inv.fits(item, getOutputSlots())) {
|
||||
inv.pushItem(item, getOutputSlots());
|
||||
inv.replaceExistingItem(slot, null);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -72,7 +72,7 @@ public class GadgetsListener implements Listener {
|
||||
double thrust = ((Jetpack) chestplate).getThrust();
|
||||
|
||||
if (thrust > 0.2) {
|
||||
new JetpackTask(p, thrust).scheduleRepeating(0, 3);
|
||||
new JetpackTask(p, (Jetpack) chestplate).scheduleRepeating(0, 3);
|
||||
}
|
||||
}
|
||||
else if (chestplate instanceof Parachute) {
|
||||
@ -85,7 +85,7 @@ public class GadgetsListener implements Listener {
|
||||
double speed = ((JetBoots) boots).getSpeed();
|
||||
|
||||
if (speed > 0.2) {
|
||||
new JetBootsTask(p, speed).scheduleRepeating(0, 2);
|
||||
new JetBootsTask(p, (JetBoots) boots).scheduleRepeating(0, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -599,37 +599,37 @@ public final class SlimefunItemSetup {
|
||||
|
||||
new Jetpack(categories.technicalGadgets, SlimefunItems.DURALUMIN_JETPACK,
|
||||
new ItemStack[] {SlimefunItems.DURALUMIN_INGOT, null, SlimefunItems.DURALUMIN_INGOT, SlimefunItems.DURALUMIN_INGOT, SlimefunItems.POWER_CRYSTAL, SlimefunItems.DURALUMIN_INGOT, SlimefunItems.STEEL_THRUSTER, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.35)
|
||||
0.35, 20)
|
||||
.register(plugin);
|
||||
|
||||
new Jetpack(categories.technicalGadgets, SlimefunItems.SOLDER_JETPACK,
|
||||
new ItemStack[] {SlimefunItems.SOLDER_INGOT, null, SlimefunItems.SOLDER_INGOT, SlimefunItems.SOLDER_INGOT, SlimefunItems.POWER_CRYSTAL, SlimefunItems.SOLDER_INGOT, SlimefunItems.STEEL_THRUSTER, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.4)
|
||||
0.4, 30)
|
||||
.register(plugin);
|
||||
|
||||
new Jetpack(categories.technicalGadgets, SlimefunItems.BILLON_JETPACK,
|
||||
new ItemStack[] {SlimefunItems.BILLON_INGOT, null, SlimefunItems.BILLON_INGOT, SlimefunItems.BILLON_INGOT, SlimefunItems.POWER_CRYSTAL, SlimefunItems.BILLON_INGOT, SlimefunItems.STEEL_THRUSTER, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.45)
|
||||
0.45, 45)
|
||||
.register(plugin);
|
||||
|
||||
new Jetpack(categories.technicalGadgets, SlimefunItems.STEEL_JETPACK,
|
||||
new ItemStack[] {SlimefunItems.STEEL_INGOT, null, SlimefunItems.STEEL_INGOT, SlimefunItems.STEEL_INGOT, SlimefunItems.POWER_CRYSTAL, SlimefunItems.STEEL_INGOT, SlimefunItems.STEEL_THRUSTER, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.5)
|
||||
0.5, 60)
|
||||
.register(plugin);
|
||||
|
||||
new Jetpack(categories.technicalGadgets, SlimefunItems.DAMASCUS_STEEL_JETPACK,
|
||||
new ItemStack[] {SlimefunItems.DAMASCUS_STEEL_INGOT, null, SlimefunItems.DAMASCUS_STEEL_INGOT, SlimefunItems.DAMASCUS_STEEL_INGOT, SlimefunItems.POWER_CRYSTAL, SlimefunItems.DAMASCUS_STEEL_INGOT, SlimefunItems.STEEL_THRUSTER, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.55)
|
||||
0.55, 75)
|
||||
.register(plugin);
|
||||
|
||||
new Jetpack(categories.technicalGadgets, SlimefunItems.REINFORCED_ALLOY_JETPACK,
|
||||
new ItemStack[] {SlimefunItems.REINFORCED_ALLOY_INGOT, null, SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.POWER_CRYSTAL, SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.STEEL_THRUSTER, SlimefunItems.MEDIUM_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.6)
|
||||
0.6, 100)
|
||||
.register(plugin);
|
||||
|
||||
new Jetpack(categories.technicalGadgets, SlimefunItems.CARBONADO_JETPACK,
|
||||
new ItemStack[] {SlimefunItems.CARBON_CHUNK, null, SlimefunItems.CARBON_CHUNK, SlimefunItems.CARBONADO, SlimefunItems.POWER_CRYSTAL, SlimefunItems.CARBONADO, SlimefunItems.STEEL_THRUSTER, SlimefunItems.LARGE_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.7)
|
||||
0.7, 150)
|
||||
.register(plugin);
|
||||
|
||||
new Parachute(categories.technicalGadgets, SlimefunItems.PARACHUTE, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
@ -672,37 +672,37 @@ public final class SlimefunItemSetup {
|
||||
|
||||
new MultiTool(categories.technicalGadgets, SlimefunItems.DURALUMIN_MULTI_TOOL, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.DURALUMIN_INGOT, null, SlimefunItems.DURALUMIN_INGOT, SlimefunItems.DURALUMIN_INGOT, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.DURALUMIN_INGOT, null, SlimefunItems.DURALUMIN_INGOT, null},
|
||||
multiToolItems)
|
||||
20, multiToolItems)
|
||||
.register(plugin);
|
||||
|
||||
new MultiTool(categories.technicalGadgets, SlimefunItems.SOLDER_MULTI_TOOL, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.SOLDER_INGOT, null, SlimefunItems.SOLDER_INGOT, SlimefunItems.SOLDER_INGOT, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.SOLDER_INGOT, null, SlimefunItems.SOLDER_INGOT, null},
|
||||
multiToolItems)
|
||||
30, multiToolItems)
|
||||
.register(plugin);
|
||||
|
||||
new MultiTool(categories.technicalGadgets, SlimefunItems.BILLON_MULTI_TOOL, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.BILLON_INGOT, null, SlimefunItems.BILLON_INGOT, SlimefunItems.BILLON_INGOT, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.BILLON_INGOT, null, SlimefunItems.BILLON_INGOT, null},
|
||||
multiToolItems)
|
||||
40, multiToolItems)
|
||||
.register(plugin);
|
||||
|
||||
new MultiTool(categories.technicalGadgets, SlimefunItems.STEEL_MULTI_TOOL, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.STEEL_INGOT, null, SlimefunItems.STEEL_INGOT, SlimefunItems.STEEL_INGOT, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.STEEL_INGOT, null, SlimefunItems.STEEL_INGOT, null},
|
||||
multiToolItems)
|
||||
50, multiToolItems)
|
||||
.register(plugin);
|
||||
|
||||
new MultiTool(categories.technicalGadgets, SlimefunItems.DAMASCUS_STEEL_MULTI_TOOL, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.DAMASCUS_STEEL_INGOT, null, SlimefunItems.DAMASCUS_STEEL_INGOT, SlimefunItems.DAMASCUS_STEEL_INGOT, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.DAMASCUS_STEEL_INGOT, null, SlimefunItems.DAMASCUS_STEEL_INGOT, null},
|
||||
multiToolItems)
|
||||
60, multiToolItems)
|
||||
.register(plugin);
|
||||
|
||||
new MultiTool(categories.technicalGadgets, SlimefunItems.REINFORCED_ALLOY_MULTI_TOOL, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.REINFORCED_ALLOY_INGOT, null, SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.MEDIUM_CAPACITOR, SlimefunItems.REINFORCED_ALLOY_INGOT, null, SlimefunItems.REINFORCED_ALLOY_INGOT, null},
|
||||
multiToolItems)
|
||||
75, multiToolItems)
|
||||
.register(plugin);
|
||||
|
||||
new MultiTool(categories.technicalGadgets, SlimefunItems.CARBONADO_MULTI_TOOL, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.CARBONADO, null, SlimefunItems.CARBONADO, SlimefunItems.CARBONADO, SlimefunItems.LARGE_CAPACITOR, SlimefunItems.CARBONADO, null, SlimefunItems.CARBONADO, null},
|
||||
"PORTABLE_CRAFTER", "MAGIC_EYE_OF_ENDER", "STAFF_ELEMENTAL_WIND", "GRAPPLING_HOOK", "GOLD_PAN", "NETHER_GOLD_PAN")
|
||||
100, "PORTABLE_CRAFTER", "MAGIC_EYE_OF_ENDER", "STAFF_ELEMENTAL_WIND", "GRAPPLING_HOOK", "GOLD_PAN", "NETHER_GOLD_PAN")
|
||||
.register(plugin);
|
||||
|
||||
new OreWasher(categories.basicMachines, SlimefunItems.ORE_WASHER).register(plugin);
|
||||
@ -765,7 +765,8 @@ public final class SlimefunItemSetup {
|
||||
.register(plugin);
|
||||
|
||||
new SolarHelmet(categories.technicalGadgets, SlimefunItems.SOLAR_HELMET, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.SOLAR_PANEL, SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.REINFORCED_ALLOY_INGOT, null, SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.MEDIUM_CAPACITOR, null, SlimefunItems.MEDIUM_CAPACITOR})
|
||||
new ItemStack[] {SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.SOLAR_PANEL, SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.REINFORCED_ALLOY_INGOT, null, SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.MEDIUM_CAPACITOR, null, SlimefunItems.MEDIUM_CAPACITOR},
|
||||
0.1)
|
||||
.register(plugin);
|
||||
|
||||
new UnplaceableBlock(categories.magicalResources, SlimefunItems.LAVA_CRYSTAL, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
@ -1112,42 +1113,42 @@ public final class SlimefunItemSetup {
|
||||
|
||||
new JetBoots(categories.technicalGadgets, SlimefunItems.DURALUMIN_JETBOOTS,
|
||||
new ItemStack[] {null, null, null, SlimefunItems.DURALUMIN_INGOT, SlimefunItems.POWER_CRYSTAL, SlimefunItems.DURALUMIN_INGOT, SlimefunItems.STEEL_THRUSTER, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.35)
|
||||
0.35, 20)
|
||||
.register(plugin);
|
||||
|
||||
new JetBoots(categories.technicalGadgets, SlimefunItems.SOLDER_JETBOOTS,
|
||||
new ItemStack[] {null, null, null, SlimefunItems.SOLDER_INGOT, SlimefunItems.POWER_CRYSTAL, SlimefunItems.SOLDER_INGOT, SlimefunItems.STEEL_THRUSTER, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.4)
|
||||
0.4, 30)
|
||||
.register(plugin);
|
||||
|
||||
new JetBoots(categories.technicalGadgets, SlimefunItems.BILLON_JETBOOTS,
|
||||
new ItemStack[] {null, null, null, SlimefunItems.BILLON_INGOT, SlimefunItems.POWER_CRYSTAL, SlimefunItems.BILLON_INGOT, SlimefunItems.STEEL_THRUSTER, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.45)
|
||||
0.45, 40)
|
||||
.register(plugin);
|
||||
|
||||
new JetBoots(categories.technicalGadgets, SlimefunItems.STEEL_JETBOOTS,
|
||||
new ItemStack[] {null, null, null, SlimefunItems.STEEL_INGOT, SlimefunItems.POWER_CRYSTAL, SlimefunItems.STEEL_INGOT, SlimefunItems.STEEL_THRUSTER, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.5)
|
||||
0.5, 50)
|
||||
.register(plugin);
|
||||
|
||||
new JetBoots(categories.technicalGadgets, SlimefunItems.DAMASCUS_STEEL_JETBOOTS,
|
||||
new ItemStack[] {null, null, null, SlimefunItems.DAMASCUS_STEEL_INGOT, SlimefunItems.POWER_CRYSTAL, SlimefunItems.DAMASCUS_STEEL_INGOT, SlimefunItems.STEEL_THRUSTER, SlimefunItems.SMALL_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.55)
|
||||
0.55, 75)
|
||||
.register(plugin);
|
||||
|
||||
new JetBoots(categories.technicalGadgets, SlimefunItems.REINFORCED_ALLOY_JETBOOTS,
|
||||
new ItemStack[] {null, null, null, SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.POWER_CRYSTAL, SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.STEEL_THRUSTER, SlimefunItems.MEDIUM_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.6)
|
||||
0.6, 100)
|
||||
.register(plugin);
|
||||
|
||||
new JetBoots(categories.technicalGadgets, SlimefunItems.CARBONADO_JETBOOTS,
|
||||
new ItemStack[] {null, null, null, SlimefunItems.CARBONADO, SlimefunItems.POWER_CRYSTAL, SlimefunItems.CARBONADO, SlimefunItems.STEEL_THRUSTER, SlimefunItems.LARGE_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.7)
|
||||
0.7, 125)
|
||||
.register(plugin);
|
||||
|
||||
new JetBoots(categories.technicalGadgets, SlimefunItems.ARMORED_JETBOOTS,
|
||||
new ItemStack[] {null, null, null, SlimefunItems.STEEL_PLATE, SlimefunItems.POWER_CRYSTAL, SlimefunItems.STEEL_PLATE, SlimefunItems.STEEL_THRUSTER, SlimefunItems.MEDIUM_CAPACITOR, SlimefunItems.STEEL_THRUSTER},
|
||||
0.45)
|
||||
0.45, 50)
|
||||
.register(plugin);
|
||||
|
||||
new SeismicAxe(categories.weapons, SlimefunItems.SEISMIC_AXE, RecipeType.MAGIC_WORKBENCH,
|
||||
@ -1975,15 +1976,22 @@ public final class SlimefunItemSetup {
|
||||
new AutoDrier(categories.electricity, SlimefunItems.AUTO_DRIER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[]{null, null, null, SlimefunItems.HEATING_COIL, new ItemStack(Material.SMOKER), SlimefunItems.HEATING_COIL, null, new ItemStack(Material.CAMPFIRE), null})
|
||||
.register(plugin);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
new AutoDrier(categories.electricity, SlimefunItems.AUTO_DRIER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[]{null, null, null, SlimefunItems.HEATING_COIL, new ItemStack(Material.FURNACE), SlimefunItems.HEATING_COIL, null, new ItemStack(Material.TORCH), null})
|
||||
.register(plugin);
|
||||
}
|
||||
|
||||
new AutoBrewer(categories.electricity, SlimefunItems.AUTO_BREWER, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {null, SlimefunItems.HEATING_COIL, null, SlimefunItems.REINFORCED_PLATE, new ItemStack(Material.BREWING_STAND), SlimefunItems.REINFORCED_PLATE, null, SlimefunItems.ELECTRIC_MOTOR, null})
|
||||
.register(plugin);
|
||||
new ItemStack[] {null, SlimefunItems.HEATING_COIL, null, SlimefunItems.REINFORCED_PLATE, new ItemStack(Material.BREWING_STAND), SlimefunItems.REINFORCED_PLATE, null, SlimefunItems.ELECTRIC_MOTOR, null}) {
|
||||
|
||||
@Override
|
||||
public int getSpeed() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
}.register(plugin);
|
||||
|
||||
new ElectricPress(categories.electricity, SlimefunItems.ELECTRIC_PRESS, RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack[] {new ItemStack(Material.PISTON), SlimefunItems.ELECTRIC_MOTOR, new ItemStack(Material.PISTON), null, SlimefunItems.MEDIUM_CAPACITOR, null, SlimefunItems.DAMASCUS_STEEL_INGOT, SlimefunItems.DAMASCUS_STEEL_INGOT, SlimefunItems.DAMASCUS_STEEL_INGOT}) {
|
||||
|
@ -5,6 +5,8 @@ import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.World.Environment;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
@ -20,7 +22,6 @@ import io.github.thebusybiscuit.slimefun4.utils.SlimefunUtils;
|
||||
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||
import me.mrCookieSlime.Slimefun.api.energy.ItemEnergy;
|
||||
|
||||
/**
|
||||
* The {@link ArmorTask} is responsible for handling {@link PotionEffect PotionEffects} for
|
||||
@ -57,7 +58,11 @@ public class ArmorTask implements Runnable {
|
||||
HashedArmorpiece[] cachedArmor = profile.getArmor();
|
||||
|
||||
handleSlimefunArmor(p, armor, cachedArmor);
|
||||
|
||||
if (hasSunlight(p)) {
|
||||
checkForSolarHelmet(p);
|
||||
}
|
||||
|
||||
checkForRadiation(p);
|
||||
});
|
||||
}
|
||||
@ -89,20 +94,29 @@ public class ArmorTask implements Runnable {
|
||||
}
|
||||
|
||||
private void checkForSolarHelmet(Player p) {
|
||||
// Temporary performance improvement
|
||||
if (!SlimefunUtils.isItemSimilar(p.getInventory().getHelmet(), SlimefunItems.SOLAR_HELMET, true)) {
|
||||
ItemStack helmet = p.getInventory().getHelmet();
|
||||
|
||||
if (SlimefunPlugin.getRegistry().isBackwardsCompatible() && !SlimefunUtils.isItemSimilar(helmet, SlimefunItems.SOLAR_HELMET, true, false)) {
|
||||
// Performance saver for slow backwards-compatible versions of Slimefun
|
||||
return;
|
||||
}
|
||||
|
||||
SlimefunItem item = SlimefunItem.getByItem(p.getInventory().getHelmet());
|
||||
SlimefunItem item = SlimefunItem.getByItem(helmet);
|
||||
|
||||
if (item instanceof SolarHelmet && Slimefun.hasUnlocked(p, item, true) && hasSunlight(p)) {
|
||||
ItemEnergy.chargeInventory(p, (float) ((SolarHelmet) item).getChargeAmount());
|
||||
if (item instanceof SolarHelmet && Slimefun.hasUnlocked(p, item, true)) {
|
||||
((SolarHelmet) item).rechargeItems(p);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean hasSunlight(Player p) {
|
||||
return (p.getWorld().getTime() < 12300 || p.getWorld().getTime() > 23850) && p.getEyeLocation().getBlock().getLightFromSky() == 15;
|
||||
World world = p.getWorld();
|
||||
|
||||
if (world.getEnvironment() != Environment.NORMAL) {
|
||||
// The End and Nether have no sunlight
|
||||
return false;
|
||||
}
|
||||
|
||||
return (world.getTime() < 12300 || world.getTime() > 23850) && p.getEyeLocation().getBlock().getLightFromSky() == 15;
|
||||
}
|
||||
|
||||
private void checkForRadiation(Player p) {
|
||||
@ -111,6 +125,7 @@ public class ArmorTask implements Runnable {
|
||||
!SlimefunUtils.isItemSimilar(SlimefunItems.HAZMAT_CHESTPLATE, p.getInventory().getChestplate(), true) ||
|
||||
!SlimefunUtils.isItemSimilar(SlimefunItems.HAZMAT_LEGGINGS, p.getInventory().getLeggings(), true) ||
|
||||
!SlimefunUtils.isItemSimilar(SlimefunItems.RUBBER_BOOTS, p.getInventory().getBoots(), true)) {
|
||||
if (!SlimefunUtils.isItemSimilar(p.getInventory().getHelmet(), SlimefunItems.SCUBA_HELMET, true) || !SlimefunUtils.isItemSimilar(p.getInventory().getChestplate(), SlimefunItems.HAZMAT_CHESTPLATE, true) || !SlimefunUtils.isItemSimilar(p.getInventory().getLeggings(), SlimefunItems.HAZMAT_LEGGINGS, true) || !SlimefunUtils.isItemSimilar(p.getInventory().getBoots(), SlimefunItems.RUBBER_BOOTS, true)) {
|
||||
for (ItemStack item : p.getInventory()) {
|
||||
if (isRadioactive(p, item)) {
|
||||
break;
|
||||
|
@ -4,40 +4,45 @@ import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Effect;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import io.github.thebusybiscuit.cscorelib2.math.DoubleHandler;
|
||||
import me.mrCookieSlime.Slimefun.api.energy.ItemEnergy;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.items.electric.gadgets.JetBoots;
|
||||
|
||||
public class JetBootsTask extends PlayerTask {
|
||||
|
||||
private final double speed;
|
||||
private static final float COST = 0.075F;
|
||||
|
||||
public JetBootsTask(Player p, double speed) {
|
||||
private final JetBoots boots;
|
||||
|
||||
public JetBootsTask(Player p, JetBoots boots) {
|
||||
super(p);
|
||||
this.speed = speed;
|
||||
this.boots = boots;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void executeTask() {
|
||||
float cost = 0.075F;
|
||||
float charge = ItemEnergy.getStoredEnergy(p.getInventory().getBoots());
|
||||
double accuracy = DoubleHandler.fixDouble(speed - 0.7);
|
||||
if (p.getInventory().getBoots() == null || p.getInventory().getBoots().getType() == Material.AIR) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (charge >= cost) {
|
||||
p.getInventory().setBoots(ItemEnergy.chargeItem(p.getInventory().getBoots(), -cost));
|
||||
double accuracy = DoubleHandler.fixDouble(boots.getSpeed() - 0.7);
|
||||
|
||||
if (boots.removeItemCharge(p.getInventory().getBoots(), COST)) {
|
||||
p.getWorld().playSound(p.getLocation(), Sound.ENTITY_TNT_PRIMED, (float) 0.25, 1);
|
||||
p.getWorld().playEffect(p.getLocation(), Effect.SMOKE, 1, 1);
|
||||
p.setFallDistance(0F);
|
||||
double gravity = 0.04;
|
||||
double offset = ThreadLocalRandom.current().nextBoolean() ? accuracy : -accuracy;
|
||||
Vector vector = new Vector(p.getEyeLocation().getDirection().getX() * speed + offset, gravity, p.getEyeLocation().getDirection().getZ() * speed - offset);
|
||||
Vector vector = new Vector(p.getEyeLocation().getDirection().getX() * boots.getSpeed() + offset, gravity, p.getEyeLocation().getDirection().getZ() * boots.getSpeed() - offset);
|
||||
|
||||
p.setVelocity(vector);
|
||||
}
|
||||
else Bukkit.getScheduler().cancelTask(id);
|
||||
else {
|
||||
Bukkit.getScheduler().cancelTask(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,19 +2,22 @@ package io.github.thebusybiscuit.slimefun4.implementation.tasks;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Effect;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import me.mrCookieSlime.Slimefun.api.energy.ItemEnergy;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.items.electric.gadgets.Jetpack;
|
||||
|
||||
public class JetpackTask extends PlayerTask {
|
||||
|
||||
private final double thrust;
|
||||
private static final float COST = 0.08F;
|
||||
|
||||
public JetpackTask(Player p, double thrust) {
|
||||
private final Jetpack jetpack;
|
||||
|
||||
public JetpackTask(Player p, Jetpack jetpack) {
|
||||
super(p);
|
||||
this.thrust = thrust;
|
||||
this.jetpack = jetpack;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -24,17 +27,16 @@ public class JetpackTask extends PlayerTask {
|
||||
|
||||
@Override
|
||||
protected void executeTask() {
|
||||
float cost = 0.08F;
|
||||
float charge = ItemEnergy.getStoredEnergy(p.getInventory().getChestplate());
|
||||
|
||||
if (charge >= cost) {
|
||||
p.getInventory().setChestplate(ItemEnergy.chargeItem(p.getInventory().getChestplate(), -cost));
|
||||
if (p.getInventory().getChestplate() == null || p.getInventory().getChestplate().getType() == Material.AIR) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (jetpack.removeItemCharge(p.getInventory().getChestplate(), COST)) {
|
||||
p.getWorld().playSound(p.getLocation(), Sound.ENTITY_GENERIC_EXPLODE, (float) 0.25, 1);
|
||||
p.getWorld().playEffect(p.getLocation(), Effect.SMOKE, 1, 1);
|
||||
p.setFallDistance(0F);
|
||||
Vector vector = new Vector(0, 1, 0);
|
||||
vector.multiply(thrust);
|
||||
vector.multiply(jetpack.getThrust());
|
||||
vector.add(p.getEyeLocation().getDirection().multiply(0.2F));
|
||||
|
||||
p.setVelocity(vector);
|
||||
|
@ -1,5 +1,7 @@
|
||||
package io.github.thebusybiscuit.slimefun4.implementation.tasks;
|
||||
|
||||
import java.util.logging.Level;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
|
||||
@ -10,6 +12,7 @@ import io.github.thebusybiscuit.slimefun4.implementation.setup.PostSetup;
|
||||
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.api.BlockStorage;
|
||||
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||
|
||||
/**
|
||||
* This Task initializes all items, some listeners and various other stuff.
|
||||
@ -48,8 +51,13 @@ public class SlimefunStartupTask implements Runnable {
|
||||
SlimefunPlugin.getWorldSettingsService().load(Bukkit.getWorlds());
|
||||
|
||||
for (World world : Bukkit.getWorlds()) {
|
||||
try {
|
||||
new BlockStorage(world);
|
||||
}
|
||||
catch (Exception x) {
|
||||
Slimefun.getLogger().log(Level.SEVERE, x, () -> "An Error occured while trying to load World \"" + world.getName() + "\" for Slimefun v" + SlimefunPlugin.getVersion());
|
||||
}
|
||||
}
|
||||
|
||||
// Load all listeners that depend on items to be enabled
|
||||
|
||||
|
@ -87,4 +87,8 @@ public final class NumberUtils {
|
||||
public static int getInt(Integer value, int defaultValue) {
|
||||
return value == null ? defaultValue : value;
|
||||
}
|
||||
|
||||
public static float getFloat(Float value, float defaultValue) {
|
||||
return value == null ? defaultValue : value;
|
||||
}
|
||||
}
|
||||
|
@ -2,18 +2,30 @@ package me.mrCookieSlime.Slimefun.Objects.SlimefunItem;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.Rechargeable;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
import me.mrCookieSlime.Slimefun.api.energy.ItemEnergy;
|
||||
|
||||
// We need to refactor this class some day...
|
||||
// Add some methods or whatever, make it useful
|
||||
// (And also fix the typo in the name)
|
||||
/**
|
||||
* This class is deprecated.
|
||||
*
|
||||
* @deprecated Please implement the {@link Rechargeable} interface from now on.
|
||||
*
|
||||
* @author TheBusyBiscuit
|
||||
*
|
||||
*/
|
||||
@Deprecated
|
||||
public class ChargableItem extends SlimefunItem {
|
||||
public class ChargableItem extends SlimefunItem implements Rechargeable {
|
||||
|
||||
public ChargableItem(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) {
|
||||
super(category, item, recipeType, recipe);
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getMaxItemCharge(ItemStack item) {
|
||||
return ItemEnergy.getMaxEnergy(item);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -28,6 +28,7 @@ import io.github.thebusybiscuit.slimefun4.api.items.ItemState;
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.EnergyNetComponent;
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.Placeable;
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactive;
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.Rechargeable;
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.WitherProof;
|
||||
import io.github.thebusybiscuit.slimefun4.core.guide.SlimefunGuide;
|
||||
import io.github.thebusybiscuit.slimefun4.core.researching.Research;
|
||||
@ -462,12 +463,12 @@ public class SlimefunItem implements Placeable {
|
||||
}
|
||||
|
||||
public void setRecipeType(RecipeType type) {
|
||||
Validate.notNull(type, "'recipeType' is not allowed to be null!");
|
||||
Validate.notNull(type, "The RecipeType is not allowed to be null!");
|
||||
this.recipeType = type;
|
||||
}
|
||||
|
||||
public void setCategory(Category category) {
|
||||
Validate.notNull(category, "'category' is not allowed to be null!");
|
||||
Validate.notNull(category, "The Category is not allowed to be null!");
|
||||
|
||||
this.category.remove(this);
|
||||
category.add(this);
|
||||
@ -543,7 +544,7 @@ public class SlimefunItem implements Placeable {
|
||||
|
||||
// Backwards compatibility
|
||||
if (SlimefunPlugin.getMinecraftVersion().isBefore(MinecraftVersion.MINECRAFT_1_14) || SlimefunPlugin.getRegistry().isBackwardsCompatible()) {
|
||||
boolean loreInsensitive = this instanceof ChargableItem || this instanceof SlimefunBackpack || id.equals("BROKEN_SPAWNER") || id.equals("REINFORCED_SPAWNER");
|
||||
boolean loreInsensitive = this instanceof Rechargeable || this instanceof SlimefunBackpack || id.equals("BROKEN_SPAWNER") || id.equals("REINFORCED_SPAWNER");
|
||||
return SlimefunUtils.isItemSimilar(item, this.item, !loreInsensitive);
|
||||
}
|
||||
else {
|
||||
@ -804,19 +805,17 @@ public class SlimefunItem implements Placeable {
|
||||
return getByID(((SlimefunItemStack) item).getItemId());
|
||||
}
|
||||
|
||||
// This wrapper improves the heavy ItemStack#getItemMeta() call by caching it.
|
||||
ItemStackWrapper wrapper = new ItemStackWrapper(item);
|
||||
|
||||
if (item.hasItemMeta()) {
|
||||
Optional<String> itemID = SlimefunPlugin.getItemDataService().getItemData(wrapper);
|
||||
Optional<String> itemID = SlimefunPlugin.getItemDataService().getItemData(item);
|
||||
|
||||
if (itemID.isPresent()) {
|
||||
return getByID(itemID.get());
|
||||
}
|
||||
}
|
||||
|
||||
// Backwards compatibility
|
||||
if (SlimefunPlugin.getMinecraftVersion().isBefore(MinecraftVersion.MINECRAFT_1_14) || SlimefunPlugin.getRegistry().isBackwardsCompatible()) {
|
||||
// This wrapper improves the heavy ItemStack#getItemMeta() call by caching it.
|
||||
ItemStackWrapper wrapper = new ItemStackWrapper(item);
|
||||
|
||||
// Quite expensive performance-wise
|
||||
// But necessary for supporting legacy items
|
||||
for (SlimefunItem sfi : SlimefunPlugin.getRegistry().getAllSlimefunItems()) {
|
||||
|
@ -97,6 +97,10 @@ public class BlockStorage {
|
||||
public BlockStorage(World w) {
|
||||
this.world = w;
|
||||
|
||||
if (world.getName().indexOf('.') != -1) {
|
||||
throw new IllegalArgumentException("Slimefun cannot deal with World names that contain a dot: " + w.getName());
|
||||
}
|
||||
|
||||
if (SlimefunPlugin.getRegistry().getWorlds().containsKey(w.getName())) {
|
||||
// Cancel the loading process if the world was already loaded
|
||||
return;
|
||||
|
@ -10,8 +10,17 @@ import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import io.github.thebusybiscuit.cscorelib2.chat.ChatColors;
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.Rechargeable;
|
||||
import io.github.thebusybiscuit.slimefun4.utils.PatternUtils;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
|
||||
/**
|
||||
* @deprecated Please implement {@link Rechargeable} on your {@link SlimefunItem} instead.
|
||||
*
|
||||
* @author TheBusyBiscuit
|
||||
*
|
||||
*/
|
||||
@Deprecated
|
||||
public final class ItemEnergy {
|
||||
|
||||
// We should find a replacement for this class
|
||||
|
@ -23,3 +23,4 @@ slimefun:
|
||||
easter: Páscoa (abril)
|
||||
birthday: Aniversário do TheBusyBiscuit (26 de outubro)
|
||||
halloween: Halloween (31 de outubro)
|
||||
androids: Robôs e programação
|
||||
|
@ -23,3 +23,4 @@ slimefun:
|
||||
easter: 復活節
|
||||
birthday: TheBusyBiscuit的生日(10月26日)
|
||||
halloween: 萬聖節
|
||||
androids: 可編輯的機器人
|
||||
|
@ -1,249 +1,139 @@
|
||||
---
|
||||
android:
|
||||
scripts:
|
||||
already-uploaded: "&4Этот скрипт уже был загружен."
|
||||
editor: Редактор скриптов
|
||||
enter-name:
|
||||
-
|
||||
- "&eПожалуйста, введите название для Вашего скрипта"
|
||||
instructions:
|
||||
ATTACK_ANIMALS: "&4Атаковать &c(скот)"
|
||||
ATTACK_ANIMALS_ADULT: "&4Атаковать &c(скот &7[взрослый]&c)"
|
||||
ATTACK_MOBS: "&4Атаковать &c(враждебные мобы)"
|
||||
ATTACK_MOBS_ANIMALS: "&4Атаковать &c(враждебные мобы и скот)"
|
||||
CATCH_FISH: "&bВыловить рыбу"
|
||||
CHOP_TREE: "&cСрубить и пересадить"
|
||||
DIG_DOWN: "&bКопнуть вниз"
|
||||
DIG_FORWARD: "&bКопнуть вперёд"
|
||||
DIG_UP: "&bКопнуть вверх"
|
||||
FARM_DOWN: "&bСобрать урожай и пересадить &7(блок снизу)"
|
||||
FARM_EXOTIC_DOWN: "&bПродвинутая сборка урожая и пересадка &7(блок снизу)"
|
||||
FARM_EXOTIC_FORWARD: "&bПродвинутая сборка урожая и пересадка"
|
||||
FARM_FORWARD: "&bСобрать урожай и пересадить"
|
||||
GO_DOWN: "&7Двинуться вниз"
|
||||
GO_FORWARD: "&7Двинуться вперёд"
|
||||
GO_UP: "&7Двинуться вверх"
|
||||
INTERFACE_FUEL: "&cВосполнить топливо из хранилища спереди"
|
||||
INTERFACE_ITEMS: "&9Сложить хранимые предметы в хранилище спереди"
|
||||
MOVE_AND_DIG_DOWN: "&bДвинуться и копнуть вниз"
|
||||
MOVE_AND_DIG_FORWARD: "&bДвинуться и копнуть вперёд"
|
||||
MOVE_AND_DIG_UP: "&bДвинуться и копнуть вверх"
|
||||
REPEAT: "&9Повторить скрипт"
|
||||
START: "&2Начать работу скрипта"
|
||||
TURN_LEFT: "&7Повернуться налево"
|
||||
TURN_RIGHT: "&7Повернуться направо"
|
||||
WAIT: "&eПодождать 0.5с"
|
||||
rating:
|
||||
already: "&4Вы уже оценили этот скрипт!"
|
||||
own: "&4Вы не можете оценить свой скрипт!"
|
||||
uploaded:
|
||||
- "&bЗагрузка…"
|
||||
- "&aВаш скрипт успешно загружен!"
|
||||
started: "&7Ваш Андроид возобновил работу своего скрипта"
|
||||
stopped: "&7Ваш Андроид приостановил выполнение своего скрипта"
|
||||
anvil:
|
||||
not-working: "&4Вы не можете использовать Slimefun предметы в наковальне!"
|
||||
backpack:
|
||||
already-open: "&cИзвините, этот рюкзак уже открыт в другом месте!"
|
||||
no-stack: "&cВы не можете складывать рюкзаки вместе"
|
||||
commands:
|
||||
help: Вывести это меню помощи
|
||||
cheat: Войти в режим выдачи предметов
|
||||
give: Выдать Slimefun предметы
|
||||
guide: Получить руководство Slimefun
|
||||
help: Вывести это меню помощи
|
||||
timings: Вывести информацию о нагрузке сервера
|
||||
teleporter: Просмотреть контрольные точки других игроков
|
||||
versions: Вывести список установленных дополнений
|
||||
search: Поиск предметов по заданному запросу
|
||||
open_guide: Открыть руководство Slimefun
|
||||
stats: Вывести статистику игрока
|
||||
research:
|
||||
description: Выдать или сбросить исследования игрока
|
||||
reset: "&cВы сбросили исследования для игрока %player%"
|
||||
reset-target: "&cВаши исследования были сброшены"
|
||||
search: Поиск предметов по заданному запросу
|
||||
stats: Вывести статистику игрока
|
||||
teleporter: Просмотреть контрольные точки других игроков
|
||||
timings: Вывести информацию о нагрузке сервера
|
||||
versions: Вывести список установленных дополнений
|
||||
backpack:
|
||||
description: Заполучить копию существующего рюкзака
|
||||
invalid-id: "&4Идентификатор должен быть неотрицательным числом!"
|
||||
player-never-joined: "&4Игрок с таким ником не найден!"
|
||||
backpack-does-not-exist: "&4Указанный рюкзак не существует!"
|
||||
restored-backpack-given: "&aРюкзак был восстановлен и добавлен в Ваш инвентарь!"
|
||||
gps:
|
||||
deathpoint: "&4Точка смерти &7%date%"
|
||||
geo:
|
||||
scan-required: "&4Требуется геосканирование! &cПроанализируйте чанк при помощи
|
||||
GPS-геосканера для начала!"
|
||||
insufficient-complexity:
|
||||
- "&4Недостаточная общая сила сигнала GPS сети: &c%complexity%"
|
||||
- "&4а) Ваша GPS сеть пока что не подключена"
|
||||
- "&4б) У Вашей GPS сети недостаточная сила сигнала"
|
||||
waypoint:
|
||||
added: "&aКонтрольная точка успешно добавлена"
|
||||
max: "&4Вы достигли максимального количества контрольных точек"
|
||||
new: "&eПожалуйста, введите название новой контрольной точки в чат. &7(можно использовать
|
||||
цветовые коды!)"
|
||||
guide:
|
||||
back:
|
||||
guide: Вернуться к руководству Slimefun
|
||||
settings: Вернуться к настройкам
|
||||
title: Назад
|
||||
search:
|
||||
message: "&bЧто бы Вы хотели найти?"
|
||||
name: "&7Поиск…"
|
||||
tooltip: "&bНажмите для поиска предмета"
|
||||
inventory: 'Поиск: %item%'
|
||||
lore:
|
||||
- "&bЧто бы Вы хотели найти?"
|
||||
- "&7Введите поисковый запрос в чат"
|
||||
cheat:
|
||||
no-multiblocks: "&4Вы не можете выдать себе постройку, она должна быть построена
|
||||
в мире!"
|
||||
credits:
|
||||
commit: Коммит
|
||||
commits: Коммитов
|
||||
profile-link: Нажмите, чтобы посетить GitHub профиль
|
||||
roles:
|
||||
developer: "&6Разработчик"
|
||||
resourcepack: "&cТекстурщик"
|
||||
translator: "&9Локализатор"
|
||||
wiki: "&3Редактор Вики"
|
||||
languages:
|
||||
updated: "&aВаш язык успешно установлен на: &b%lang%"
|
||||
translations:
|
||||
name: "&aЧего-то не хватает?"
|
||||
lore: Нажмите, чтобы добавить свой перевод
|
||||
select: Нажмите для выбора этого языка
|
||||
select-default: Нажмите для выбора языка по умолчанию
|
||||
selected-language: 'Сейчас выбрано:'
|
||||
translations:
|
||||
lore: Нажмите, чтобы добавить свой перевод
|
||||
name: "&aЧего-то не хватает?"
|
||||
updated: "&aВаш язык успешно установлен на: &b%lang%"
|
||||
title:
|
||||
main: Руководство Slimefun
|
||||
settings: Информация и настройки
|
||||
languages: Выберите Ваш предпочитаемый язык
|
||||
credits: Авторы Slimefun4
|
||||
wiki: Slimefun4 Вики
|
||||
addons: Дополнения к Slimefun4
|
||||
bugs: Отчёты об ошибках
|
||||
source: Исходный код
|
||||
credits:
|
||||
commit: Коммит
|
||||
commits: Коммитов
|
||||
roles:
|
||||
developer: "&6Разработчик"
|
||||
wiki: "&3Редактор Вики"
|
||||
resourcepack: "&cТекстурщик"
|
||||
translator: "&9Локализатор"
|
||||
profile-link: Нажмите, чтобы посетить GitHub профиль
|
||||
pages:
|
||||
previous: Предыдущая страница
|
||||
next: Следующая страница
|
||||
tooltips:
|
||||
open-category: Нажмите, чтобы открыть
|
||||
versions-notice: Это очень важно, когда Вы сообщаете об ошибках!
|
||||
wiki: Просмотреть этот предмет на официальной Slimefun Вики
|
||||
recipes:
|
||||
machine: Рецепты, доступные в этой машине
|
||||
miner: Ресурсы, добываемые этим шахтёром
|
||||
generator: Доступные виды топлива
|
||||
gold-pan: Ресурсы, которые Вы можете получить
|
||||
back:
|
||||
title: Назад
|
||||
guide: Вернуться к руководству Slimefun
|
||||
settings: Вернуться к настройкам
|
||||
locked: ЗАБЛОКИРОВАНО
|
||||
locked-category:
|
||||
- Для начала Вы должны
|
||||
- разблокировать все предметы
|
||||
- из следующих категорий
|
||||
pages:
|
||||
next: Следующая страница
|
||||
previous: Предыдущая страница
|
||||
search:
|
||||
inventory: 'Поиск: %item%'
|
||||
lore:
|
||||
- "&bЧто бы Вы хотели найти?"
|
||||
- "&7Введите поисковый запрос в чат"
|
||||
message: "&bЧто бы Вы хотели найти?"
|
||||
name: "&7Поиск…"
|
||||
tooltip: "&bНажмите для поиска предмета"
|
||||
title:
|
||||
addons: Дополнения к Slimefun4
|
||||
bugs: Отчёты об ошибках
|
||||
credits: Авторы Slimefun4
|
||||
languages: Выберите Ваш предпочитаемый язык
|
||||
main: Руководство Slimefun
|
||||
settings: Информация и настройки
|
||||
source: Исходный код
|
||||
wiki: Slimefun4 Вики
|
||||
tooltips:
|
||||
open-category: Нажмите, чтобы открыть
|
||||
recipes:
|
||||
generator: Доступные виды топлива
|
||||
gold-pan: Ресурсы, которые Вы можете получить
|
||||
machine: Рецепты, доступные в этой машине
|
||||
miner: Ресурсы, добываемые этим шахтёром
|
||||
versions-notice: Это очень важно, когда Вы сообщаете об ошибках!
|
||||
wiki: Просмотреть этот предмет на официальной Slimefun Вики
|
||||
inventory:
|
||||
no-access: "&4У Вас нет доступа к этому блоку"
|
||||
languages:
|
||||
af: Бурский
|
||||
ar: Арабский
|
||||
be: Белорусский
|
||||
bg: Болгарский
|
||||
cs: Чешский
|
||||
da: Датский
|
||||
de: Немецкий
|
||||
default: По умолчанию
|
||||
el: Греческий
|
||||
en: Английский
|
||||
es: Испанский
|
||||
fa: Персидский
|
||||
fi: Финский
|
||||
fr: Французский
|
||||
he: Иврит
|
||||
hr: Хорватский
|
||||
hu: Венгерский
|
||||
id: Индонезийский
|
||||
it: Итальянский
|
||||
ja: Японский
|
||||
ko: Корейский
|
||||
lv: Латышский
|
||||
mk: Македонский
|
||||
ms: Малайский
|
||||
nl: Нидерландский
|
||||
'no': Норвержский
|
||||
pl: Польский
|
||||
pt: Португальский (Португалия)
|
||||
pt-BR: Португальский (Бразилия)
|
||||
ro: Румынский
|
||||
ru: Русский
|
||||
sk: Словацкий
|
||||
sr: Сербский
|
||||
sv: Шведский
|
||||
th: Тайский
|
||||
tr: Турецкий
|
||||
uk: Украинский
|
||||
vi: Вьетнамский
|
||||
zh-CN: Китайский (Китай)
|
||||
zh-TW: Китайский (Тайвань)
|
||||
machines:
|
||||
ANCIENT_ALTAR:
|
||||
not-enough-pedestals: "&4Алтарь не окружён необходимым количеством пьедесталов
|
||||
&c(%pedestals% / 8)"
|
||||
unknown-catalyst: "&4Неизвестный катализатор! &cИспользуйте правильный рецепт!"
|
||||
unknown-recipe: "&4Неизвестный рецепт! &cИспользуйте правильный рецепт!"
|
||||
ANCIENT_PEDESTAL:
|
||||
obstructed: "&4Что-то мешает! &cУбедитесь, что над пьедесталом ничего нет!"
|
||||
CARGO_NODES:
|
||||
must-be-placed: "&4Может быть прикреплён только к сундуку или машине!"
|
||||
ELEVATOR:
|
||||
click-to-teleport: "&eНажмите &7для перемещения на этот этаж:"
|
||||
current-floor: "&eВаш текущий этаж:"
|
||||
enter-name: "&7Пожалуйста, введите название для этажа в чат. &r(можно использовать
|
||||
цветовые коды!)"
|
||||
named: "&2Этаж успешно переименован: &r%floor%"
|
||||
no-destinations: "&4Этажи не найдены"
|
||||
pick-a-floor: "&3- Выберите пункт назначения -"
|
||||
full-inventory: "&eК сожалению, инвентарь уже заполнен!"
|
||||
GPS_CONTROL_PANEL:
|
||||
title: Панель управления GPS
|
||||
transmitters: Просмотр передатчиков
|
||||
waypoints: Просмотр контрольных точек
|
||||
HOLOGRAM_PROJECTOR:
|
||||
enter-text: "&7Пожалуйста, введите желаемый текст для голограммы в чат. &r(можно
|
||||
использовать цветовые коды!)"
|
||||
inventory-title: Редактирование голограммы
|
||||
ignition-chamber-no-flint: "&cАвтоматическая камера зажигания не смогла зажечь блок
|
||||
из-за отсутствия огнива."
|
||||
in-use: "&cИнвентарь этого блока уже открыт другим игроком."
|
||||
pattern-not-found: "&eК сожалению, не удалось распознать этот рецепт. Пожалуйста,
|
||||
разложите предметы в верной последовательности в раздатчик."
|
||||
TELEPORTER:
|
||||
cancelled: "&4Телепортация отменена!"
|
||||
gui:
|
||||
time: Расчётное время
|
||||
title: Ваши контрольные точки
|
||||
tooltip: Нажмите для телепортации
|
||||
invulnerability: "&b&lВы получили 30 секунд неуязвимости!"
|
||||
teleported: "&3Телепортировано!"
|
||||
teleporting: "&3Телепортация…"
|
||||
unknown-material: "&eК сожалению, не удалось распознать предмет в раздатчике. Пожалуйста,
|
||||
перепроверьте все предметы."
|
||||
wrong-item: "&eК сожалению, не удалось распознать предмет, которым Вы кликнули.
|
||||
Проверьте рецепты и посмотрите, какие предметы Вы можете использовать."
|
||||
INDUSTRIAL_MINER:
|
||||
no-fuel: "&cВаш промышленный шахтёр исчерпал всё топливо! Поместите топливо в
|
||||
сундук выше."
|
||||
piston-facing: "&cПоршни промышленного шахтёра должны быть направлены вверх!"
|
||||
piston-space: "&cПоршни должны иметь воздух над ними!"
|
||||
destroyed: "&cПохоже, что промышленный шахтёр был сломан."
|
||||
already-running: "&cВаш промышленный шахтёр уже работает!"
|
||||
full-chest: "&cСундук Вашего промышленного шахтёра переполнен!"
|
||||
no-permission: "&4У Вас нет прав, чтобы использовать промышленного шахтёра здесь!"
|
||||
finished: "&eВаш промышленный шахтёр закончил работу! Добыто руд: %ores%!"
|
||||
messages:
|
||||
cannot-place: "&cВы не можете поставить этот блок здесь!"
|
||||
diet-cookie: "&eВы ощущаете невероятное облегчение…"
|
||||
not-researched: "&4Вам не хватает знаний, чтобы понять это"
|
||||
not-enough-xp: "&4У Вас недостаточно опыта, чтобы исследовать это"
|
||||
unlocked: '&bВы исследовали &7"%research%"'
|
||||
only-players: "&4Эта команда предназначена только для игроков"
|
||||
unknown-player: "&4Неизвестный игрок: &c%player%"
|
||||
no-permission: "&4У Вас недостаточно прав, чтобы сделать это"
|
||||
usage: "&4Использование: &c%usage%"
|
||||
not-online: "&4%player% &cсейчас не в игре!"
|
||||
not-valid-item: "&4%item% &cне является допустимым предметом!"
|
||||
not-valid-amount: "&4%amount% &cне является допустимым числом: количество должно
|
||||
быть больше нуля!"
|
||||
given-item: '&bВам выдали &a%amount% &7"%item%&7"'
|
||||
give-item: '&bВы выдали игроку %player% &a%amount% &7"%item%&7"'
|
||||
not-valid-research: "&4%research% &cне является допустимым исследованием!"
|
||||
give-research: '&bВы выдали игроку %player% исследование &7"%research%&7"'
|
||||
hungry: "&cВы слишком голодны для этого!"
|
||||
mode-change: "&b%device% | Режим изменён на: &9%mode%"
|
||||
disabled-in-world: "&4&lДанный предмет отключен в этом мире"
|
||||
disabled-item: "&4&lЭтот предмет был отключен! Где Вы вообще его взяли?"
|
||||
no-tome-yourself: "&cВы не можете использовать &4том обмена знаниями &cна себе…"
|
||||
multimeter: "&bНакопленное электричество: &3%stored% &b/ &3%capacity%"
|
||||
talisman:
|
||||
anvil: "&a&oВаш талисман сохранил инструмент от поломки"
|
||||
miner: "&a&oВаш талисман удвоил Ваш дроп"
|
||||
hunter: "&a&oВаш талисман удвоил Ваш дроп"
|
||||
lava: "&a&oВаш талисман спас Вас от лавового сжигания до смерти"
|
||||
water: "&a&oВаш талисман спас Вас от утопления"
|
||||
angel: "&a&oВаш талисман смягчил урон от падения"
|
||||
fire: "&a&oВаш талисман спас Вас от сгорания до смерти"
|
||||
magician: "&a&oВаш талисман прибавил Вам дополнительное зачарование"
|
||||
traveller: "&a&oВаш талисман повысил Вашу скорость"
|
||||
warrior: "&a&oВаш талисман повысил Вашу силу на некоторое время"
|
||||
knight: "&a&oВаш талисман выдал Вам 5 секунд регенерации"
|
||||
whirlwind: "&a&oВаш талисман отразил снаряд"
|
||||
wizard: "&a&oТалисман повысил уровень зачарования «Удача», но мог также ухудшить
|
||||
другие зачарования"
|
||||
soulbound-rune:
|
||||
fail: "&cВы можете привязать к себе только один предмет за раз."
|
||||
success: "&aВы успешно привязали этот предмет к себе! Он останется при Вас после
|
||||
смерти."
|
||||
research:
|
||||
start: "&7Древние духи шепчут загадочные слова в Ваше ухо!"
|
||||
progress: "&7Вы начинаете задаваться вопросом о &b%research% &e(%progress%)"
|
||||
fire-extinguish: "&7Вы погасили себя"
|
||||
cannot-place: "&cВы не можете поставить этот блок здесь!"
|
||||
no-pvp: "&cВы не можете вступать в PvP здесь!"
|
||||
radiation: "&4Вы подвергались смертельной радиации! &cИзбавьтесь от всех радиоактивных
|
||||
предметов или наденьте костюм химзащиты!"
|
||||
opening-guide: "&bОткрытие руководства, это может занять некоторое время…"
|
||||
opening-backpack: "&bОткрытие рюкзака, это может занять некоторое время…"
|
||||
no-iron-golem-heal: "&cЭтот предмет не является железным слитком. Его нельзя использовать
|
||||
для починки железных големов!"
|
||||
link-prompt: "&eНажмите сюда:"
|
||||
diet-cookie: "&eВы ощущаете невероятное облегчение…"
|
||||
fortune-cookie:
|
||||
- "&7Помогите! Я в плену на фабрике печений с предсказаниями!"
|
||||
- "&7Уже завтра ты умрёшь… от любезного Крипера"
|
||||
@ -257,56 +147,171 @@ messages:
|
||||
- "&742. Ответ – 42."
|
||||
- "&7Бед не ждите в этот день – Walshy гонит грусти тень."
|
||||
- "&7Никогда не копайте под себя!"
|
||||
give-item: '&bВы выдали игроку %player% &a%amount% &7"%item%&7"'
|
||||
given-item: '&bВам выдали &a%amount% &7"%item%&7"'
|
||||
give-research: '&bВы выдали игроку %player% исследование &7"%research%&7"'
|
||||
hungry: "&cВы слишком голодны для этого!"
|
||||
link-prompt: "&eНажмите сюда:"
|
||||
mode-change: "&b%device% | Режим изменён на: &9%mode%"
|
||||
multimeter: "&bНакопленное электричество: &3%stored% &b/ &3%capacity%"
|
||||
no-iron-golem-heal: "&cЭтот предмет не является железным слитком. Его нельзя использовать
|
||||
для починки железных големов!"
|
||||
no-permission: "&4У Вас недостаточно прав, чтобы сделать это"
|
||||
no-pvp: "&cВы не можете вступать в PvP здесь!"
|
||||
not-enough-xp: "&4У Вас недостаточно опыта, чтобы исследовать это"
|
||||
no-tome-yourself: "&cВы не можете использовать &4том обмена знаниями &cна себе…"
|
||||
not-online: "&4%player% &cсейчас не в игре!"
|
||||
not-researched: "&4Вам не хватает знаний, чтобы понять это"
|
||||
not-valid-amount: "&4%amount% &cне является допустимым числом: количество должно
|
||||
быть больше нуля!"
|
||||
not-valid-item: "&4%item% &cне является допустимым предметом!"
|
||||
not-valid-research: "&4%research% &cне является допустимым исследованием!"
|
||||
only-players: "&4Эта команда предназначена только для игроков"
|
||||
opening-backpack: "&bОткрытие рюкзака, это может занять некоторое время…"
|
||||
opening-guide: "&bОткрытие руководства, это может занять некоторое время…"
|
||||
radiation: "&4Вы подвергались смертельной радиации! &cИзбавьтесь от всех радиоактивных
|
||||
предметов или наденьте костюм химзащиты!"
|
||||
research:
|
||||
progress: "&7Вы начинаете задаваться вопросом о &b%research% &e(%progress%)"
|
||||
start: "&7Древние духи шепчут загадочные слова в Ваше ухо!"
|
||||
soulbound-rune:
|
||||
fail: "&cВы можете привязать к себе только один предмет за раз."
|
||||
success: "&aВы успешно привязали этот предмет к себе! Он останется при Вас после
|
||||
смерти."
|
||||
talisman:
|
||||
angel: "&a&oВаш талисман смягчил урон от падения"
|
||||
anvil: "&a&oВаш талисман сохранил инструмент от поломки"
|
||||
fire: "&a&oВаш талисман спас Вас от сгорания до смерти"
|
||||
hunter: "&a&oВаш талисман удвоил Ваш дроп"
|
||||
knight: "&a&oВаш талисман выдал Вам 5 секунд регенерации"
|
||||
lava: "&a&oВаш талисман спас Вас от лавового сжигания до смерти"
|
||||
magician: "&a&oВаш талисман прибавил Вам дополнительное зачарование"
|
||||
miner: "&a&oВаш талисман удвоил Ваш дроп"
|
||||
traveller: "&a&oВаш талисман повысил Вашу скорость"
|
||||
warrior: "&a&oВаш талисман повысил Вашу силу на некоторое время"
|
||||
water: "&a&oВаш талисман спас Вас от утопления"
|
||||
whirlwind: "&a&oВаш талисман отразил снаряд"
|
||||
wizard: "&a&oТалисман повысил уровень зачарования «Удача», но мог также ухудшить
|
||||
другие зачарования"
|
||||
unknown-player: "&4Неизвестный игрок: &c%player%"
|
||||
unlocked: '&bВы исследовали &7"%research%"'
|
||||
usage: "&4Использование: &c%usage%"
|
||||
miner:
|
||||
no-ores: "&eК сожалению, не удалось найти какую-либо руду поблизости!"
|
||||
- "&7Это всего лишь царапина!"
|
||||
- "&7Всегда смотрите на светлую сторону жизни!"
|
||||
- "&7Вы съели странное печенье, до жути напоминающее бисквит"
|
||||
- "&7Неоновые таблички просто ШИК!"
|
||||
machines:
|
||||
pattern-not-found: "&eК сожалению, не удалось распознать этот рецепт. Пожалуйста,
|
||||
разложите предметы в верной последовательности в раздатчик."
|
||||
unknown-material: "&eК сожалению, не удалось распознать предмет в раздатчике. Пожалуйста,
|
||||
перепроверьте все предметы."
|
||||
wrong-item: "&eК сожалению, не удалось распознать предмет, которым Вы кликнули.
|
||||
Проверьте рецепты и посмотрите, какие предметы Вы можете использовать."
|
||||
full-inventory: "&eК сожалению, инвентарь уже заполнен!"
|
||||
in-use: "&cИнвентарь этого блока уже открыт другим игроком."
|
||||
ignition-chamber-no-flint: "&cАвтоматическая камера зажигания не смогла зажечь блок
|
||||
из-за отсутствия огнива."
|
||||
ANCIENT_ALTAR:
|
||||
not-enough-pedestals: "&4Алтарь не окружён необходимым количеством пьедесталов
|
||||
&c(%pedestals% / 8)"
|
||||
unknown-catalyst: "&4Неизвестный катализатор! &cИспользуйте правильный рецепт!"
|
||||
unknown-recipe: "&4Неизвестный рецепт! &cИспользуйте правильный рецепт!"
|
||||
ANCIENT_PEDESTAL:
|
||||
obstructed: "&4Что-то мешает! &cУбедитесь, что над пьедесталом ничего нет!"
|
||||
HOLOGRAM_PROJECTOR:
|
||||
enter-text: "&7Пожалуйста, введите желаемый текст для голограммы в чат. &r(можно
|
||||
использовать цветовые коды!)"
|
||||
inventory-title: Редактирование голограммы
|
||||
ELEVATOR:
|
||||
no-destinations: "&4Этажи не найдены"
|
||||
pick-a-floor: "&3- Выберите пункт назначения -"
|
||||
current-floor: "&eВаш текущий этаж:"
|
||||
click-to-teleport: "&eНажмите &7для перемещения на этот этаж:"
|
||||
enter-name: "&7Пожалуйста, введите название для этажа в чат. &r(можно использовать
|
||||
цветовые коды!)"
|
||||
named: "&2Этаж успешно переименован: &r%floor%"
|
||||
TELEPORTER:
|
||||
teleporting: "&3Телепортация…"
|
||||
teleported: "&3Телепортировано!"
|
||||
cancelled: "&4Телепортация отменена!"
|
||||
invulnerability: "&b&lВы получили 30 секунд неуязвимости!"
|
||||
gui:
|
||||
title: Ваши контрольные точки
|
||||
tooltip: Нажмите для телепортации
|
||||
time: Расчётное время
|
||||
CARGO_NODES:
|
||||
must-be-placed: "&4Может быть прикреплён только к сундуку или машине!"
|
||||
GPS_CONTROL_PANEL:
|
||||
title: Панель управления GPS
|
||||
transmitters: Просмотр передатчиков
|
||||
waypoints: Просмотр контрольных точек
|
||||
INDUSTRIAL_MINER:
|
||||
no-fuel: "&cВаш промышленный шахтёр исчерпал всё топливо! Поместите топливо в
|
||||
сундук выше."
|
||||
piston-facing: "&cПоршни промышленного шахтёра должны быть направлены вверх!"
|
||||
piston-space: "&cПоршни должны иметь воздух над ними!"
|
||||
destroyed: "&cПохоже, что промышленный шахтёр был сломан."
|
||||
already-running: "&cВаш промышленный шахтёр уже работает!"
|
||||
full-chest: "&cСундук Вашего промышленного шахтёра переполнен!"
|
||||
no-permission: "&4У Вас нет прав, чтобы использовать промышленного шахтёра здесь!"
|
||||
finished: "&eВаш промышленный шахтёр закончил работу! Добыто руд: %ores%!"
|
||||
anvil:
|
||||
not-working: "&4Вы не можете использовать Slimefun предметы в наковальне!"
|
||||
backpack:
|
||||
already-open: "&cИзвините, этот рюкзак уже открыт в другом месте!"
|
||||
no-stack: "&cВы не можете складывать рюкзаки вместе"
|
||||
workbench:
|
||||
not-enhanced: "&4Вы не можете использовать Slimefun предметы в обычном верстаке"
|
||||
gps:
|
||||
deathpoint: "&4Точка смерти &7%date%"
|
||||
waypoint:
|
||||
new: "&eПожалуйста, введите название новой контрольной точки в чат. &7(можно использовать
|
||||
цветовые коды!)"
|
||||
added: "&aКонтрольная точка успешно добавлена"
|
||||
max: "&4Вы достигли максимального количества контрольных точек"
|
||||
insufficient-complexity:
|
||||
- "&4Недостаточная общая сила сигнала GPS сети: &c%complexity%"
|
||||
- "&4а) Ваша GPS сеть пока что не подключена"
|
||||
- "&4б) У Вашей GPS сети недостаточная сила сигнала"
|
||||
geo:
|
||||
scan-required: "&4Требуется геосканирование! &cПроанализируйте чанк при помощи
|
||||
GPS-геосканера для начала!"
|
||||
inventory:
|
||||
no-access: "&4У Вас нет доступа к этому блоку"
|
||||
android:
|
||||
started: "&7Ваш Андроид возобновил работу своего скрипта"
|
||||
stopped: "&7Ваш Андроид приостановил выполнение своего скрипта"
|
||||
scripts:
|
||||
already-uploaded: "&4Этот скрипт уже был загружен."
|
||||
instructions:
|
||||
START: "&2Начать работу скрипта"
|
||||
REPEAT: "&9Повторить скрипт"
|
||||
WAIT: "&eПодождать 0.5с"
|
||||
GO_FORWARD: "&7Двинуться вперёд"
|
||||
GO_UP: "&7Двинуться вверх"
|
||||
GO_DOWN: "&7Двинуться вниз"
|
||||
TURN_LEFT: "&7Повернуться налево"
|
||||
TURN_RIGHT: "&7Повернуться направо"
|
||||
DIG_UP: "&bКопнуть вверх"
|
||||
DIG_FORWARD: "&bКопнуть вперёд"
|
||||
DIG_DOWN: "&bКопнуть вниз"
|
||||
MOVE_AND_DIG_UP: "&bДвинуться и копнуть вверх"
|
||||
MOVE_AND_DIG_FORWARD: "&bДвинуться и копнуть вперёд"
|
||||
MOVE_AND_DIG_DOWN: "&bДвинуться и копнуть вниз"
|
||||
ATTACK_MOBS_ANIMALS: "&4Атаковать &c(враждебные мобы и скот)"
|
||||
ATTACK_MOBS: "&4Атаковать &c(враждебные мобы)"
|
||||
ATTACK_ANIMALS: "&4Атаковать &c(скот)"
|
||||
ATTACK_ANIMALS_ADULT: "&4Атаковать &c(скот &7[взрослый]&c)"
|
||||
CHOP_TREE: "&cСрубить и пересадить"
|
||||
CATCH_FISH: "&bВыловить рыбу"
|
||||
FARM_FORWARD: "&bСобрать урожай и пересадить"
|
||||
FARM_DOWN: "&bСобрать урожай и пересадить &7(блок снизу)"
|
||||
FARM_EXOTIC_FORWARD: "&bПродвинутая сборка урожая и пересадка"
|
||||
FARM_EXOTIC_DOWN: "&bПродвинутая сборка урожая и пересадка &7(блок снизу)"
|
||||
INTERFACE_ITEMS: "&9Сложить хранимые предметы в хранилище спереди"
|
||||
INTERFACE_FUEL: "&cВосполнить топливо из хранилища спереди"
|
||||
enter-name:
|
||||
-
|
||||
- "&eПожалуйста, введите название для Вашего скрипта"
|
||||
uploaded:
|
||||
- "&bЗагрузка…"
|
||||
- "&aВаш скрипт успешно загружен!"
|
||||
rating:
|
||||
own: "&4Вы не можете оценить свой скрипт!"
|
||||
already: "&4Вы уже оценили этот скрипт!"
|
||||
editor: Редактор скриптов
|
||||
languages:
|
||||
default: По умолчанию
|
||||
en: Английский
|
||||
de: Немецкий
|
||||
fr: Французский
|
||||
it: Итальянский
|
||||
es: Испанский
|
||||
pl: Польский
|
||||
sv: Шведский
|
||||
nl: Нидерландский
|
||||
cs: Чешский
|
||||
hu: Венгерский
|
||||
lv: Латышский
|
||||
ru: Русский
|
||||
sk: Словацкий
|
||||
zh-TW: Китайский (Тайвань)
|
||||
vi: Вьетнамский
|
||||
id: Индонезийский
|
||||
zh-CN: Китайский (Китай)
|
||||
el: Греческий
|
||||
he: Иврит
|
||||
ar: Арабский
|
||||
af: Бурский
|
||||
da: Датский
|
||||
fi: Финский
|
||||
uk: Украинский
|
||||
ms: Малайский
|
||||
'no': Норвержский
|
||||
ja: Японский
|
||||
fa: Персидский
|
||||
th: Тайский
|
||||
ro: Румынский
|
||||
pt: Португальский (Португалия)
|
||||
pt-BR: Португальский (Бразилия)
|
||||
bg: Болгарский
|
||||
ko: Корейский
|
||||
tr: Турецкий
|
||||
hr: Хорватский
|
||||
mk: Македонский
|
||||
sr: Сербский
|
||||
be: Белорусский
|
||||
tl: Тагальский
|
||||
miner:
|
||||
no-ores: "&eК сожалению, не удалось найти какую-либо руду поблизости!"
|
||||
|
@ -1,244 +1,135 @@
|
||||
---
|
||||
android:
|
||||
scripts:
|
||||
already-uploaded: "&4Цей скрипт вже було завантажено."
|
||||
editor: Редактор скриптів
|
||||
enter-name:
|
||||
-
|
||||
- "&eБудь ласка, введіть назву для Вашого скрипту"
|
||||
instructions:
|
||||
ATTACK_ANIMALS: "&4Атакувати &c(тварини)"
|
||||
ATTACK_ANIMALS_ADULT: "&4Атакувати &c(тварини &7[дорослі]&c)"
|
||||
ATTACK_MOBS: "&4Атакувати &c(ворожі моби)"
|
||||
ATTACK_MOBS_ANIMALS: "&4Атакувати &c(ворожі моби та тварини)"
|
||||
CATCH_FISH: "&bВиловити рибу"
|
||||
CHOP_TREE: "&cЗрубати та пересадити"
|
||||
DIG_DOWN: "&bКопнути вниз"
|
||||
DIG_FORWARD: "&bКопнути вперед"
|
||||
DIG_UP: "&bКопнути вгору"
|
||||
FARM_DOWN: "&bЗібрати врожай та пересадити &7(блок знизу)"
|
||||
FARM_EXOTIC_DOWN: "&bПрогресивне збирання врожаю та пересадка &7(блок знизу)"
|
||||
FARM_EXOTIC_FORWARD: "&bПрогресивне збирання врожаю та пересадка"
|
||||
FARM_FORWARD: "&bЗібрати врожай та пересадити"
|
||||
GO_DOWN: "&7Рушити вниз"
|
||||
GO_FORWARD: "&7Рушити вперед"
|
||||
GO_UP: "&7Рушити вгору"
|
||||
INTERFACE_FUEL: "&cПоповнити запаси палива зі сховища спереду"
|
||||
INTERFACE_ITEMS: "&9Скласти збережені предмети в сховище спереду"
|
||||
MOVE_AND_DIG_DOWN: "&bРушити та копнути вниз"
|
||||
MOVE_AND_DIG_FORWARD: "&bРушити та копнути вперед"
|
||||
MOVE_AND_DIG_UP: "&bРушити та копнути вверх"
|
||||
REPEAT: "&9Повторити виконання скрипту"
|
||||
START: "&2Розпочати виконання скрипту"
|
||||
TURN_LEFT: "&7Повернутись наліво"
|
||||
TURN_RIGHT: "&7Повернутись направо"
|
||||
WAIT: "&eЗачекати 0.5с"
|
||||
rating:
|
||||
already: "&4Ви вже оцінили цей скрипт!"
|
||||
own: "&4Ви не можете оцінити власний скрипт!"
|
||||
uploaded:
|
||||
- "&bЗавантаження…"
|
||||
- "&aВаш скрипт успішно завантажено!"
|
||||
started: "&7Ваш Андроїд продовжив виконання свого скрипту"
|
||||
stopped: "&7Ваш Андроїд призупинив виконання свого скрипту"
|
||||
anvil:
|
||||
not-working: "&4Ви не можете використовувати Slimefun предмети в наковальні!"
|
||||
backpack:
|
||||
already-open: "&cВибачте, цей рюкзак уже відкрито в іншому місці!"
|
||||
no-stack: "&cВи не можете складати рюкзаки разом"
|
||||
commands:
|
||||
help: Вивести цей екран допомоги
|
||||
cheat: Увійти в режим видачі предметів
|
||||
give: Видача Slimefun предметів
|
||||
guide: Отримати посібник Slimefun
|
||||
help: Вивести цей екран допомоги
|
||||
timings: Вивести інформацію про нагрузку сервера
|
||||
teleporter: Перегляд контрольних точок інших гравців
|
||||
versions: Вивести список установлених доповнень
|
||||
search: Пошук предметів по заданому запиту
|
||||
open_guide: Відкрити посібник Slimefun
|
||||
stats: Вивести статистику гравця
|
||||
research:
|
||||
description: Видати або скинути дослідження гравця
|
||||
reset: "&cВи скинули дослідження гравця %player%"
|
||||
reset-target: "&cВаші дослідження були скинуті"
|
||||
search: Пошук предметів по заданому запиту
|
||||
stats: Вивести статистику гравця
|
||||
teleporter: Перегляд контрольних точок інших гравців
|
||||
timings: Вивести інформацію про нагрузку сервера
|
||||
versions: Вивести список установлених доповнень
|
||||
backpack:
|
||||
description: Отримати копію існуючого рюкзака
|
||||
invalid-id: "&4Ідентифікатор повинен бути невід’ємним числом!"
|
||||
player-never-joined: "&4Гравця з таким ніком не знайдено!"
|
||||
backpack-does-not-exist: "&4Вказаний рюкзак не існує!"
|
||||
restored-backpack-given: "&aРюкзак відновлено та додано в Ваш інвентар!"
|
||||
gps:
|
||||
deathpoint: "&4Точка смерті &7%date%"
|
||||
geo:
|
||||
scan-required: "&4Необхідне геосканування! &cПроскануйте цей чанк геосканером
|
||||
спочатку!"
|
||||
insufficient-complexity:
|
||||
- "&4Недостатня загальна сила GPS мережі: &c%complexity%"
|
||||
- "&4а) Ваша GPS мережа ще не під’эднана"
|
||||
- "&4б) У Вашої GPS мережі недостатня сила сигналу"
|
||||
waypoint:
|
||||
added: "&aКонтрольну точку успішно додано"
|
||||
max: "&4Ви досягли максимальної кількості контрольних точок"
|
||||
new: "&eБудь ласка, введіть назву для контрольної точки в чат. &7(кольори підтримуються!)"
|
||||
guide:
|
||||
back:
|
||||
guide: Повернутись до посібника Slimefun
|
||||
settings: Повернутись до панелі налаштувань
|
||||
title: Назад
|
||||
search:
|
||||
message: "&bЩо би Ви бажали знайти?"
|
||||
name: "&7Пошук…"
|
||||
tooltip: "&bНатисніть для пошуку предмету"
|
||||
inventory: 'Пошук: %item%'
|
||||
cheat:
|
||||
no-multiblocks: "&4Ви не можете видати собі споруду, вона повинна бути побудована!"
|
||||
credits:
|
||||
commit: Коміт
|
||||
commits: Комітів
|
||||
profile-link: Натисніть, щоб відвідати GitHub профіль
|
||||
roles:
|
||||
developer: "&6Розробник"
|
||||
resourcepack: "&cТекстурщик"
|
||||
translator: "&9Локалізатор"
|
||||
wiki: "&3Редактор Вікі"
|
||||
languages:
|
||||
updated: "&aВашу мову було успішно встановлено на: &b%lang%"
|
||||
translations:
|
||||
name: "&aЧогось не вистачає?"
|
||||
lore: Натисніть, щоб додати свій переклад
|
||||
select: Натисніть для вибору цієї мови
|
||||
select-default: Натисніть для вибору стандартної мови
|
||||
selected-language: 'Наразі обрано:'
|
||||
translations:
|
||||
lore: Натисніть, щоб додати свій переклад
|
||||
name: "&aЧогось не вистачає?"
|
||||
updated: "&aВашу мову було успішно встановлено на: &b%lang%"
|
||||
title:
|
||||
main: Посібник Slimefun
|
||||
settings: Налаштування та інформація
|
||||
languages: Виберіть бажану мову
|
||||
credits: Автори Slimefun4
|
||||
wiki: Slimefun4 Вікі
|
||||
addons: Доповнення до Slimefun4
|
||||
bugs: Звіти про помилки
|
||||
source: Вихідний код
|
||||
credits:
|
||||
commit: Коміт
|
||||
commits: Комітів
|
||||
roles:
|
||||
developer: "&6Розробник"
|
||||
wiki: "&3Редактор Вікі"
|
||||
resourcepack: "&cТекстурщик"
|
||||
translator: "&9Локалізатор"
|
||||
profile-link: Натисніть, щоб відвідати GitHub профіль
|
||||
pages:
|
||||
previous: Попередня сторінка
|
||||
next: Наступна сторінка
|
||||
tooltips:
|
||||
open-category: Натисніть, що відкрити
|
||||
versions-notice: Це дуже важливо, коли Ви повідомляєте про помилки!
|
||||
wiki: Переглянути цей предмет на офіційній Slimefun Вікі
|
||||
recipes:
|
||||
machine: Рецепти, доступні у цій машині
|
||||
miner: Ресурси, що видобуваються цим шахтарем
|
||||
generator: Доступні види палива
|
||||
gold-pan: Ресурси, які Ви можете отримати
|
||||
back:
|
||||
title: Назад
|
||||
guide: Повернутись до посібника Slimefun
|
||||
settings: Повернутись до панелі налаштувань
|
||||
locked: ЗАКРИТО
|
||||
locked-category:
|
||||
- Для розблокування цієї категорії
|
||||
- спочатку відкрийте всі предмети
|
||||
- з категорій нижче
|
||||
pages:
|
||||
next: Наступна сторінка
|
||||
previous: Попередня сторінка
|
||||
search:
|
||||
inventory: 'Пошук: %item%'
|
||||
message: "&bЩо би Ви бажали знайти?"
|
||||
name: "&7Пошук…"
|
||||
tooltip: "&bНатисніть для пошуку предмету"
|
||||
title:
|
||||
addons: Доповнення до Slimefun4
|
||||
bugs: Звіти про помилки
|
||||
credits: Автори Slimefun4
|
||||
languages: Виберіть бажану мову
|
||||
main: Посібник Slimefun
|
||||
settings: Налаштування та інформація
|
||||
source: Вихідний код
|
||||
wiki: Slimefun4 Вікі
|
||||
tooltips:
|
||||
open-category: Натисніть, що відкрити
|
||||
recipes:
|
||||
generator: Доступні види палива
|
||||
gold-pan: Ресурси, які Ви можете отримати
|
||||
machine: Рецепти, доступні у цій машині
|
||||
miner: Ресурси, що видобуваються цим шахтарем
|
||||
versions-notice: Це дуже важливо, коли Ви повідомляєте про помилки!
|
||||
wiki: Переглянути цей предмет на офіційній Slimefun Вікі
|
||||
inventory:
|
||||
no-access: "&4У Вас немає доступу до цього блоку"
|
||||
languages:
|
||||
af: Бурська
|
||||
ar: Арабська
|
||||
be: Білоруська
|
||||
bg: Болгарська
|
||||
cs: Чеська
|
||||
da: Датська
|
||||
de: Німецька
|
||||
default: За замовчуванням
|
||||
el: Грецька
|
||||
en: Англійська
|
||||
es: Іспанська
|
||||
fa: Перська
|
||||
fi: Фінська
|
||||
fr: Французька
|
||||
he: Іврит
|
||||
hr: Хорватська
|
||||
hu: Угорська
|
||||
id: Індонезійська
|
||||
it: Італійська
|
||||
ja: Японська
|
||||
ko: Корейська
|
||||
lv: Латвійська
|
||||
mk: Македонська
|
||||
ms: Малайська
|
||||
nl: Голландська
|
||||
'no': Норвезька
|
||||
pl: Польська
|
||||
pt: Португальська (Португалія)
|
||||
pt-BR: Португальська (Бразилія)
|
||||
ro: Румунська
|
||||
ru: Російська
|
||||
sk: Словацька
|
||||
sr: Сербська
|
||||
sv: Шведська
|
||||
th: Тайська
|
||||
tr: Турецька
|
||||
uk: Українська
|
||||
vi: В’єтнамська
|
||||
zh-CN: Китайська (Китай)
|
||||
zh-TW: Китайська (Тайвань)
|
||||
machines:
|
||||
ANCIENT_ALTAR:
|
||||
not-enough-pedestals: "&4Вівтар не оточений необхідною кількістю п’єдесталів &c(%pedestals%
|
||||
/ 8)"
|
||||
unknown-catalyst: "&4Невідомий каталізатор! &cВикористовуйте правильний рецепт!"
|
||||
unknown-recipe: "&4Невідомий рецепт! &cВикористовуйте правильний рецепт!"
|
||||
ANCIENT_PEDESTAL:
|
||||
obstructed: "&4Щось мішає! &cВпевніться, що над п’єдесталом нічого немає!"
|
||||
CARGO_NODES:
|
||||
must-be-placed: "&4Повинно бути розміщено на сундуку або машині!"
|
||||
ELEVATOR:
|
||||
click-to-teleport: "&eКлацніть &7для переміщення на цей поверх:"
|
||||
current-floor: "&eВаш поверх:"
|
||||
enter-name: "&7Будь ласка, введіть назву для поверху в чат. &r(кольори підтримуються!)"
|
||||
named: "&2Поверх успішно названо: &r%floor%"
|
||||
no-destinations: "&4Поверхи не знайдено"
|
||||
pick-a-floor: "&3- Виберіть поверх -"
|
||||
full-inventory: "&eВибачте, інвентар переповнено!"
|
||||
GPS_CONTROL_PANEL:
|
||||
title: Контрольна панель GPS
|
||||
transmitters: Перегляд передавачів
|
||||
waypoints: Перегляд контрольних точок
|
||||
HOLOGRAM_PROJECTOR:
|
||||
enter-text: "&7Будь ласка, введіть бажаний текст для голограми в чат. &r(кольори
|
||||
підтримуються!)"
|
||||
inventory-title: Редагування голограми
|
||||
ignition-chamber-no-flint: "&cАвтоматична камера запалювання не змогла запалити
|
||||
блок через відсутність запальничок."
|
||||
in-use: "&cІнвентар цього блоку вже переглядає інший гравець."
|
||||
pattern-not-found: "&eНа жаль, не вдалось розпізнати цей рецепт. Будь ласка, розмістіть
|
||||
предмети у правильній послідовності у роздавач."
|
||||
TELEPORTER:
|
||||
cancelled: "&4Телепортацію відмінено!"
|
||||
gui:
|
||||
time: Розрахунковий час
|
||||
title: Ваші контрольні точки
|
||||
tooltip: Натисніть для телепортації
|
||||
invulnerability: "&b&lВи отримали 30 секунд невразливості!"
|
||||
teleported: "&3Телепортовано!"
|
||||
teleporting: "&3Телепортація…"
|
||||
unknown-material: "&eНа жаль, не вдалось розпізнати предмет у роздавачі. Будь ласка,
|
||||
перепровірте предмети."
|
||||
wrong-item: "&eНа жаль, не вдалось розпізнати предмет, яким Ви нажали. Провірте
|
||||
рецепти та гляньте, які предмети Ви можете використовувати."
|
||||
INDUSTRIAL_MINER:
|
||||
no-fuel: "&cУ Вашого промислового шахтаря закінчилося пальне! Розмістіть пальне
|
||||
у сундук вище."
|
||||
piston-facing: "&cПоршні Вашого промислового шахтаря повинні бути направлені вгору!"
|
||||
piston-space: "&cНад поршнями повинно бути повітря!"
|
||||
destroyed: "&cСхоже, що Вашого промислового шахтаря було знищено."
|
||||
already-running: "&cЦей промисловий шахтар вже працює!"
|
||||
full-chest: "&cСундук Вашого промислового шахтаря переповнено!"
|
||||
no-permission: "&4У Вас немає дозволу на використання промислового шахтаря у цьому
|
||||
місці!"
|
||||
finished: "&eВаш промисловий шахтар завершив роботу! Отримано руд: %ores%!"
|
||||
messages:
|
||||
cannot-place: "&cВи не можете поставити цей блок тут!"
|
||||
diet-cookie: "&eВи відчуваєте неймовірне полегшення…"
|
||||
not-researched: "&4Вам бракує знань, щоб зрозуміти це"
|
||||
not-enough-xp: "&4У Вас недостатньо опиту, щоб дослідити це"
|
||||
unlocked: '&bВи дослідили &7"%research%"'
|
||||
only-players: "&4Ця команда доступна лише для гравців"
|
||||
unknown-player: "&4Невідомий гравець: &c%player%"
|
||||
no-permission: "&4У Вас недостатньо прав для цього"
|
||||
usage: "&4Використання: &c%usage%"
|
||||
not-online: "&4%player% &cзараз не знаходиться у грі!"
|
||||
not-valid-item: "&4%item% &cне є достовірним предметом!"
|
||||
not-valid-amount: "&4%amount% &cне є допустимою кількістю: значення повинно бути
|
||||
більшим за 0!"
|
||||
given-item: '&bВам видали &a%amount% &7"%item%&7"'
|
||||
give-item: '&bВи видали гравцю %player% &a%amount% &7"%item%&7"'
|
||||
not-valid-research: "&4%research% &cне є правильним дослідженням!"
|
||||
give-research: '&bВи видали грацю %player% дослідження &7"%research%&7"'
|
||||
hungry: "&cВи занадто голодні для цього!"
|
||||
mode-change: "&b%device% | Режим змінено на: &9%mode%"
|
||||
disabled-in-world: "&4&lЦей предмет було відключено у цьому світі"
|
||||
disabled-item: "&4&lЦей предмет було відключено! Де Ви змогли його надибати?"
|
||||
no-tome-yourself: "&cВи не можете використати &4том обміну знаннями &cна собі…"
|
||||
multimeter: "&bНакопичена електрика: &3%stored% &b/ &3%capacity%"
|
||||
talisman:
|
||||
anvil: "&a&oВаш талісман зберіг інструмент від поломки"
|
||||
miner: "&a&oВаш талісман подвоїв Ваш дроп"
|
||||
hunter: "&a&oВаш талісман подвоїв Ваш дроп"
|
||||
lava: "&a&oВаш талісман врятував Вас від спалення до смерті"
|
||||
water: "&a&oВаш талісман врятував Вас від утоплення"
|
||||
angel: "&a&oВаш талісман пом'якшив пошкодження від падіння"
|
||||
fire: "&a&oВаш талісман врятував Вас від спалення до смерті"
|
||||
magician: "&a&oВаш талісман надав Вам додаткове зачарування"
|
||||
traveller: "&a&oВаш талісман надав Вам швидкості"
|
||||
warrior: "&a&oВаш талісман надав Вам силу на деякий час"
|
||||
knight: "&a&oВаш талісман надав Вам 5 секунд регенерації"
|
||||
whirlwind: "&a&oВаш талісман відобразив снаряд"
|
||||
wizard: "&a&oВаш талісман покращив рівень зачарування «Вдача», але також міг погіршити
|
||||
інші зачарування"
|
||||
soulbound-rune:
|
||||
fail: "&cВи можете прикріпити до себе лише один предмет за раз."
|
||||
success: "&aВи успішно прикріпили цей предмет до себе! Він залишиться з Вами після
|
||||
смерті."
|
||||
research:
|
||||
start: "&7Древні духи шепочуть загадкові слова в Ваше вухо!"
|
||||
progress: "&7Ви починаєте задумуватись над &b%research% &e(%progress%)"
|
||||
fire-extinguish: "&7Ви погасили себе"
|
||||
cannot-place: "&cВи не можете поставити цей блок тут!"
|
||||
no-pvp: "&cВи не можете вступати в PvP тут!"
|
||||
radiation: "&4Ви потрапили у дію небезпечної радіації! &cПозбавтесь радіоактивних
|
||||
предметів або одягніть костюм хімзахисту!"
|
||||
opening-guide: "&bВідкриваємо посібник, це може зайняти кілька секунд…"
|
||||
opening-backpack: "&bВідкриваємо рюкзак, це може зайняти кілька секунд…"
|
||||
no-iron-golem-heal: "&cЦей предмет не є залізним злитком. Його не можна використовувати
|
||||
для лагодження залізних големів!"
|
||||
link-prompt: "&eНатисніть сюди:"
|
||||
diet-cookie: "&eВи відчуваєте неймовірне полегшення…"
|
||||
fortune-cookie:
|
||||
- "&7Допоможіть мені! Я у пастці на фабриці печива долі!"
|
||||
- "&7Завтра ти помреш… від люб’язного Кріпера"
|
||||
@ -252,56 +143,170 @@ messages:
|
||||
- "&742. Відповідь – 42."
|
||||
- "&7Неприємності йдуть лісом – Walshy вже договорився з бісом."
|
||||
- "&7Ніколи не копайте вниз!"
|
||||
give-item: '&bВи видали гравцю %player% &a%amount% &7"%item%&7"'
|
||||
given-item: '&bВам видали &a%amount% &7"%item%&7"'
|
||||
give-research: '&bВи видали грацю %player% дослідження &7"%research%&7"'
|
||||
hungry: "&cВи занадто голодні для цього!"
|
||||
link-prompt: "&eНатисніть сюди:"
|
||||
mode-change: "&b%device% | Режим змінено на: &9%mode%"
|
||||
multimeter: "&bНакопичена електрика: &3%stored% &b/ &3%capacity%"
|
||||
no-iron-golem-heal: "&cЦей предмет не є залізним злитком. Його не можна використовувати
|
||||
для лагодження залізних големів!"
|
||||
no-permission: "&4У Вас недостатньо прав для цього"
|
||||
no-pvp: "&cВи не можете вступати в PvP тут!"
|
||||
not-enough-xp: "&4У Вас недостатньо опиту, щоб дослідити це"
|
||||
no-tome-yourself: "&cВи не можете використати &4том обміну знаннями &cна собі…"
|
||||
not-online: "&4%player% &cзараз не знаходиться у грі!"
|
||||
not-researched: "&4Вам бракує знань, щоб зрозуміти це"
|
||||
not-valid-amount: "&4%amount% &cне є допустимою кількістю: значення повинно бути
|
||||
більшим за 0!"
|
||||
not-valid-item: "&4%item% &cне є достовірним предметом!"
|
||||
not-valid-research: "&4%research% &cне є правильним дослідженням!"
|
||||
only-players: "&4Ця команда доступна лише для гравців"
|
||||
opening-backpack: "&bВідкриваємо рюкзак, це може зайняти кілька секунд…"
|
||||
opening-guide: "&bВідкриваємо посібник, це може зайняти кілька секунд…"
|
||||
radiation: "&4Ви потрапили у дію небезпечної радіації! &cПозбавтесь радіоактивних
|
||||
предметів або одягніть костюм хімзахисту!"
|
||||
research:
|
||||
progress: "&7Ви починаєте задумуватись над &b%research% &e(%progress%)"
|
||||
start: "&7Древні духи шепочуть загадкові слова в Ваше вухо!"
|
||||
soulbound-rune:
|
||||
fail: "&cВи можете прикріпити до себе лише один предмет за раз."
|
||||
success: "&aВи успішно прикріпили цей предмет до себе! Він залишиться з Вами після
|
||||
смерті."
|
||||
talisman:
|
||||
angel: "&a&oВаш талісман пом'якшив пошкодження від падіння"
|
||||
anvil: "&a&oВаш талісман зберіг інструмент від поломки"
|
||||
fire: "&a&oВаш талісман врятував Вас від спалення до смерті"
|
||||
hunter: "&a&oВаш талісман подвоїв Ваш дроп"
|
||||
knight: "&a&oВаш талісман надав Вам 5 секунд регенерації"
|
||||
lava: "&a&oВаш талісман врятував Вас від спалення до смерті"
|
||||
magician: "&a&oВаш талісман надав Вам додаткове зачарування"
|
||||
miner: "&a&oВаш талісман подвоїв Ваш дроп"
|
||||
traveller: "&a&oВаш талісман надав Вам швидкості"
|
||||
warrior: "&a&oВаш талісман надав Вам силу на деякий час"
|
||||
water: "&a&oВаш талісман врятував Вас від утоплення"
|
||||
whirlwind: "&a&oВаш талісман відобразив снаряд"
|
||||
wizard: "&a&oВаш талісман покращив рівень зачарування «Вдача», але також міг погіршити
|
||||
інші зачарування"
|
||||
unknown-player: "&4Невідомий гравець: &c%player%"
|
||||
unlocked: '&bВи дослідили &7"%research%"'
|
||||
usage: "&4Використання: &c%usage%"
|
||||
miner:
|
||||
no-ores: "&eНа жаль, не вдалось знайти руду поблизу!"
|
||||
- "&7Це лише подряпина!"
|
||||
- "&7Завжди дивіться на світлу сторону життя!"
|
||||
- "&7Цього разу попався бісквіт, а не печиво"
|
||||
- "&7Неонові таблички просто ШИК!"
|
||||
machines:
|
||||
pattern-not-found: "&eНа жаль, не вдалось розпізнати цей рецепт. Будь ласка, розмістіть
|
||||
предмети у правильній послідовності у роздавач."
|
||||
unknown-material: "&eНа жаль, не вдалось розпізнати предмет у роздавачі. Будь ласка,
|
||||
перепровірте предмети."
|
||||
wrong-item: "&eНа жаль, не вдалось розпізнати предмет, яким Ви нажали. Провірте
|
||||
рецепти та гляньте, які предмети Ви можете використовувати."
|
||||
full-inventory: "&eВибачте, інвентар переповнено!"
|
||||
in-use: "&cІнвентар цього блоку вже переглядає інший гравець."
|
||||
ignition-chamber-no-flint: "&cАвтоматична камера запалювання не змогла запалити
|
||||
блок через відсутність запальничок."
|
||||
ANCIENT_ALTAR:
|
||||
not-enough-pedestals: "&4Вівтар не оточений необхідною кількістю п’єдесталів &c(%pedestals%
|
||||
/ 8)"
|
||||
unknown-catalyst: "&4Невідомий каталізатор! &cВикористовуйте правильний рецепт!"
|
||||
unknown-recipe: "&4Невідомий рецепт! &cВикористовуйте правильний рецепт!"
|
||||
ANCIENT_PEDESTAL:
|
||||
obstructed: "&4Щось мішає! &cВпевніться, що над п’єдесталом нічого немає!"
|
||||
HOLOGRAM_PROJECTOR:
|
||||
enter-text: "&7Будь ласка, введіть бажаний текст для голограми в чат. &r(кольори
|
||||
підтримуються!)"
|
||||
inventory-title: Редагування голограми
|
||||
ELEVATOR:
|
||||
no-destinations: "&4Поверхи не знайдено"
|
||||
pick-a-floor: "&3- Виберіть поверх -"
|
||||
current-floor: "&eВаш поверх:"
|
||||
click-to-teleport: "&eКлацніть &7для переміщення на цей поверх:"
|
||||
enter-name: "&7Будь ласка, введіть назву для поверху в чат. &r(кольори підтримуються!)"
|
||||
named: "&2Поверх успішно названо: &r%floor%"
|
||||
TELEPORTER:
|
||||
teleporting: "&3Телепортація…"
|
||||
teleported: "&3Телепортовано!"
|
||||
cancelled: "&4Телепортацію відмінено!"
|
||||
invulnerability: "&b&lВи отримали 30 секунд невразливості!"
|
||||
gui:
|
||||
title: Ваші контрольні точки
|
||||
tooltip: Натисніть для телепортації
|
||||
time: Розрахунковий час
|
||||
CARGO_NODES:
|
||||
must-be-placed: "&4Повинно бути розміщено на сундуку або машині!"
|
||||
GPS_CONTROL_PANEL:
|
||||
title: Контрольна панель GPS
|
||||
transmitters: Перегляд передавачів
|
||||
waypoints: Перегляд контрольних точок
|
||||
INDUSTRIAL_MINER:
|
||||
no-fuel: "&cУ Вашого промислового шахтаря закінчилося пальне! Розмістіть пальне
|
||||
у сундук вище."
|
||||
piston-facing: "&cПоршні Вашого промислового шахтаря повинні бути направлені вгору!"
|
||||
piston-space: "&cНад поршнями повинно бути повітря!"
|
||||
destroyed: "&cСхоже, що Вашого промислового шахтаря було знищено."
|
||||
already-running: "&cЦей промисловий шахтар вже працює!"
|
||||
full-chest: "&cСундук Вашого промислового шахтаря переповнено!"
|
||||
no-permission: "&4У Вас немає дозволу на використання промислового шахтаря у цьому
|
||||
місці!"
|
||||
finished: "&eВаш промисловий шахтар завершив роботу! Отримано руд: %ores%!"
|
||||
anvil:
|
||||
not-working: "&4Ви не можете використовувати Slimefun предмети в наковальні!"
|
||||
backpack:
|
||||
already-open: "&cВибачте, цей рюкзак уже відкрито в іншому місці!"
|
||||
no-stack: "&cВи не можете складати рюкзаки разом"
|
||||
workbench:
|
||||
not-enhanced: "&4Ви не можете використовувати Slimefun предмети в звичайному верстаку"
|
||||
gps:
|
||||
deathpoint: "&4Точка смерті &7%date%"
|
||||
waypoint:
|
||||
new: "&eБудь ласка, введіть назву для контрольної точки в чат. &7(кольори підтримуються!)"
|
||||
added: "&aКонтрольну точку успішно додано"
|
||||
max: "&4Ви досягли максимальної кількості контрольних точок"
|
||||
insufficient-complexity:
|
||||
- "&4Недостатня загальна сила GPS мережі: &c%complexity%"
|
||||
- "&4а) Ваша GPS мережа ще не під’эднана"
|
||||
- "&4б) У Вашої GPS мережі недостатня сила сигналу"
|
||||
geo:
|
||||
scan-required: "&4Необхідне геосканування! &cПроскануйте цей чанк геосканером
|
||||
спочатку!"
|
||||
inventory:
|
||||
no-access: "&4У Вас немає доступу до цього блоку"
|
||||
android:
|
||||
started: "&7Ваш Андроїд продовжив виконання свого скрипту"
|
||||
stopped: "&7Ваш Андроїд призупинив виконання свого скрипту"
|
||||
scripts:
|
||||
already-uploaded: "&4Цей скрипт вже було завантажено."
|
||||
instructions:
|
||||
START: "&2Розпочати виконання скрипту"
|
||||
REPEAT: "&9Повторити виконання скрипту"
|
||||
WAIT: "&eЗачекати 0.5с"
|
||||
GO_FORWARD: "&7Рушити вперед"
|
||||
GO_UP: "&7Рушити вгору"
|
||||
GO_DOWN: "&7Рушити вниз"
|
||||
TURN_LEFT: "&7Повернутись наліво"
|
||||
TURN_RIGHT: "&7Повернутись направо"
|
||||
DIG_UP: "&bКопнути вгору"
|
||||
DIG_FORWARD: "&bКопнути вперед"
|
||||
DIG_DOWN: "&bКопнути вниз"
|
||||
MOVE_AND_DIG_UP: "&bРушити та копнути вверх"
|
||||
MOVE_AND_DIG_FORWARD: "&bРушити та копнути вперед"
|
||||
MOVE_AND_DIG_DOWN: "&bРушити та копнути вниз"
|
||||
ATTACK_MOBS_ANIMALS: "&4Атакувати &c(ворожі моби та тварини)"
|
||||
ATTACK_MOBS: "&4Атакувати &c(ворожі моби)"
|
||||
ATTACK_ANIMALS: "&4Атакувати &c(тварини)"
|
||||
ATTACK_ANIMALS_ADULT: "&4Атакувати &c(тварини &7[дорослі]&c)"
|
||||
CHOP_TREE: "&cЗрубати та пересадити"
|
||||
CATCH_FISH: "&bВиловити рибу"
|
||||
FARM_FORWARD: "&bЗібрати врожай та пересадити"
|
||||
FARM_DOWN: "&bЗібрати врожай та пересадити &7(блок знизу)"
|
||||
FARM_EXOTIC_FORWARD: "&bПрогресивне збирання врожаю та пересадка"
|
||||
FARM_EXOTIC_DOWN: "&bПрогресивне збирання врожаю та пересадка &7(блок знизу)"
|
||||
INTERFACE_ITEMS: "&9Скласти збережені предмети в сховище спереду"
|
||||
INTERFACE_FUEL: "&cПоповнити запаси палива зі сховища спереду"
|
||||
enter-name:
|
||||
-
|
||||
- "&eБудь ласка, введіть назву для Вашого скрипту"
|
||||
uploaded:
|
||||
- "&bЗавантаження…"
|
||||
- "&aВаш скрипт успішно завантажено!"
|
||||
rating:
|
||||
own: "&4Ви не можете оцінити власний скрипт!"
|
||||
already: "&4Ви вже оцінили цей скрипт!"
|
||||
editor: Редактор скриптів
|
||||
languages:
|
||||
default: За замовчуванням
|
||||
en: Англійська
|
||||
de: Німецька
|
||||
fr: Французька
|
||||
it: Італійська
|
||||
es: Іспанська
|
||||
pl: Польська
|
||||
sv: Шведська
|
||||
nl: Голландська
|
||||
cs: Чеська
|
||||
hu: Угорська
|
||||
lv: Латвійська
|
||||
ru: Російська
|
||||
sk: Словацька
|
||||
zh-TW: Китайська (Тайвань)
|
||||
vi: В’єтнамська
|
||||
id: Індонезійська
|
||||
zh-CN: Китайська (Китай)
|
||||
el: Грецька
|
||||
he: Іврит
|
||||
pt: Португальська (Португалія)
|
||||
pt-BR: Португальська (Бразилія)
|
||||
ar: Арабська
|
||||
af: Бурська
|
||||
da: Датська
|
||||
fi: Фінська
|
||||
uk: Українська
|
||||
ms: Малайська
|
||||
'no': Норвезька
|
||||
ja: Японська
|
||||
fa: Перська
|
||||
th: Тайська
|
||||
ro: Румунська
|
||||
bg: Болгарська
|
||||
ko: Корейська
|
||||
tr: Турецька
|
||||
hr: Хорватська
|
||||
mk: Македонська
|
||||
sr: Сербська
|
||||
be: Білоруська
|
||||
tl: Тагальська
|
||||
miner:
|
||||
no-ores: "&eНа жаль, не вдалось знайти руду поблизу!"
|
||||
|
@ -1,219 +1,133 @@
|
||||
---
|
||||
android:
|
||||
scripts:
|
||||
already-uploaded: "&4程式已上傳"
|
||||
editor: 程式編輯器
|
||||
enter-name:
|
||||
-
|
||||
- "&e輸入程式名稱"
|
||||
instructions:
|
||||
ATTACK_ANIMALS: "&4攻擊&c動物"
|
||||
ATTACK_ANIMALS_ADULT: "&4攻擊&c成年動物"
|
||||
ATTACK_MOBS: "&4攻擊&c主動怪"
|
||||
ATTACK_MOBS_ANIMALS: "&4攻擊&c主動怪和動物"
|
||||
CATCH_FISH: "&b嘗試抓魚"
|
||||
CHOP_TREE: "&c砍完整棵樹並重種"
|
||||
DIG_DOWN: "&b挖下面"
|
||||
DIG_FORWARD: "&b挖前面"
|
||||
DIG_UP: "&b挖上面"
|
||||
FARM_DOWN: "&b向下收割並重種"
|
||||
FARM_EXOTIC_DOWN: "&b進階向下收割並重種"
|
||||
FARM_EXOTIC_FORWARD: "&b進階向前收割並重種"
|
||||
FARM_FORWARD: "&b向前收割並重種"
|
||||
GO_DOWN: "&7向下移動"
|
||||
GO_FORWARD: "&7向前移動"
|
||||
GO_UP: "&7向上移動"
|
||||
INTERFACE_FUEL: "&c從燃料節點取得燃料"
|
||||
INTERFACE_ITEMS: "&c向物品節點輸入物品"
|
||||
MOVE_AND_DIG_DOWN: "&b挖並向下移動"
|
||||
MOVE_AND_DIG_FORWARD: "&b挖並向前移動"
|
||||
MOVE_AND_DIG_UP: "&b挖並向上移動"
|
||||
REPEAT: "&9重複程式"
|
||||
START: "&2執行程式"
|
||||
TURN_LEFT: "&7左轉"
|
||||
TURN_RIGHT: "&7右轉"
|
||||
WAIT: "&e等0.5秒"
|
||||
rating:
|
||||
already: "&4你已經評價過此程式!"
|
||||
own: "&4你不能評價自己的程式!"
|
||||
uploaded:
|
||||
- "&b上傳中"
|
||||
- "&a成功上傳程式!"
|
||||
started: "&7機器人繼續運作"
|
||||
stopped: "&7機器人暫停運作"
|
||||
anvil:
|
||||
not-working: "&4科技物品需要用自動鐵砧+修理膠帶!"
|
||||
backpack:
|
||||
already-open: "&c別人正在使用這個背包!"
|
||||
no-stack: "&c背包不能疊!"
|
||||
commands:
|
||||
help: 顯示此幫助畫面
|
||||
cheat: 允許您以作弊取得物品
|
||||
give: 給其他玩家Slimefun物品
|
||||
guide: 給自己一個Slimefun指南
|
||||
help: 顯示此幫助畫面
|
||||
timings: 關於您的伺服器的卡頓信息
|
||||
teleporter: 查看其他玩家的位置標點
|
||||
versions: 列出所有已安裝的附屬插件
|
||||
search: 在指南中搜索輸入的字句
|
||||
open_guide: 打開Slimefun指南(不使用書本)
|
||||
stats: 顯示玩家的統計數據
|
||||
research:
|
||||
description: 解鎖/重置玩家的研究項目
|
||||
reset: "&c你已使%player%變回智障"
|
||||
reset-target: "&c你變回笨蛋了"
|
||||
search: 在指南中搜索輸入的字句
|
||||
stats: 顯示玩家的統計數據
|
||||
teleporter: 查看其他玩家的位置標點
|
||||
timings: 關於您的伺服器的卡頓信息
|
||||
versions: 列出所有已安裝的附屬插件
|
||||
gps:
|
||||
deathpoint: "&4死亡點&7%date%"
|
||||
geo:
|
||||
scan-required: "&4請先做地質掃描"
|
||||
insufficient-complexity:
|
||||
- "&4GPS信號不足 &c%complexity%"
|
||||
- "&4a) GPS基礎設施未放置"
|
||||
- "&4b)GPS信號不足"
|
||||
waypoint:
|
||||
added: "&a成功新增傳送點"
|
||||
max: "&4傳送點已達上限"
|
||||
new: "&e輸入傳送點名稱 &7(Color Codes supported!)"
|
||||
backpack:
|
||||
description: 檢索已存在背包的副本
|
||||
invalid-id: "&4ID不能是負數!"
|
||||
player-never-joined: "&4找不到該ID的玩家"
|
||||
backpack-does-not-exist: "&4該背包不存在!"
|
||||
restored-backpack-given: "&a你的背包已被修復並放到你的物品欄中!"
|
||||
guide:
|
||||
back:
|
||||
guide: 回到Slimefun指南
|
||||
settings: 回到設定介面
|
||||
title: 上一頁
|
||||
search:
|
||||
message: "&c你要搜尋什麼?"
|
||||
name: "&7搜尋..."
|
||||
tooltip: "&b點擊以尋找物品"
|
||||
inventory: '尋找: %item%'
|
||||
lore:
|
||||
- "&b您要搜尋什麼?"
|
||||
- "&7請輸入搜尋字句到聊天"
|
||||
cheat:
|
||||
no-multiblocks: "&4您不能靠作弊取得多方塊結構機械,你必須用蓋的!"
|
||||
credits:
|
||||
commit: 成員
|
||||
commits: 成員
|
||||
profile-link: 點擊觀看他們在GitHub上的個人資料
|
||||
roles:
|
||||
developer: "&6開發人員"
|
||||
resourcepack: "&7資源包製作人員"
|
||||
translator: "&9翻譯人員"
|
||||
wiki: "&3Wiki編輯人員"
|
||||
languages:
|
||||
updated: "&a你的語言已改成: &b%lang%"
|
||||
translations:
|
||||
name: "&a缺少什麼嗎?"
|
||||
lore: 點擊增加您自己的翻譯
|
||||
select: 點擊選擇此語言
|
||||
select-default: 點擊選擇默認語言
|
||||
selected-language: 當前選擇:
|
||||
translations:
|
||||
lore: 點擊增加您自己的翻譯
|
||||
name: "&a缺少什麼嗎?"
|
||||
updated: "&a你的語言已改成: &b%lang%"
|
||||
title:
|
||||
main: Slimefun指南
|
||||
settings: 設置及資訊
|
||||
languages: 請選擇您偏好的語言
|
||||
credits: Slimefun4貢獻者
|
||||
wiki: Slimefun4 Wiki
|
||||
addons: Slimefun4的附加插件
|
||||
bugs: 錯誤報告
|
||||
source: 來源代碼
|
||||
credits:
|
||||
commit: 成員
|
||||
commits: 成員
|
||||
roles:
|
||||
developer: "&6開發人員"
|
||||
wiki: "&3Wiki編輯人員"
|
||||
resourcepack: "&7資源包製作人員"
|
||||
translator: "&9翻譯人員"
|
||||
profile-link: 點擊觀看他們在GitHub上的個人資料
|
||||
pages:
|
||||
previous: 上一頁
|
||||
next: 下一頁
|
||||
tooltips:
|
||||
open-category: 點擊開啟
|
||||
versions-notice: 這些在報告錯誤時非常重要!
|
||||
wiki: 在Slimefun官方Wiki上查看此物品
|
||||
recipes:
|
||||
machine: 使用本機械的合成表
|
||||
miner: 此挖礦機可獲取的資源
|
||||
generator: 可以使用的燃料
|
||||
gold-pan: 可以獲取的資源
|
||||
back:
|
||||
title: 上一頁
|
||||
guide: 回到Slimefun指南
|
||||
settings: 回到設定介面
|
||||
locked: 已鎖定
|
||||
locked-category:
|
||||
- 要解鎖此分類
|
||||
- 必須先解鎖下列分類
|
||||
- 的所有物品
|
||||
pages:
|
||||
next: 下一頁
|
||||
previous: 上一頁
|
||||
search:
|
||||
inventory: '尋找: %item%'
|
||||
lore:
|
||||
- "&b您要搜尋什麼?"
|
||||
- "&7請輸入搜尋字句到聊天"
|
||||
message: "&c你要搜尋什麼?"
|
||||
name: "&7搜尋..."
|
||||
tooltip: "&b點擊以尋找物品"
|
||||
title:
|
||||
addons: Slimefun4的附加插件
|
||||
bugs: 錯誤報告
|
||||
credits: Slimefun4貢獻者
|
||||
languages: 請選擇您偏好的語言
|
||||
main: Slimefun指南
|
||||
settings: 設置及資訊
|
||||
source: 來源代碼
|
||||
wiki: Slimefun4 Wiki
|
||||
tooltips:
|
||||
open-category: 點擊開啟
|
||||
recipes:
|
||||
generator: 可以使用的燃料
|
||||
gold-pan: 可以獲取的資源
|
||||
machine: 使用本機械的合成表
|
||||
miner: 此挖礦機可獲取的資源
|
||||
versions-notice: 這些在報告錯誤時非常重要!
|
||||
wiki: 在Slimefun官方Wiki上查看此物品
|
||||
inventory:
|
||||
no-access: "&4沒有權限使用該物品"
|
||||
languages:
|
||||
af: 南非語
|
||||
ar: 阿拉伯文
|
||||
bg: 保加利亞語
|
||||
cs: 捷克文
|
||||
da: 丹麥文
|
||||
de: 德語
|
||||
default: 默認
|
||||
el: 希臘語
|
||||
en: 英語
|
||||
es: 西班牙文
|
||||
fa: 波斯語
|
||||
fi: 芬蘭文
|
||||
fr: 法文
|
||||
he: 希伯來語
|
||||
hu: 匈牙利文
|
||||
id: 印尼語
|
||||
it: 義大利文
|
||||
ja: 日語
|
||||
ko: 韓語
|
||||
lv: 拉脫維亞語
|
||||
ms: 馬來語
|
||||
nl: 荷蘭語
|
||||
'no': 挪威
|
||||
pl: 波蘭語
|
||||
pt: 葡萄牙文(葡萄牙)
|
||||
pt-BR: 葡萄牙文(巴西)
|
||||
ro: 羅馬尼亞語
|
||||
ru: 俄語
|
||||
sk: 斯洛伐克文
|
||||
sv: 瑞典語
|
||||
th: 泰語
|
||||
tr: 土耳其
|
||||
uk: 烏克蘭文
|
||||
vi: 越南文
|
||||
zh-CN: 中文(簡體)
|
||||
zh-TW: 中文(繁體)
|
||||
machines:
|
||||
ANCIENT_ALTAR:
|
||||
not-enough-pedestals: "&4此祭壇需要更多基座&c(%pedestals% / 8)"
|
||||
unknown-catalyst: "&4未知中心物品! &c請檢察合成表!"
|
||||
unknown-recipe: "&4未知合成表! &c請檢察合成表!"
|
||||
ANCIENT_PEDESTAL:
|
||||
obstructed: "&4基座被擋住了! &c移除上方的方塊!"
|
||||
CARGO_NODES:
|
||||
must-be-placed: "&4必須連接在箱子或機器旁!"
|
||||
ELEVATOR:
|
||||
click-to-teleport: "&e按這 &7來傳送到該樓:"
|
||||
current-floor: "&e這是你現在的樓層:"
|
||||
enter-name: "&7輸入你的樓層名稱&r(可以輸入顏色代碼!)"
|
||||
named: "&2成功命名為 &r%floor%"
|
||||
no-destinations: "&4沒有目的地"
|
||||
pick-a-floor: "&3選擇樓層"
|
||||
full-inventory: "&e發射器滿了!(請考慮使用基礎機械輸出箱)"
|
||||
GPS_CONTROL_PANEL:
|
||||
title: GPS控制面板
|
||||
transmitters: 訊號發射器總覽
|
||||
waypoints: 傳送點總覽
|
||||
HOLOGRAM_PROJECTOR:
|
||||
enter-text: "&7輸入你想要的文字 &r(可以輸入顏色代碼!)"
|
||||
inventory-title: 全息投影編輯器
|
||||
ignition-chamber-no-flint: "&c點火系統沒有打火石"
|
||||
in-use: "&c別人正在使用這台機器"
|
||||
pattern-not-found: "&e查無此合成表 請確認使用的機器或合成表的材料"
|
||||
TELEPORTER:
|
||||
cancelled: "&4傳送中止!"
|
||||
gui:
|
||||
time: 估計時間
|
||||
title: 你的標記點
|
||||
tooltip: 點擊以傳送
|
||||
invulnerability: "&b&l你得到了30秒的無敵!"
|
||||
teleported: "&3傳送成功!"
|
||||
teleporting: "&3傳送中..."
|
||||
unknown-material: "&e這個機器不能處理這個物品 請確認使用的機器或合成表的材料"
|
||||
wrong-item: "&e你手持的物品和機器並不相容 請確認使用的機器或合成表的材料"
|
||||
messages:
|
||||
cannot-place: "&c那裡不能放方塊!"
|
||||
diet-cookie: "&e你開始覺得很輕..."
|
||||
not-researched: "&4你太笨了"
|
||||
not-enough-xp: "&4你沒有足夠的經驗值用以解鎖這個"
|
||||
unlocked: "&b你已解鎖&7“%research%”"
|
||||
only-players: "&4此命令只可由玩家發送"
|
||||
unknown-player: "&4未知玩家:&c%player%"
|
||||
no-permission: "&4您沒有執行此動作所需的權限"
|
||||
usage: "&4用法: &c%usage%"
|
||||
not-online: "&4%player% &c還未上線!"
|
||||
not-valid-item: "&4%item% &c不存在!"
|
||||
not-valid-amount: "&4%amount% &c不是有效數量:數值必須大於0!"
|
||||
given-item: '&b你已獲得 &a%amount% &7"%item%&7"'
|
||||
give-item: '&b你已給予%player% &a%amount% &7"%item%&7"'
|
||||
not-valid-research: "&4%research% &c不存在!"
|
||||
give-research: '&b你已給予%player% 研究項目&7"%research%&7"'
|
||||
hungry: "&c你太餓了,做不了這個!"
|
||||
mode-change: "&b%device% 模式切換至: &9%mode%"
|
||||
disabled-in-world: "&4&l此物品在此世界中已被禁用"
|
||||
disabled-item: "&4&l此物品已被禁用!你到底是怎樣得到的?"
|
||||
no-tome-yourself: "&c你不能在自己身上使用 &4知識之書&c..."
|
||||
multimeter: "&b已儲存的能量:&3%stored% &b最大容量:&3%capacity%"
|
||||
talisman:
|
||||
anvil: "&a&o你的護符免了您的工具於斷裂"
|
||||
miner: "&a&o你的護符剛雙倍了你的掉落"
|
||||
hunter: "&a&o你的護符剛雙倍了你的掉落"
|
||||
lava: "&a&o你的護符把你從被燒死的命運中救出"
|
||||
water: "&a&o你的護身符給了你空氣"
|
||||
angel: "&a&o你的護身符使你免疫摔落傷害"
|
||||
fire: "&a&o你的護身符使你沒有燒死"
|
||||
magician: "&a&o你的護身符給了你額外的附魔"
|
||||
traveller: "&a&o你的護身符給了你速度3"
|
||||
warrior: "&a&o你的護身符暫時提高了你的力量"
|
||||
knight: "&a&o你的護身符給了你5秒的回復時間"
|
||||
whirlwind: "&a&o你的護身符反射了投射物"
|
||||
wizard: "&a&o你的護身符為你升高了幸運等級,但也降低了其他附魔等級"
|
||||
soulbound-rune:
|
||||
fail: "&c你一次只能魂綁一個物品。"
|
||||
success: "&a您已成功將此物品綁定魂綁!死後不會噴掉。"
|
||||
research:
|
||||
start: "&7遠古之靈在你耳邊低語!"
|
||||
progress: "&7你開始研究&b%research% &e(%progress%)"
|
||||
fire-extinguish: "&7你熄滅身上的火"
|
||||
cannot-place: "&c那裡不能放方塊!"
|
||||
no-pvp: "&c這裡不准打架!"
|
||||
radiation: "&4你正暴露在致命的輻射之下!&c立即丟棄放射性物品或裝備完整的防護服!"
|
||||
opening-guide: "&b正在打開指南,這可能需要幾秒鐘的時間..."
|
||||
opening-backpack: "&b正在打開背包,這可能需要幾秒鐘的時間..."
|
||||
no-iron-golem-heal: "&c這不是鐵錠。你不能用它來治癒鐵巨人!"
|
||||
link-prompt: "&e點擊此處:"
|
||||
diet-cookie: "&e你開始覺得很輕..."
|
||||
fortune-cookie:
|
||||
- "&7快來幫幫我!我在幸運餅乾工廠裡出不了來!"
|
||||
- "&7明天會有苦力怕歡樂送"
|
||||
@ -225,51 +139,161 @@ messages:
|
||||
- "&742, 萬物的答案"
|
||||
- "&7Walshy會使你每天開開心心\n"
|
||||
- "&7不要垂直往下挖!"
|
||||
give-item: '&b你已給予%player% &a%amount% &7"%item%&7"'
|
||||
given-item: '&b你已獲得 &a%amount% &7"%item%&7"'
|
||||
give-research: '&b你已給予%player% 研究項目&7"%research%&7"'
|
||||
hungry: "&c你太餓了,做不了這個!"
|
||||
link-prompt: "&e點擊此處:"
|
||||
mode-change: "&b%device% 模式切換至: &9%mode%"
|
||||
multimeter: "&b已儲存的能量:&3%stored% &b最大容量:&3%capacity%"
|
||||
no-iron-golem-heal: "&c這不是鐵錠。你不能用它來治癒鐵巨人!"
|
||||
no-permission: "&4您沒有執行此動作所需的權限"
|
||||
no-pvp: "&c這裡不准打架!"
|
||||
not-enough-xp: "&4你沒有足夠的經驗值用以解鎖這個"
|
||||
no-tome-yourself: "&c你不能在自己身上使用 &4知識之書&c..."
|
||||
not-online: "&4%player% &c還未上線!"
|
||||
not-researched: "&4你太笨了"
|
||||
not-valid-amount: "&4%amount% &c不是有效數量:數值必須大於0!"
|
||||
not-valid-item: "&4%item% &c不存在!"
|
||||
not-valid-research: "&4%research% &c不存在!"
|
||||
only-players: "&4此命令只可由玩家發送"
|
||||
opening-backpack: "&b正在打開背包,這可能需要幾秒鐘的時間..."
|
||||
opening-guide: "&b正在打開指南,這可能需要幾秒鐘的時間..."
|
||||
radiation: "&4你正暴露在致命的輻射之下!&c立即丟棄放射性物品或裝備完整的防護服!"
|
||||
research:
|
||||
progress: "&7你開始研究&b%research% &e(%progress%)"
|
||||
start: "&7遠古之靈在你耳邊低語!"
|
||||
soulbound-rune:
|
||||
fail: "&c你一次只能魂綁一個物品。"
|
||||
success: "&a您已成功將此物品綁定魂綁!死後不會噴掉。"
|
||||
talisman:
|
||||
angel: "&a&o你的護身符使你免疫摔落傷害"
|
||||
anvil: "&a&o你的護符免了您的工具於斷裂"
|
||||
fire: "&a&o你的護身符使你沒有燒死"
|
||||
hunter: "&a&o你的護符剛雙倍了你的掉落"
|
||||
knight: "&a&o你的護身符給了你5秒的回復時間"
|
||||
lava: "&a&o你的護符把你從被燒死的命運中救出"
|
||||
magician: "&a&o你的護身符給了你額外的附魔"
|
||||
miner: "&a&o你的護符剛雙倍了你的掉落"
|
||||
traveller: "&a&o你的護身符給了你速度3"
|
||||
warrior: "&a&o你的護身符暫時提高了你的力量"
|
||||
water: "&a&o你的護身符給了你空氣"
|
||||
whirlwind: "&a&o你的護身符反射了投射物"
|
||||
wizard: "&a&o你的護身符為你升高了幸運等級,但也降低了其他附魔等級"
|
||||
unknown-player: "&4未知玩家:&c%player%"
|
||||
unlocked: "&b你已解鎖&7“%research%”"
|
||||
usage: "&4用法: &c%usage%"
|
||||
miner:
|
||||
no-ores: "&e附近沒礦了!"
|
||||
- "&7這只是一個小傷!"
|
||||
- "&7永遠保持樂觀積極!"
|
||||
- "&7這不是普通的餅乾"
|
||||
- "&7霓虹燈好帥!"
|
||||
machines:
|
||||
pattern-not-found: "&e查無此合成表 請確認使用的機器或合成表的材料"
|
||||
unknown-material: "&e這個機器不能處理這個物品 請確認使用的機器或合成表的材料"
|
||||
wrong-item: "&e你手持的物品和機器並不相容 請確認使用的機器或合成表的材料"
|
||||
full-inventory: "&e發射器滿了!(請考慮使用基礎機械輸出箱)"
|
||||
in-use: "&c別人正在使用這台機器"
|
||||
ignition-chamber-no-flint: "&c點火系統沒有打火石"
|
||||
ANCIENT_ALTAR:
|
||||
not-enough-pedestals: "&4此祭壇需要更多基座&c(%pedestals% / 8)"
|
||||
unknown-catalyst: "&4未知中心物品! &c請檢察合成表!"
|
||||
unknown-recipe: "&4未知合成表! &c請檢察合成表!"
|
||||
ANCIENT_PEDESTAL:
|
||||
obstructed: "&4基座被擋住了! &c移除上方的方塊!"
|
||||
HOLOGRAM_PROJECTOR:
|
||||
enter-text: "&7輸入你想要的文字 &r(可以輸入顏色代碼!)"
|
||||
inventory-title: 全息投影編輯器
|
||||
ELEVATOR:
|
||||
no-destinations: "&4沒有目的地"
|
||||
pick-a-floor: "&3選擇樓層"
|
||||
current-floor: "&e這是你現在的樓層:"
|
||||
click-to-teleport: "&e按這 &7來傳送到該樓:"
|
||||
enter-name: "&7輸入你的樓層名稱&r(可以輸入顏色代碼!)"
|
||||
named: "&2成功命名為 &r%floor%"
|
||||
TELEPORTER:
|
||||
teleporting: "&3傳送中..."
|
||||
teleported: "&3傳送成功!"
|
||||
cancelled: "&4傳送中止!"
|
||||
invulnerability: "&b&l你得到了30秒的無敵!"
|
||||
gui:
|
||||
title: 你的標記點
|
||||
tooltip: 點擊以傳送
|
||||
time: 估計時間
|
||||
CARGO_NODES:
|
||||
must-be-placed: "&4必須連接在箱子或機器旁!"
|
||||
GPS_CONTROL_PANEL:
|
||||
title: GPS控制面板
|
||||
transmitters: 訊號發射器總覽
|
||||
waypoints: 傳送點總覽
|
||||
INDUSTRIAL_MINER:
|
||||
no-fuel: "&c你的工業挖礦機沒燃料了! 將燃料放置到上方的箱子"
|
||||
piston-facing: "&c工業挖礦機的活塞需要朝上!"
|
||||
piston-space: "&c兩活塞的上面需要為空氣!"
|
||||
destroyed: "&c你的工業挖礦機被摧毀了"
|
||||
already-running: "&c此工業挖礦機已經在運作中了!"
|
||||
full-chest: "&c此工業挖礦機的箱子已滿!"
|
||||
no-permission: "&4你沒有權限在此使用工業挖礦機!"
|
||||
finished: "&e你的工業挖礦機已挖掘完畢 共挖到 %ores% 個!"
|
||||
anvil:
|
||||
not-working: "&4科技物品需要用自動鐵砧+修理膠帶!"
|
||||
backpack:
|
||||
already-open: "&c別人正在使用這個背包!"
|
||||
no-stack: "&c背包不能疊!"
|
||||
workbench:
|
||||
not-enhanced: "&4科技物品不可在普通合成檯使用"
|
||||
gps:
|
||||
deathpoint: "&4死亡點&7%date%"
|
||||
waypoint:
|
||||
new: "&e輸入傳送點名稱 &7(Color Codes supported!)"
|
||||
added: "&a成功新增傳送點"
|
||||
max: "&4傳送點已達上限"
|
||||
insufficient-complexity:
|
||||
- "&4GPS信號不足 &c%complexity%"
|
||||
- "&4a) GPS基礎設施未放置"
|
||||
- "&4b)GPS信號不足"
|
||||
geo:
|
||||
scan-required: "&4請先做地質掃描"
|
||||
inventory:
|
||||
no-access: "&4沒有權限使用該物品"
|
||||
android:
|
||||
started: "&7機器人繼續運作"
|
||||
stopped: "&7機器人暫停運作"
|
||||
scripts:
|
||||
already-uploaded: "&4程式已上傳"
|
||||
instructions:
|
||||
START: "&2執行程式"
|
||||
REPEAT: "&9重複程式"
|
||||
WAIT: "&e等0.5秒"
|
||||
GO_FORWARD: "&7向前移動"
|
||||
GO_UP: "&7向上移動"
|
||||
GO_DOWN: "&7向下移動"
|
||||
TURN_LEFT: "&7左轉"
|
||||
TURN_RIGHT: "&7右轉"
|
||||
DIG_UP: "&b挖上面"
|
||||
DIG_FORWARD: "&b挖前面"
|
||||
DIG_DOWN: "&b挖下面"
|
||||
MOVE_AND_DIG_UP: "&b挖並向上移動"
|
||||
MOVE_AND_DIG_FORWARD: "&b挖並向前移動"
|
||||
MOVE_AND_DIG_DOWN: "&b挖並向下移動"
|
||||
ATTACK_MOBS_ANIMALS: "&4攻擊&c主動怪和動物"
|
||||
ATTACK_MOBS: "&4攻擊&c主動怪"
|
||||
ATTACK_ANIMALS: "&4攻擊&c動物"
|
||||
ATTACK_ANIMALS_ADULT: "&4攻擊&c成年動物"
|
||||
CHOP_TREE: "&c砍完整棵樹並重種"
|
||||
CATCH_FISH: "&b嘗試抓魚"
|
||||
FARM_FORWARD: "&b向前收割並重種"
|
||||
FARM_DOWN: "&b向下收割並重種"
|
||||
FARM_EXOTIC_FORWARD: "&b進階向前收割並重種"
|
||||
FARM_EXOTIC_DOWN: "&b進階向下收割並重種"
|
||||
INTERFACE_ITEMS: "&c向物品節點輸入物品"
|
||||
INTERFACE_FUEL: "&c從燃料節點取得燃料"
|
||||
enter-name:
|
||||
-
|
||||
- "&e輸入程式名稱"
|
||||
uploaded:
|
||||
- "&b上傳中"
|
||||
- "&a成功上傳程式!"
|
||||
rating:
|
||||
own: "&4你不能評價自己的程式!"
|
||||
already: "&4你已經評價過此程式!"
|
||||
editor: 程式編輯器
|
||||
languages:
|
||||
default: 默認
|
||||
en: 英語
|
||||
de: 德語
|
||||
fr: 法文
|
||||
it: 義大利文
|
||||
es: 西班牙文
|
||||
pl: 波蘭語
|
||||
sv: 瑞典語
|
||||
nl: 荷蘭語
|
||||
cs: 捷克文
|
||||
hu: 匈牙利文
|
||||
lv: 拉脫維亞語
|
||||
ru: 俄語
|
||||
sk: 斯洛伐克文
|
||||
zh-TW: 中文(繁體)
|
||||
vi: 越南文
|
||||
id: 印尼語
|
||||
zh-CN: 中文(簡體)
|
||||
el: 希臘語
|
||||
he: 希伯來語
|
||||
ar: 阿拉伯文
|
||||
af: 南非語
|
||||
da: 丹麥文
|
||||
fi: 芬蘭文
|
||||
uk: 烏克蘭文
|
||||
ms: 馬來語
|
||||
'no': 挪威
|
||||
ja: 日語
|
||||
fa: 波斯語
|
||||
th: 泰語
|
||||
ro: 羅馬尼亞語
|
||||
pt: 葡萄牙文(葡萄牙)
|
||||
pt-BR: 葡萄牙文(巴西)
|
||||
bg: 保加利亞語
|
||||
ko: 韓語
|
||||
tr: 土耳其
|
||||
hr: 克羅地亞語
|
||||
mk: 馬其頓語
|
||||
sr: 塞爾維亞語
|
||||
be: 白俄羅斯語
|
||||
tl: 他加祿語
|
||||
miner:
|
||||
no-ores: "&e附近沒礦了!"
|
||||
|
@ -1,145 +1,107 @@
|
||||
---
|
||||
minecraft:
|
||||
blasting:
|
||||
lore:
|
||||
- Funde este objeto en un Alto Horno
|
||||
- para obtener el objeto que buscas.
|
||||
name: Receta de Alto Horno
|
||||
campfire:
|
||||
lore:
|
||||
- Funde este objeto sobre una Hoguera
|
||||
- para obtener el objeto que buscas.
|
||||
name: Receta de Hoguera
|
||||
furnace:
|
||||
lore:
|
||||
- Funde este objeto en un Horno
|
||||
- para obtener el objeto que buscas.
|
||||
name: Receta de Horno
|
||||
shaped:
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- en una Tabla de Crafteo normal,
|
||||
- la forma es importante.
|
||||
name: Receta de Crafteo con forma
|
||||
shapeless:
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- en una Tabla de Crafteo normal
|
||||
- Esta receta no tiene forma.
|
||||
name: Receta de Crafteo sin forma
|
||||
smoking:
|
||||
lore:
|
||||
- Funde este objeto en un Ahumador
|
||||
- para obtener el objeto que buscas.
|
||||
name: Receta de Ahumador
|
||||
stonecutting:
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Cortapiedras
|
||||
name: Receta de Cortapiedras
|
||||
slimefun:
|
||||
ancient_altar:
|
||||
multiblock:
|
||||
name: Multiblock
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Ancient Altar.
|
||||
- Busca Ancient Altar para mas info.
|
||||
name: Ancient Altar
|
||||
armor_forge:
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando una Armor Forge
|
||||
name: Armor Forge
|
||||
compressor:
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Compressor
|
||||
name: Compressor
|
||||
- Construye la estructura presentada
|
||||
- tal cual. No es una receta.
|
||||
enhanced_crafting_table:
|
||||
name: Enhanced Crafting Table
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- en una Enhanced Crafting Table.
|
||||
- "¡Una Tabla de Crafteo normal no servirá!"
|
||||
name: Enhanced Crafting Table
|
||||
food_composter:
|
||||
armor_forge:
|
||||
name: Armor Forge
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Food Composter
|
||||
name: Food Composter
|
||||
food_fabricator:
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Food Fabricator
|
||||
name: Food Fabricator
|
||||
freezer:
|
||||
lore:
|
||||
- Congela este objeto tal como se muestra
|
||||
- usando un Freezer
|
||||
name: Freezer
|
||||
geo_miner:
|
||||
lore:
|
||||
- Este objeto se puede obtener
|
||||
- usando un GEO Miner
|
||||
name: GEO Miner
|
||||
gold_pan:
|
||||
lore:
|
||||
- Usa un Gold Pan para
|
||||
- obtener este objeto.
|
||||
name: Gold Pan
|
||||
- usando una Armor Forge
|
||||
grind_stone:
|
||||
name: Grind Stone
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando una Grind Stone
|
||||
name: Grind Stone
|
||||
heated_pressure_chamber:
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando una Heated Pressure Chamber
|
||||
name: Heated Pressure Chamber
|
||||
juicer:
|
||||
lore:
|
||||
- Haz este jugo tal como se muestra
|
||||
- usando un Juicer
|
||||
name: Juicer
|
||||
magic_workbench:
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- Usando una Magic Workbench
|
||||
name: Magic Workbench
|
||||
mob_drop:
|
||||
lore:
|
||||
- Mata ese Mob para
|
||||
- obtener este objeto.
|
||||
name: Botín de Mob
|
||||
multiblock:
|
||||
lore:
|
||||
- Construye la estructura presentada
|
||||
- tal cual. No es una receta.
|
||||
name: Multiblock
|
||||
nuclear_reactor:
|
||||
lore:
|
||||
- Este objeto es un suproducto generado
|
||||
- al correr un Nuclear Reactor
|
||||
name: Nuclear Reactor
|
||||
ore_crusher:
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Ore Crusher
|
||||
name: Ore Crusher
|
||||
ore_washer:
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Ore Washer
|
||||
name: Ore Washer
|
||||
pressure_chamber:
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Pressure Chamber
|
||||
name: Pressure Chamber
|
||||
smeltery:
|
||||
name: Smeltery
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Smeltery
|
||||
name: Smeltery
|
||||
ore_crusher:
|
||||
name: Ore Crusher
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Ore Crusher
|
||||
mob_drop:
|
||||
name: Botín de Mob
|
||||
lore:
|
||||
- Mata ese Mob para
|
||||
- obtener este objeto.
|
||||
gold_pan:
|
||||
name: Gold Pan
|
||||
lore:
|
||||
- Usa un Gold Pan para
|
||||
- obtener este objeto.
|
||||
compressor:
|
||||
name: Compressor
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Compressor
|
||||
pressure_chamber:
|
||||
name: Pressure Chamber
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Pressure Chamber
|
||||
ore_washer:
|
||||
name: Ore Washer
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Ore Washer
|
||||
juicer:
|
||||
name: Juicer
|
||||
lore:
|
||||
- Haz este jugo tal como se muestra
|
||||
- usando un Juicer
|
||||
magic_workbench:
|
||||
name: Magic Workbench
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- Usando una Magic Workbench
|
||||
ancient_altar:
|
||||
name: Ancient Altar
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Ancient Altar.
|
||||
- Busca Ancient Altar para mas info.
|
||||
heated_pressure_chamber:
|
||||
name: Heated Pressure Chamber
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando una Heated Pressure Chamber
|
||||
food_fabricator:
|
||||
name: Food Fabricator
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Food Fabricator
|
||||
food_composter:
|
||||
name: Food Composter
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Food Composter
|
||||
freezer:
|
||||
name: Freezer
|
||||
lore:
|
||||
- Congela este objeto tal como se muestra
|
||||
- usando un Freezer
|
||||
geo_miner:
|
||||
name: GEO Miner
|
||||
lore:
|
||||
- Este objeto se puede obtener
|
||||
- usando un GEO Miner
|
||||
nuclear_reactor:
|
||||
name: Nuclear Reactor
|
||||
lore:
|
||||
- Este objeto es un suproducto generado
|
||||
- al correr un Nuclear Reactor
|
||||
oil_pump:
|
||||
name: Oil Pump
|
||||
lore:
|
||||
@ -156,3 +118,46 @@ slimefun:
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando una Refinery
|
||||
minecraft:
|
||||
shaped:
|
||||
name: Receta de Crafteo con forma
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- en una Tabla de Crafteo normal,
|
||||
- la forma es importante.
|
||||
shapeless:
|
||||
name: Receta de Crafteo sin forma
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- en una Tabla de Crafteo normal
|
||||
- Esta receta no tiene forma.
|
||||
furnace:
|
||||
name: Receta de Horno
|
||||
lore:
|
||||
- Funde este objeto en un Horno
|
||||
- para obtener el objeto que buscas.
|
||||
blasting:
|
||||
name: Receta de Alto Horno
|
||||
lore:
|
||||
- Funde este objeto en un Alto Horno
|
||||
- para obtener el objeto que buscas.
|
||||
smoking:
|
||||
name: Receta de Ahumador
|
||||
lore:
|
||||
- Funde este objeto en un Ahumador
|
||||
- para obtener el objeto que buscas.
|
||||
campfire:
|
||||
name: Receta de Hoguera
|
||||
lore:
|
||||
- Funde este objeto sobre una Hoguera
|
||||
- para obtener el objeto que buscas.
|
||||
stonecutting:
|
||||
name: Receta de Cortapiedras
|
||||
lore:
|
||||
- Haz este objeto tal como se muestra
|
||||
- usando un Cortapiedras
|
||||
smithing:
|
||||
name: Smithing Table Recipe
|
||||
lore:
|
||||
- Haz este objeto como se muestra
|
||||
- usando una Smithing Table
|
||||
|
@ -156,3 +156,8 @@ minecraft:
|
||||
lore:
|
||||
- Создаётся так, как показано,
|
||||
- используя камнерез
|
||||
smithing:
|
||||
name: Создаётся на столе кузнеца
|
||||
lore:
|
||||
- Создаётся так, как показано,
|
||||
- используя стол кузнеца
|
||||
|
@ -156,3 +156,8 @@ minecraft:
|
||||
lore:
|
||||
- I-craft ang item na ito tulad ng ipinakita
|
||||
- gamit ang Stonecutter.
|
||||
smithing:
|
||||
name: Smithing Table Recipe
|
||||
lore:
|
||||
- I-craft ang item na ito tulad ng ipinakita
|
||||
- gamit ang Smithing Table.
|
||||
|
@ -156,3 +156,8 @@ minecraft:
|
||||
lore:
|
||||
- Цей предмет створюється
|
||||
- у камнерізі
|
||||
smithing:
|
||||
name: Верстат коваля
|
||||
lore:
|
||||
- Цей предмет створюється
|
||||
- на верстаті коваля
|
||||
|
@ -1,145 +1,107 @@
|
||||
---
|
||||
minecraft:
|
||||
blasting:
|
||||
lore:
|
||||
- 在高炉中燃烧
|
||||
- 以合成你想要的物品
|
||||
name: 高炉合成表
|
||||
campfire:
|
||||
lore:
|
||||
- 在营火上燃烧
|
||||
- 以合成你想要的物品
|
||||
name: 营火合成表
|
||||
furnace:
|
||||
lore:
|
||||
- 在熔炉中燃烧
|
||||
- 以合成你想要的物品
|
||||
name: 熔炉合成表
|
||||
shaped:
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在普通的工作台中合成
|
||||
- 摆放顺序很重要.
|
||||
name: 有序合成
|
||||
shapeless:
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在普通的工作台中合成.
|
||||
- 摆放顺序不重要.
|
||||
name: 无序合成
|
||||
smoking:
|
||||
lore:
|
||||
- 在烟熏炉中燃烧
|
||||
- 以合成你想要的物品
|
||||
name: 烟熏炉合成表
|
||||
stonecutting:
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 使用切石机合成
|
||||
name: 切石机合成表
|
||||
slimefun:
|
||||
ancient_altar:
|
||||
multiblock:
|
||||
name: 多方块结构
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 使用古代祭坛合成
|
||||
- 查看古代祭坛页面获得更多信息
|
||||
name: 古代祭坛 (Ancient Altar)
|
||||
armor_forge:
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 用盔甲锻造台合成
|
||||
name: 盔甲锻造台 (Armor Forge)
|
||||
compressor:
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在压缩机中合成
|
||||
name: 压缩机 (Compressor)
|
||||
- 按照展示的结构用方块建造.
|
||||
- 它不能被合成.
|
||||
enhanced_crafting_table:
|
||||
name: 增强型工作台 (Enhanced Crafting Table)
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在增强型工作台中合成.
|
||||
- 一个普通的工作台远远不够!
|
||||
name: 增强型工作台 (Enhanced Crafting Table)
|
||||
food_composter:
|
||||
armor_forge:
|
||||
name: 盔甲锻造台 (Armor Forge)
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在食品堆肥器中制作
|
||||
name: 食品堆肥器 (Food Composter)
|
||||
food_fabricator:
|
||||
lore:
|
||||
- 如合成表所示合成
|
||||
- 使用食品加工机
|
||||
name: 食品加工机 (Food Fabricator)
|
||||
freezer:
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在冰箱中合成
|
||||
name: 冰箱 (Freezer)
|
||||
geo_miner:
|
||||
lore:
|
||||
- 这个物品可以用
|
||||
- GEO 矿机采集
|
||||
name: GEO 矿机 (GEO Miner)
|
||||
gold_pan:
|
||||
lore:
|
||||
- 使用淘金盘
|
||||
- 获得此物品
|
||||
name: 淘金盘 (Gold Pan)
|
||||
- 用盔甲锻造台合成
|
||||
grind_stone:
|
||||
name: 磨石 (Grind Stone)
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 使用磨石制作
|
||||
name: 磨石 (Grind Stone)
|
||||
heated_pressure_chamber:
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 用加热压力舱合成
|
||||
name: 加热压力舱 (Heated Pressure Chamber)
|
||||
juicer:
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在榨汁机中制作果汁
|
||||
name: 榨汁机 (Juicer)
|
||||
magic_workbench:
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在魔法工作台中合成
|
||||
name: 魔法工作台 (Magic Workbench)
|
||||
mob_drop:
|
||||
lore:
|
||||
- 击杀指定的生物
|
||||
- 以获得该物品
|
||||
name: 击杀生物掉落
|
||||
multiblock:
|
||||
lore:
|
||||
- 按照展示的结构用方块建造.
|
||||
- 它不能被合成.
|
||||
name: 多方块结构
|
||||
nuclear_reactor:
|
||||
lore:
|
||||
- 这个物品是核反应堆
|
||||
- 运行时产生的副产物
|
||||
name: 核反应堆 (Nuclear Reactor)
|
||||
ore_crusher:
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在碎矿机中合成
|
||||
name: 矿石粉碎机 (Ore Crusher)
|
||||
ore_washer:
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在洗矿机中合成
|
||||
name: 洗矿机 (Ore Washer)
|
||||
pressure_chamber:
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在压力舱中合成
|
||||
name: 压力舱 (Pressure Chamber)
|
||||
smeltery:
|
||||
name: 冶炼机 (Smeltery)
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 用冶炼机合成
|
||||
name: 冶炼机 (Smeltery)
|
||||
ore_crusher:
|
||||
name: 矿石粉碎机 (Ore Crusher)
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在碎矿机中合成
|
||||
mob_drop:
|
||||
name: 击杀生物掉落
|
||||
lore:
|
||||
- 击杀指定的生物
|
||||
- 以获得该物品
|
||||
gold_pan:
|
||||
name: 淘金盘 (Gold Pan)
|
||||
lore:
|
||||
- 使用淘金盘
|
||||
- 获得此物品
|
||||
compressor:
|
||||
name: 压缩机 (Compressor)
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在压缩机中合成
|
||||
pressure_chamber:
|
||||
name: 压力舱 (Pressure Chamber)
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在压力舱中合成
|
||||
ore_washer:
|
||||
name: 洗矿机 (Ore Washer)
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在洗矿机中合成
|
||||
juicer:
|
||||
name: 榨汁机 (Juicer)
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在榨汁机中制作果汁
|
||||
magic_workbench:
|
||||
name: 魔法工作台 (Magic Workbench)
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在魔法工作台中合成
|
||||
ancient_altar:
|
||||
name: 古代祭坛 (Ancient Altar)
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 使用古代祭坛合成
|
||||
- 查看古代祭坛页面获得更多信息
|
||||
heated_pressure_chamber:
|
||||
name: 加热压力舱 (Heated Pressure Chamber)
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 用加热压力舱合成
|
||||
food_fabricator:
|
||||
name: 食品加工机 (Food Fabricator)
|
||||
lore:
|
||||
- 如合成表所示合成
|
||||
- 使用食品加工机
|
||||
food_composter:
|
||||
name: 食品堆肥器 (Food Composter)
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在食品堆肥器中制作
|
||||
freezer:
|
||||
name: 冰箱 (Freezer)
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在冰箱中合成
|
||||
geo_miner:
|
||||
name: GEO 矿机 (GEO Miner)
|
||||
lore:
|
||||
- 这个物品可以用
|
||||
- GEO 矿机采集
|
||||
nuclear_reactor:
|
||||
name: 核反应堆 (Nuclear Reactor)
|
||||
lore:
|
||||
- 这个物品是核反应堆
|
||||
- 运行时产生的副产物
|
||||
oil_pump:
|
||||
name: 油泵 (Oil Pump)
|
||||
lore:
|
||||
@ -156,3 +118,46 @@ slimefun:
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 用炼油机合成
|
||||
minecraft:
|
||||
shaped:
|
||||
name: 有序合成
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在普通的工作台中合成
|
||||
- 摆放顺序很重要.
|
||||
shapeless:
|
||||
name: 无序合成
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 在普通的工作台中合成.
|
||||
- 摆放顺序不重要.
|
||||
furnace:
|
||||
name: 熔炉合成表
|
||||
lore:
|
||||
- 在熔炉中燃烧
|
||||
- 以合成你想要的物品
|
||||
blasting:
|
||||
name: 高炉合成表
|
||||
lore:
|
||||
- 在高炉中燃烧
|
||||
- 以合成你想要的物品
|
||||
smoking:
|
||||
name: 烟熏炉合成表
|
||||
lore:
|
||||
- 在烟熏炉中燃烧
|
||||
- 以合成你想要的物品
|
||||
campfire:
|
||||
name: 营火合成表
|
||||
lore:
|
||||
- 在营火上燃烧
|
||||
- 以合成你想要的物品
|
||||
stonecutting:
|
||||
name: 切石机合成表
|
||||
lore:
|
||||
- 如合成表所示
|
||||
- 使用切石机合成
|
||||
smithing:
|
||||
name: 锻造台
|
||||
lore:
|
||||
- 如所示配方
|
||||
- 在锻造台中合成
|
||||
|
@ -1,134 +1,96 @@
|
||||
---
|
||||
minecraft:
|
||||
blasting:
|
||||
lore:
|
||||
- 加熱燒一燒
|
||||
- 成品出來了!
|
||||
name: 高爐合成表
|
||||
campfire:
|
||||
lore:
|
||||
- 加熱燒一燒
|
||||
- "\t\n成品出來了!"
|
||||
name: 營火合成表
|
||||
furnace:
|
||||
lore:
|
||||
- 加熱燒一燒
|
||||
- 成品出來了!
|
||||
name: 熔爐合成表
|
||||
shaped:
|
||||
lore:
|
||||
- 數量一樣
|
||||
- 位置一致
|
||||
- "(原版合成檯)"
|
||||
name: 有序合成
|
||||
shapeless:
|
||||
lore:
|
||||
- 數量一樣
|
||||
- 位置不重要
|
||||
- "(原版合成檯)"
|
||||
name: 無序合成
|
||||
smoking:
|
||||
lore:
|
||||
- 加熱燒一燒
|
||||
- 成品出來了!
|
||||
name: 煙燻爐合成表
|
||||
stonecutting:
|
||||
lore:
|
||||
- 上去磨一磨
|
||||
- "\t\n成品出來了!"
|
||||
name: 切石機合成表
|
||||
slimefun:
|
||||
ancient_altar:
|
||||
multiblock:
|
||||
name: 多重方塊
|
||||
lore:
|
||||
- 使用古代祭壇
|
||||
- 合成出該物品
|
||||
- 到古代祭壇頁面獲取更多資訊
|
||||
name: 古代祭壇(Ancient Altar)
|
||||
armor_forge:
|
||||
lore:
|
||||
- 在盔甲鍛造檯中
|
||||
- 鍛造出該物品
|
||||
name: 盔甲鍛造檯(Armor Forge)
|
||||
compressor:
|
||||
lore:
|
||||
- 使用壓縮機
|
||||
- 壓縮出該物品
|
||||
name: 壓縮機(Compressor)
|
||||
- 在世界中蓋出該結構
|
||||
- 這不是一個可合成的物品
|
||||
enhanced_crafting_table:
|
||||
name: 進階合成檯(Enhanced Crafting Table)
|
||||
lore:
|
||||
- 在進階合成檯中
|
||||
- 合成出該物品
|
||||
- 原版工作檯沒用喔
|
||||
name: 進階合成檯(Enhanced Crafting Table)
|
||||
food_composter:
|
||||
armor_forge:
|
||||
name: 盔甲鍛造檯(Armor Forge)
|
||||
lore:
|
||||
- 使用堆肥機
|
||||
- 製造該物品
|
||||
name: 堆肥機(Food Composter)
|
||||
food_fabricator:
|
||||
- 在盔甲鍛造檯中
|
||||
- 鍛造出該物品
|
||||
grind_stone:
|
||||
name: 研磨機(Grind Stone)
|
||||
lore:
|
||||
- 使用食品加工場
|
||||
- 製造該物品
|
||||
name: 食品加工場(Food Fabricator)
|
||||
- 在研磨機中
|
||||
- 研磨出該物品
|
||||
smeltery:
|
||||
name: 冶(一ㄝˇ )煉爐(Smeltery)
|
||||
lore:
|
||||
- 在冶煉爐中
|
||||
- 冶煉出該物品
|
||||
ore_crusher:
|
||||
name: 礦石粉碎機(Ore Crusher)
|
||||
lore:
|
||||
- 使用礦石粉碎機
|
||||
- 粉碎出該物品
|
||||
mob_drop:
|
||||
name: 怪物掉落物
|
||||
lore:
|
||||
- 擊殺該怪物
|
||||
- 以取得該物品
|
||||
gold_pan:
|
||||
name: 掏金盤(Gold Pan)[工具區]
|
||||
lore:
|
||||
- '使用掏金盤
|
||||
|
||||
'
|
||||
- 篩出此物品
|
||||
name: 掏金盤(Gold Pan)[工具區]
|
||||
grind_stone:
|
||||
compressor:
|
||||
name: 壓縮機(Compressor)
|
||||
lore:
|
||||
- 在研磨機中
|
||||
- 研磨出該物品
|
||||
name: 研磨機(Grind Stone)
|
||||
heated_pressure_chamber:
|
||||
lore:
|
||||
- 使用高溫加壓室
|
||||
- 使用壓縮機
|
||||
- 壓縮出該物品
|
||||
name: |-
|
||||
高溫加壓室
|
||||
(Heated Pressure Chamber)
|
||||
juicer:
|
||||
lore:
|
||||
- 使用果汁機
|
||||
- 榨出蓋物品
|
||||
name: 果汁機(Juicer)
|
||||
magic_workbench:
|
||||
lore:
|
||||
- 使用魔法合成檯
|
||||
- 合成出該物品
|
||||
name: 魔法合成檯(Magic Workbench)
|
||||
mob_drop:
|
||||
lore:
|
||||
- 擊殺該怪物
|
||||
- 以取得該物品
|
||||
name: 怪物掉落物
|
||||
multiblock:
|
||||
lore:
|
||||
- 在世界中蓋出該結構
|
||||
- 這不是一個可合成的物品
|
||||
name: 多重方塊
|
||||
ore_crusher:
|
||||
lore:
|
||||
- 使用礦石粉碎機
|
||||
- 粉碎出該物品
|
||||
name: 礦石粉碎機(Ore Crusher)
|
||||
ore_washer:
|
||||
lore:
|
||||
- 使用礦物洗滌機
|
||||
- 篩出該物品
|
||||
name: 礦物洗滌機(Ore Washer)
|
||||
pressure_chamber:
|
||||
name: 加壓室(Pressure Chamber)
|
||||
lore:
|
||||
- 使用加壓室
|
||||
- 壓縮出該物品
|
||||
name: 加壓室(Pressure Chamber)
|
||||
smeltery:
|
||||
ore_washer:
|
||||
name: 礦物洗滌機(Ore Washer)
|
||||
lore:
|
||||
- 在冶煉爐中
|
||||
- 冶煉出該物品
|
||||
name: 冶(一ㄝˇ )煉爐(Smeltery)
|
||||
- 使用礦物洗滌機
|
||||
- 篩出該物品
|
||||
juicer:
|
||||
name: 果汁機(Juicer)
|
||||
lore:
|
||||
- 使用果汁機
|
||||
- 榨出蓋物品
|
||||
magic_workbench:
|
||||
name: 魔法合成檯(Magic Workbench)
|
||||
lore:
|
||||
- 使用魔法合成檯
|
||||
- 合成出該物品
|
||||
ancient_altar:
|
||||
name: 古代祭壇(Ancient Altar)
|
||||
lore:
|
||||
- 使用古代祭壇
|
||||
- 合成出該物品
|
||||
- 到古代祭壇頁面獲取更多資訊
|
||||
heated_pressure_chamber:
|
||||
name: |-
|
||||
高溫加壓室
|
||||
(Heated Pressure Chamber)
|
||||
lore:
|
||||
- 使用高溫加壓室
|
||||
- 壓縮出該物品
|
||||
food_fabricator:
|
||||
name: 食品加工場(Food Fabricator)
|
||||
lore:
|
||||
- 使用食品加工場
|
||||
- 製造該物品
|
||||
food_composter:
|
||||
name: 堆肥機(Food Composter)
|
||||
lore:
|
||||
- 使用堆肥機
|
||||
- 製造該物品
|
||||
freezer:
|
||||
name: 冷凍艙(Freezer)
|
||||
lore:
|
||||
@ -160,3 +122,46 @@ slimefun:
|
||||
lore:
|
||||
- 使用煉油廠
|
||||
- 提煉該物品
|
||||
minecraft:
|
||||
shaped:
|
||||
name: 有序合成
|
||||
lore:
|
||||
- 數量一樣
|
||||
- 位置一致
|
||||
- "(原版合成檯)"
|
||||
shapeless:
|
||||
name: 無序合成
|
||||
lore:
|
||||
- 數量一樣
|
||||
- 位置不重要
|
||||
- "(原版合成檯)"
|
||||
furnace:
|
||||
name: 熔爐合成表
|
||||
lore:
|
||||
- 加熱燒一燒
|
||||
- 成品出來了!
|
||||
blasting:
|
||||
name: 高爐合成表
|
||||
lore:
|
||||
- 加熱燒一燒
|
||||
- 成品出來了!
|
||||
smoking:
|
||||
name: 煙燻爐合成表
|
||||
lore:
|
||||
- 加熱燒一燒
|
||||
- 成品出來了!
|
||||
campfire:
|
||||
name: 營火合成表
|
||||
lore:
|
||||
- 加熱燒一燒
|
||||
- "\t\n成品出來了!"
|
||||
stonecutting:
|
||||
name: 切石機合成表
|
||||
lore:
|
||||
- 上去磨一磨
|
||||
- "\t\n成品出來了!"
|
||||
smithing:
|
||||
name: 鍛造台合成表
|
||||
lore:
|
||||
- 鍛造一下下
|
||||
- 成品出來了
|
||||
|
@ -124,11 +124,14 @@ slimefun:
|
||||
block_placer: Colocador de Blocos
|
||||
scroll_of_dimensional_teleposition: Mudando as Coisas
|
||||
special_bows: Robin Hood
|
||||
tome_of_knowledge_sharing: Compartilhando com amigos
|
||||
flask_of_knowledge: Armazenamento de XP
|
||||
hardened_glass: Suportar Explosões
|
||||
golden_apple_juice: Poção Dourada
|
||||
cooler: Bebidas Portáteis
|
||||
ancient_altar: Altar Ancião
|
||||
wither_proof_obsidian: Obsidiana à Prova de Wither
|
||||
ancient_runes: Runas Elementais
|
||||
special_runes: Runas Roxas
|
||||
infernal_bonemeal: Farinha de Osso Infernal
|
||||
rainbow_blocks: Blocos Coloridos
|
||||
@ -166,12 +169,14 @@ slimefun:
|
||||
energized_gps_transmitter: Transmissor de Nível Superior
|
||||
energy_regulator: Redes de Energia 101
|
||||
butcher_androids: Androids Açougueiro
|
||||
organic_food: Comida Orgânica
|
||||
auto_breeder: Alimentação Automatizada
|
||||
advanced_android: Androids Avançados
|
||||
advanced_butcher_android: Androids Avançados - Açougueiro
|
||||
advanced_fisherman_android: Androids Avançados - Pescador
|
||||
animal_growth_accelerator: Manipulação do Crescimento Animal
|
||||
xp_collector: Coletor de XP
|
||||
organic_fertilizer: Fertilizante Orgânico
|
||||
crop_growth_accelerator: Acelerador de Crescimento de Sementes
|
||||
better_crop_growth_accelerator: Acelerador de Crescimento de Sementes Atualizado
|
||||
reactor_essentials: Fundamentos do Reator
|
||||
@ -181,6 +186,7 @@ slimefun:
|
||||
cargo_nodes: Configuração de Carga
|
||||
electric_ingot_machines: Fabricação de Barras Elétricas
|
||||
high_tier_electric_ingot_machines: Fabricação de Barras Super Rápida
|
||||
automated_crafting_chamber: Criação Automatizada
|
||||
better_food_fabricator: Fabricação de Alimentos Atualizada
|
||||
reactor_access_port: Interação do Reator
|
||||
fluid_pump: Bomba de Fluido
|
||||
@ -224,9 +230,9 @@ slimefun:
|
||||
electric_press: Prensa Elétrica
|
||||
magnesium_generator: Gerador de Magnésio
|
||||
kelp_cookie: Alga Marinha Saborosa
|
||||
tome_of_knowledge_sharing: Compartilhando com amigos
|
||||
ancient_altar: Altar Ancião
|
||||
ancient_runes: Runas Elementais
|
||||
organic_food: Comida Orgânica
|
||||
organic_fertilizer: Fertilizante Orgânico
|
||||
automated_crafting_chamber: Criação Automatizada
|
||||
makeshift_smeltery: Fundição Improvisada
|
||||
tree_growth_accelerator: Árvores mais rápidas
|
||||
industrial_miner: Mineração Industrial
|
||||
advanced_industrial_miner: Melhor mineração
|
||||
magical_zombie_pills: Deszombificação
|
||||
auto_brewer: Cervejaria Industrial
|
||||
|
@ -1,236 +1,238 @@
|
||||
---
|
||||
slimefun:
|
||||
24k_gold_block: "«Эльдорадо»"
|
||||
advanced_android: Продвинутые Андроиды
|
||||
advanced_butcher_android: Продвинутый Андроид-мясник
|
||||
advanced_circuit_board: Печатная плата
|
||||
advanced_electric_smeltery: Модернизированная электрическая плавильня
|
||||
advanced_farmer_android: Продвинутый Андроид-фермер
|
||||
advanced_fisherman_android: Продвинутый Андроид-рыбак
|
||||
advanced_output_node: Продвинутый грузовой узел
|
||||
alloys: Продвинутые сплавы
|
||||
ancient_altar: Древний алтарь
|
||||
ancient_runes: Стихийные руны
|
||||
android_interfaces: Андроид-интерфейсы
|
||||
android_memory_core: Ядро памяти
|
||||
angel_talisman: Талисман ангела
|
||||
animal_growth_accelerator: Ускоритель роста животных
|
||||
anvil_talisman: Талисман кузнеца
|
||||
armored_jetboots: Бронированные реактивные ботинки
|
||||
armored_jetpack: Бронированный реактивный ранец
|
||||
walking_sticks: Мои любимые трости
|
||||
portable_crafter: Портативный крафтер
|
||||
fortune_cookie: Печенье судьбы
|
||||
portable_dustbin: Портативный мусорный ящик
|
||||
meat_jerky: Вяленое мясо
|
||||
armor_forge: Изготовление доспехов
|
||||
auto_anvil: Автоматизированная наковальня
|
||||
auto_breeder: Автоматизированное размножение
|
||||
auto_drier: "«День сушки»"
|
||||
auto_enchanting: Автоматизированное зачаровывание и разачаровывание
|
||||
automated_crafting_chamber: Автоматизированный крафт
|
||||
automated_panning_machine: Автоматизированная рудопромывочная машина
|
||||
automatic_ignition_chamber: Автоматизированная камера зажигания
|
||||
backpacks: Рюкзаки
|
||||
glowstone_armor: Светящаяся броня
|
||||
lumps: Осколки Незера и Эндера
|
||||
ender_backpack: Эндер-рюкзак
|
||||
ender_armor: Эндер-броня
|
||||
magic_eye_of_ender: Магическое око Эндера
|
||||
magic_sugar: Волшебный сахар
|
||||
monster_jerky: Вяленая плоть
|
||||
slime_armor: Слизневая броня
|
||||
sword_of_beheading: Меч обезглавливания
|
||||
basic_circuit_board: Монтажная плата
|
||||
advanced_circuit_board: Печатная плата
|
||||
smeltery: Плавильня
|
||||
steel: Стальной век
|
||||
misc_power_items: Важные ресурсы для питания сети
|
||||
battery: Ваша первая батарея
|
||||
better_carbon_press: Модернизированный углеродный пресс
|
||||
better_crop_growth_accelerator: Модернизированный ускоритель роста растений
|
||||
better_electric_crucibles: Горячие тигли
|
||||
better_electric_furnace: Модернизированная электрическая печь
|
||||
better_food_fabricator: Улучшенная пищевая фабрика
|
||||
better_freezer: Улучшенная морозилка
|
||||
better_gps_transmitters: Модернизированные передатчики
|
||||
better_heated_pressure_chamber: Модернизированная обогреваемая барокамера
|
||||
better_solar_generators: Модернизированные солнечные генераторы
|
||||
bio_reactor: Биореактор
|
||||
blade_of_vampires: Вампирский клинок
|
||||
blistering_ingots: Раскалённые слитки
|
||||
block_placer: Размещатель блоков
|
||||
boosted_uranium: "«Замкнутый круг»"
|
||||
boots_of_the_stomper: Сапожки путешественника
|
||||
bound_armor: Персональная броня
|
||||
bound_backpack: Персональное хранилище
|
||||
bound_tools: Персональные инструменты
|
||||
bound_weapons: Персональное оружие
|
||||
bronze: Создание бронзы
|
||||
butcher_androids: Андроид-мясник
|
||||
steel_plate: Стальное покрытие
|
||||
steel_thruster: Стальной ускоритель
|
||||
parachute: Парашют
|
||||
grappling_hook: Крюк-кошка
|
||||
jetpacks: Реактивные ранцы
|
||||
multitools: Мультиинструменты
|
||||
solar_panel_and_helmet: Солнечная энергия
|
||||
elemental_staff: Стихийные посохи
|
||||
grind_stone: Точильный камень
|
||||
cactus_armor: Кактусовый костюм
|
||||
capacitors: Маленький накопитель энергии
|
||||
carbonado: Карбонадо
|
||||
carbonado_furnace: Карбонадовая печь
|
||||
carbonado_tools: Высокоуровневые машины
|
||||
carbon_press: Углеродный пресс
|
||||
cargo_basics: Основы грузовой сети
|
||||
cargo_nodes: Установка грузовой сети
|
||||
chainmail_armor: Кольчужная броня
|
||||
charging_bench: Зарядное устройство-верстак
|
||||
coal_generator: Угольный генератор
|
||||
cobalt_pickaxe: Кобальтовая кирка
|
||||
combustion_reactor: Реактор внутреннего сгорания
|
||||
common_talisman: Обычный талисман
|
||||
composter: Компостирование грязи
|
||||
gold_pan: Рудопромывочный лоток
|
||||
magical_book_cover: Обложка магической книги
|
||||
slimefun_metals: Новые металлы
|
||||
ore_crusher: Разрушитель руд
|
||||
bronze: Создание бронзы
|
||||
alloys: Продвинутые сплавы
|
||||
compressor_and_carbon: Создание углерода
|
||||
cooler: "«Переносной холодильник»"
|
||||
copper_wire: Медный провод
|
||||
crop_growth_accelerator: Ускорение роста растений
|
||||
crucible: Тигель
|
||||
crushed_ore: Очистка руды
|
||||
gilded_iron_armor: Позолоченные железные доспехи
|
||||
synthetic_diamond: Синтезированный алмаз
|
||||
pressure_chamber: Барокамера
|
||||
synthetic_sapphire: Синтетические сапфиры
|
||||
damascus_steel: Слиток дамасской стали
|
||||
damascus_steel_armor: Доспехи из дамасской стали
|
||||
diet_cookie: Диетическое печенье
|
||||
duct_tape: Скотч
|
||||
electric_crucible: Электрический тигель
|
||||
electric_furnaces: Электрическая печь
|
||||
electric_ingot_machines: Электрический завод слитков
|
||||
reinforced_alloy: Армированный сплав
|
||||
carbonado: Карбонадо
|
||||
magic_workbench: Магический верстак
|
||||
wind_staff: Посох ветров
|
||||
reinforced_armor: Армированная броня
|
||||
ore_washer: Очиститель руд
|
||||
gold_carats: Чистое золото
|
||||
silicon: Силиконовая долина
|
||||
fire_staff: Посох пламени
|
||||
smelters_pickaxe: Плазменная кирка
|
||||
common_talisman: Обычный талисман
|
||||
anvil_talisman: Талисман кузнеца
|
||||
miner_talisman: Талисман шахтёра
|
||||
hunter_talisman: Талисман охотника
|
||||
lava_talisman: Талисман покорителя лавы
|
||||
water_talisman: Талисман покорителя воды
|
||||
angel_talisman: Талисман ангела
|
||||
fire_talisman: Талисман пожарного
|
||||
lava_crystal: "«Огненная ситуация»"
|
||||
magician_talisman: Талисман мага
|
||||
traveller_talisman: Талисман путешественника
|
||||
warrior_talisman: Талисман воина
|
||||
knight_talisman: Талисман рыцаря
|
||||
gilded_iron: "«Блестящее железо»"
|
||||
synthetic_emerald: Фальшивый изумруд
|
||||
chainmail_armor: Кольчужная броня
|
||||
whirlwind_talisman: Талисман вихря
|
||||
wizard_talisman: Талисман волшебника
|
||||
lumber_axe: Топор дровосека
|
||||
hazmat_suit: Костюм химзащиты
|
||||
uranium: Радиоактивные штучки
|
||||
crushed_ore: Очистка руды
|
||||
redstone_alloy: Редстоуновый сплав
|
||||
carbonado_tools: Высокоуровневые машины
|
||||
first_aid: Первая помощь
|
||||
gold_armor: "«Блестящие доспехи»"
|
||||
night_vision_googles: Прибор ночного видения
|
||||
pickaxe_of_containment: Кирка сдерживания
|
||||
hercules_pickaxe: Геркулесовая кирка
|
||||
table_saw: Лесопилка
|
||||
slime_steel_armor: Слизистые стальные доспехи
|
||||
blade_of_vampires: Вампирский клинок
|
||||
water_staff: Посох морей
|
||||
24k_gold_block: "«Эльдорадо»"
|
||||
composter: Компостирование грязи
|
||||
farmer_shoes: Фермерские ботинки
|
||||
explosive_tools: Взрывные инструменты
|
||||
automated_panning_machine: Автоматизированная рудопромывочная машина
|
||||
boots_of_the_stomper: Сапожки путешественника
|
||||
pickaxe_of_the_seeker: Кирка искателя
|
||||
backpacks: Рюкзаки
|
||||
woven_backpack: Тканевой рюкзак
|
||||
crucible: Тигель
|
||||
gilded_backpack: Позолоченный рюкзак
|
||||
armored_jetpack: Бронированный реактивный ранец
|
||||
ender_talismans: Эндер-талисманы
|
||||
nickel_and_cobalt: Даже больше руд!
|
||||
magnet: Магнитные металлы
|
||||
infused_magnet: Магнит?
|
||||
cobalt_pickaxe: Кобальтовая кирка
|
||||
essence_of_afterlife: Некромантия
|
||||
bound_backpack: Персональное хранилище
|
||||
jetboots: Реактивные ботинки
|
||||
armored_jetboots: Бронированные реактивные ботинки
|
||||
seismic_axe: Сейсмический топор
|
||||
pickaxe_of_vein_mining: Кирка жильного копания
|
||||
bound_weapons: Персональное оружие
|
||||
bound_tools: Персональные инструменты
|
||||
bound_armor: Персональная броня
|
||||
juicer: Вкусные напитки
|
||||
repaired_spawner: Починка спавнеров
|
||||
enhanced_furnace: Продвинутая печь
|
||||
more_enhanced_furnaces: Улучшенные печи
|
||||
high_tier_enhanced_furnaces: Высокоуровневая печь
|
||||
reinforced_furnace: Усиленная печь
|
||||
carbonado_furnace: Карбонадовая печь
|
||||
electric_motor: "«Нагрев»"
|
||||
block_placer: Размещатель блоков
|
||||
scroll_of_dimensional_teleposition: Поворот вещей вокруг
|
||||
special_bows: "«Робин Гуд»"
|
||||
tome_of_knowledge_sharing: Поделиться с ближними
|
||||
flask_of_knowledge: Хранилище опыта
|
||||
hardened_glass: Покорение взрывов
|
||||
golden_apple_juice: "«Золотое зелье»"
|
||||
cooler: "«Переносной холодильник»"
|
||||
ancient_altar: Древний алтарь
|
||||
wither_proof_obsidian: Визеростойкий обсидиан
|
||||
ancient_runes: Стихийные руны
|
||||
special_runes: Особые руны
|
||||
infernal_bonemeal: Незерская костная мука
|
||||
rainbow_blocks: Радужные блоки
|
||||
infused_hopper: Заряженная воронка
|
||||
wither_proof_glass: Визеростойкое стекло
|
||||
duct_tape: Скотч
|
||||
plastic_sheet: Пластик
|
||||
android_memory_core: Ядро памяти
|
||||
oil: Нефть!
|
||||
fuel: Топливо
|
||||
hologram_projector: ГоЛоГрАмМы
|
||||
capacitors: Маленький накопитель энергии
|
||||
high_tier_capacitors: Средний накопитель энергии
|
||||
solar_generators: Солнечная электростанция
|
||||
electric_furnaces: Электрическая печь
|
||||
electric_ore_grinding: Дробление и распыление
|
||||
electric_press: Электрический пресс
|
||||
electric_smeltery: Электрическая плавильня
|
||||
elemental_staff: Стихийные посохи
|
||||
heated_pressure_chamber: Обогреваемая барокамера
|
||||
coal_generator: Угольный генератор
|
||||
bio_reactor: Биореактор
|
||||
auto_enchanting: Автоматизированное зачаровывание и разачаровывание
|
||||
auto_anvil: Автоматизированная наковальня
|
||||
multimeter: Измерение мощности
|
||||
gps_setup: Базовая GPS установка
|
||||
gps_emergency_transmitter: GPS аварийная точка
|
||||
programmable_androids: Программируемые Андроиды
|
||||
android_interfaces: Андроид-интерфейсы
|
||||
geo_scanner: Гоесканирование
|
||||
combustion_reactor: Реактор внутреннего сгорания
|
||||
teleporter: Базовые компоненты телепортера
|
||||
teleporter_activation_plates: Активация телепортера
|
||||
better_solar_generators: Модернизированные солнечные генераторы
|
||||
better_gps_transmitters: Модернизированные передатчики
|
||||
elevator: Лифтовая плита
|
||||
elytra: Элитры
|
||||
energized_solar_generator: Солнечная энергия круглые сутки!
|
||||
energized_gps_transmitter: Высокоуровневый передатчик
|
||||
energy_regulator: Электрические сети
|
||||
butcher_androids: Андроид-мясник
|
||||
organic_food: Органическая пища
|
||||
auto_breeder: Автоматизированное размножение
|
||||
advanced_android: Продвинутые Андроиды
|
||||
advanced_butcher_android: Продвинутый Андроид-мясник
|
||||
advanced_fisherman_android: Продвинутый Андроид-рыбак
|
||||
animal_growth_accelerator: Ускоритель роста животных
|
||||
xp_collector: Собиратель опыта
|
||||
organic_fertilizer: Органические удобрения
|
||||
crop_growth_accelerator: Ускорение роста растений
|
||||
better_crop_growth_accelerator: Модернизированный ускоритель роста растений
|
||||
reactor_essentials: Реакторные основы
|
||||
nuclear_reactor: Атомная электростанция
|
||||
freezer: Морозилка
|
||||
cargo_basics: Основы грузовой сети
|
||||
cargo_nodes: Установка грузовой сети
|
||||
electric_ingot_machines: Электрический завод слитков
|
||||
high_tier_electric_ingot_machines: Сверхбыстрый электрический завод слитков
|
||||
automated_crafting_chamber: Автоматизированный крафт
|
||||
better_food_fabricator: Улучшенная пищевая фабрика
|
||||
reactor_access_port: Порт доступа к реактору
|
||||
fluid_pump: Жидкостный насос
|
||||
better_freezer: Улучшенная морозилка
|
||||
boosted_uranium: "«Замкнутый круг»"
|
||||
trash_can: Мусорка
|
||||
advanced_output_node: Продвинутый грузовой узел
|
||||
carbon_press: Углеродный пресс
|
||||
electric_smeltery: Электрическая плавильня
|
||||
better_electric_furnace: Модернизированная электрическая печь
|
||||
better_carbon_press: Модернизированный углеродный пресс
|
||||
empowered_android: Усиленные Андроиды
|
||||
empowered_butcher_android: Усиленный Андроид-мясник
|
||||
empowered_fisherman_android: Усиленный Андроид-рыбак
|
||||
ender_armor: Эндер-броня
|
||||
ender_backpack: Эндер-рюкзак
|
||||
ender_talismans: Эндер-талисманы
|
||||
energized_gps_transmitter: Высокоуровневый передатчик
|
||||
energized_solar_generator: Солнечная энергия круглые сутки!
|
||||
energy_regulator: Электрические сети
|
||||
enhanced_furnace: Продвинутая печь
|
||||
essence_of_afterlife: Некромантия
|
||||
explosive_tools: Взрывные инструменты
|
||||
farmer_shoes: Фермерские ботинки
|
||||
fire_staff: Посох пламени
|
||||
fire_talisman: Талисман пожарного
|
||||
first_aid: Первая помощь
|
||||
flask_of_knowledge: Хранилище опыта
|
||||
fluid_pump: Жидкостный насос
|
||||
fortune_cookie: Печенье судьбы
|
||||
freezer: Морозилка
|
||||
fuel: Топливо
|
||||
geo_miner: Геокопатель
|
||||
geo_scanner: Гоесканирование
|
||||
gilded_backpack: Позолоченный рюкзак
|
||||
gilded_iron: "«Блестящее железо»"
|
||||
gilded_iron_armor: Позолоченные железные доспехи
|
||||
glowstone_armor: Светящаяся броня
|
||||
gold_armor: "«Блестящие доспехи»"
|
||||
gold_carats: Чистое золото
|
||||
golden_apple_juice: "«Золотое зелье»"
|
||||
gold_pan: Рудопромывочный лоток
|
||||
gps_emergency_transmitter: GPS аварийная точка
|
||||
gps_setup: Базовая GPS установка
|
||||
grappling_hook: Крюк-кошка
|
||||
grind_stone: Точильный камень
|
||||
hardened_glass: Покорение взрывов
|
||||
hazmat_suit: Костюм химзащиты
|
||||
heated_pressure_chamber: Обогреваемая барокамера
|
||||
hercules_pickaxe: Геркулесовая кирка
|
||||
high_tier_capacitors: Средний накопитель энергии
|
||||
high_tier_carbon_press: Высокоуровневый углеродный пресс
|
||||
high_tier_electric_ingot_machines: Сверхбыстрый электрический завод слитков
|
||||
high_tier_enhanced_furnaces: Высокоуровневая печь
|
||||
hologram_projector: ГоЛоГрАмМы
|
||||
hunter_talisman: Талисман охотника
|
||||
infernal_bonemeal: Незеритовая костная мука
|
||||
infused_hopper: Заряженная воронка
|
||||
infused_magnet: Магнит?
|
||||
jetboots: Реактивные ботинки
|
||||
jetpacks: Реактивные ранцы
|
||||
juicer: Вкусные напитки
|
||||
kelp_cookie: Вкусная водоросль
|
||||
knight_talisman: Талисман рыцаря
|
||||
lava_crystal: "«Огненная ситуация»"
|
||||
lava_generator: Лавовый генератор
|
||||
lava_talisman: Талисман покорителя лавы
|
||||
lightning_rune: Молниевая руна
|
||||
lumber_axe: Топор дровосека
|
||||
lumps: Осколки Незера и Эндера
|
||||
magical_book_cover: Обложка магической книги
|
||||
magic_eye_of_ender: Магическое око Эндера
|
||||
magician_talisman: Талисман мага
|
||||
magic_sugar: Волшебный сахар
|
||||
magic_workbench: Магический верстак
|
||||
magnesium_generator: Магниевое питание
|
||||
magnet: Магнитные металлы
|
||||
makeshift_smeltery: Импровизированная плавильня
|
||||
meat_jerky: Вяленое мясо
|
||||
miner_talisman: Талисман шахтёра
|
||||
misc_power_items: Важные ресурсы для питания сети
|
||||
monster_jerky: Вяленая плоть
|
||||
more_enhanced_furnaces: Улучшенные печи
|
||||
multimeter: Измерение мощности
|
||||
multitools: Мультиинструменты
|
||||
nether_gold_pan: Незеритовый рудопромывочный лоток
|
||||
nether_ice: Незеритовый хладагент
|
||||
nether_star_reactor: Звёздный незеритовый реактор
|
||||
nickel_and_cobalt: Даже больше руд!
|
||||
night_vision_googles: Прибор ночного видения
|
||||
nuclear_reactor: Атомная электростанция
|
||||
oil: Нефть!
|
||||
ore_crusher: Разрушитель руд
|
||||
ore_washer: Очиститель руд
|
||||
organic_fertilizer: Органические удобрения
|
||||
organic_food: Органическая пища
|
||||
output_chest: Выходной сундук
|
||||
parachute: Парашют
|
||||
pickaxe_of_containment: Кирка сдерживания
|
||||
pickaxe_of_the_seeker: Кирка искателя
|
||||
pickaxe_of_vein_mining: Кирка жильного копания
|
||||
plastic_sheet: Пластик
|
||||
portable_crafter: Портативный крафтер
|
||||
portable_dustbin: Портативный мусорный ящик
|
||||
pressure_chamber: Барокамера
|
||||
programmable_androids: Программируемые Андроиды
|
||||
radiant_backpack: Рюкзак путешественника
|
||||
rainbow_blocks: Радужные блоки
|
||||
reactor_access_port: Порт доступа к реактору
|
||||
reactor_essentials: Реакторные основы
|
||||
redstone_alloy: Редстоуновый сплав
|
||||
reinforced_alloy: Армированный сплав
|
||||
reinforced_armor: Армированная броня
|
||||
reinforced_furnace: Усиленная печь
|
||||
repaired_spawner: Починка спавнеров
|
||||
scroll_of_dimensional_teleposition: Поворот вещей вокруг
|
||||
seismic_axe: Сейсмический топор
|
||||
silicon: Силиконовая долина
|
||||
slime_armor: Слизневая броня
|
||||
slimefun_metals: Новые металлы
|
||||
slime_steel_armor: Слизистые стальные доспехи
|
||||
smelters_pickaxe: Плазменная кирка
|
||||
smeltery: Плавильня
|
||||
solar_generators: Солнечная электростанция
|
||||
solar_panel_and_helmet: Солнечная энергия
|
||||
soulbound_rune: Персональная руна
|
||||
special_bows: "«Робин Гуд»"
|
||||
special_elytras: Особые элитры
|
||||
special_runes: Особые руны
|
||||
steel: Стальной век
|
||||
steel_plate: Стальное покрытие
|
||||
steel_thruster: Стальной ускоритель
|
||||
storm_staff: Штормовой посох
|
||||
sword_of_beheading: Меч обезглавливания
|
||||
synthetic_diamond: Синтезированный алмаз
|
||||
synthetic_emerald: Фальшивый изумруд
|
||||
synthetic_sapphire: Синтетические сапфиры
|
||||
table_saw: Лесопилка
|
||||
teleporter: Базовые компоненты телепортера
|
||||
teleporter_activation_plates: Активация телепортера
|
||||
tome_of_knowledge_sharing: Поделиться с ближними
|
||||
totem_of_undying: Тотем бессмертия
|
||||
trash_can: Мусорка
|
||||
traveller_talisman: Талисман путешественника
|
||||
tree_growth_accelerator: Быстрорастущие деревья
|
||||
uranium: Радиоактивные штучки
|
||||
walking_sticks: Мои любимые трости
|
||||
warrior_talisman: Талисман воина
|
||||
water_staff: Посох морей
|
||||
water_talisman: Талисман покорителя воды
|
||||
whirlwind_talisman: Талисман вихря
|
||||
wind_staff: Посох ветров
|
||||
wither_assembler: Образователь Визеров
|
||||
wither_proof_glass: Визеростойкое стекло
|
||||
wither_proof_obsidian: Визеростойкий обсидиан
|
||||
wizard_talisman: Талисман волшебника
|
||||
woven_backpack: Тканевой рюкзак
|
||||
xp_collector: Собиратель опыта
|
||||
better_heated_pressure_chamber: Модернизированная обогреваемая барокамера
|
||||
elytra: Элитры
|
||||
special_elytras: Особые элитры
|
||||
electric_crucible: Электрический тигель
|
||||
better_electric_crucibles: Горячие тигли
|
||||
advanced_electric_smeltery: Модернизированная электрическая плавильня
|
||||
advanced_farmer_android: Продвинутый Андроид-фермер
|
||||
lava_generator: Лавовый генератор
|
||||
nether_ice: Незерский хладагент
|
||||
nether_star_reactor: Звёздный незерский реактор
|
||||
blistering_ingots: Раскалённые слитки
|
||||
automatic_ignition_chamber: Автоматизированная камера зажигания
|
||||
output_chest: Выходной сундук
|
||||
copper_wire: Медный провод
|
||||
radiant_backpack: Рюкзак путешественника
|
||||
auto_drier: "«День сушки»"
|
||||
diet_cookie: Диетическое печенье
|
||||
storm_staff: Штормовой посох
|
||||
soulbound_rune: Персональная руна
|
||||
geo_miner: Геокопатель
|
||||
lightning_rune: Молниевая руна
|
||||
totem_of_undying: Тотем бессмертия
|
||||
charging_bench: Зарядное устройство-верстак
|
||||
nether_gold_pan: Незерский рудопромывочный лоток
|
||||
electric_press: Электрический пресс
|
||||
magnesium_generator: Магниевое питание
|
||||
kelp_cookie: Вкусная водоросль
|
||||
makeshift_smeltery: Импровизированная плавильня
|
||||
tree_growth_accelerator: Быстрорастущие деревья
|
||||
industrial_miner: Промышленная добыча
|
||||
advanced_industrial_miner: Улучшенная добыча
|
||||
magical_zombie_pills: Дезомбификация
|
||||
auto_brewer: Промышленная пивоварня
|
||||
|
@ -1,236 +1,238 @@
|
||||
---
|
||||
slimefun:
|
||||
24k_gold_block: "«Ельдорадо»"
|
||||
advanced_android: Просунуті Андроїди
|
||||
advanced_butcher_android: Просунутий Андроїд-м’ясник
|
||||
advanced_circuit_board: Друкована плата
|
||||
advanced_electric_smeltery: Модернізована електрична плавильня
|
||||
advanced_farmer_android: Покращений Андроїд-фермер
|
||||
advanced_fisherman_android: Просунутий Андроїд-рибалка
|
||||
advanced_output_node: Просунутий вантажний вузол
|
||||
alloys: Передові сплави
|
||||
ancient_altar: Стародавній вівтар
|
||||
ancient_runes: Стихійні руни
|
||||
android_interfaces: Андроїд-інтерфейси
|
||||
android_memory_core: Ядро пам’яті
|
||||
angel_talisman: Талісман ангела
|
||||
animal_growth_accelerator: Прискорювач росту тварин
|
||||
anvil_talisman: Талісман коваля
|
||||
armored_jetboots: Броньовані реактивні черевики
|
||||
armored_jetpack: Броньований реактивний ранець
|
||||
walking_sticks: Мої улюблені палиці
|
||||
portable_crafter: Портативний крафтер
|
||||
fortune_cookie: Печиво долі
|
||||
portable_dustbin: Портативна мусорка
|
||||
meat_jerky: В’ялене м’ясо
|
||||
armor_forge: Виготовлення обладунків
|
||||
auto_anvil: Автоматизоване ковадло
|
||||
auto_breeder: Автоматизоване розмноження
|
||||
auto_drier: "«День сушки»"
|
||||
auto_enchanting: Автоматизоване зачарування та розчарування
|
||||
automated_crafting_chamber: Автоматизований крафт
|
||||
automated_panning_machine: Автоматизована машина для очищення руди
|
||||
automatic_ignition_chamber: Автоматизована камера запалювання
|
||||
backpacks: Рюкзаки
|
||||
glowstone_armor: Сяюча броня
|
||||
lumps: Уламки Незеру та Енду
|
||||
ender_backpack: Ендер-рюкзак
|
||||
ender_armor: Ендер-броня
|
||||
magic_eye_of_ender: Магічне око Енду
|
||||
magic_sugar: Чарівний цукор
|
||||
monster_jerky: В’ялена плоть
|
||||
slime_armor: Слизова броня
|
||||
sword_of_beheading: Меч обезголовлювання
|
||||
basic_circuit_board: Монтажна плата
|
||||
advanced_circuit_board: Друкована плата
|
||||
smeltery: Плавильня
|
||||
steel: Сталевий вік
|
||||
misc_power_items: Важливі ресурси для підтримання електромережі
|
||||
battery: Ваша перша батарея
|
||||
better_carbon_press: Модернізований вуглецевий прес
|
||||
better_crop_growth_accelerator: Модернізований прискорювач росту рослин
|
||||
better_electric_crucibles: Гарячі тиглі
|
||||
better_electric_furnace: Модернізована електрична піч
|
||||
better_food_fabricator: Покращена харчова фабрика
|
||||
better_freezer: Покращена морозилка
|
||||
better_gps_transmitters: Модернізовані передавачі
|
||||
better_heated_pressure_chamber: Модернізована обігріваюча барокамера
|
||||
better_solar_generators: Модернізовані сонячні генератори
|
||||
bio_reactor: Біореактор
|
||||
blade_of_vampires: Вампірський клинок
|
||||
blistering_ingots: Розпечені злитки
|
||||
block_placer: Розміщувач блоків
|
||||
boosted_uranium: "«Замкнуте коло»"
|
||||
boots_of_the_stomper: Чобітки мандрівника
|
||||
bound_armor: Персональна броня
|
||||
bound_backpack: Персональне сховище
|
||||
bound_tools: Персональні інструменти
|
||||
bound_weapons: Персональна зброя
|
||||
bronze: Створення бронзи
|
||||
butcher_androids: Андроїд-м’ясник
|
||||
steel_plate: Сталеве покриття
|
||||
steel_thruster: Сталевий прискорювач
|
||||
parachute: Парашут
|
||||
grappling_hook: Крюк-кішка
|
||||
jetpacks: Реактивні ранці
|
||||
multitools: Мультиприбори
|
||||
solar_panel_and_helmet: Сонячна енергія
|
||||
elemental_staff: Стихійні посохи
|
||||
grind_stone: Точильний камінь
|
||||
cactus_armor: Кактусовий костюм
|
||||
capacitors: Маленький накопичувач енергії
|
||||
carbonado: Карбонад
|
||||
carbonado_furnace: Піч-карбонадо
|
||||
carbonado_tools: Високорівневі машини
|
||||
carbon_press: Вуглецевий прес
|
||||
cargo_basics: Основи вантажної мережі
|
||||
cargo_nodes: Налаштування вантажної мережі
|
||||
chainmail_armor: Кольчужна броня
|
||||
charging_bench: Зарядний пристрій-верстак
|
||||
coal_generator: Вугільний генератор
|
||||
cobalt_pickaxe: Кобальтове кайло
|
||||
combustion_reactor: Реактор внутрішнього згоряння
|
||||
common_talisman: Звичайний талісман
|
||||
composter: Компостування бруду
|
||||
gold_pan: Рудопромивочний лоток
|
||||
magical_book_cover: Обкладинка магічної книги
|
||||
slimefun_metals: Нові метали
|
||||
ore_crusher: Руйнівник руд
|
||||
bronze: Створення бронзи
|
||||
alloys: Передові сплави
|
||||
compressor_and_carbon: Створення вуглецю
|
||||
cooler: "«Переносний холодильник»"
|
||||
copper_wire: Мідний дріт
|
||||
crop_growth_accelerator: Прискорення росту рослин
|
||||
crucible: Тигель
|
||||
crushed_ore: Очищення руди
|
||||
gilded_iron_armor: Позолочені залізні обладунки
|
||||
synthetic_diamond: Синтезований діамант
|
||||
pressure_chamber: Барокамера
|
||||
synthetic_sapphire: Синтетичні сапфіри
|
||||
damascus_steel: Злиток дамаської сталі
|
||||
damascus_steel_armor: Обладунки з дамаської сталі
|
||||
diet_cookie: Дієтичне печиво
|
||||
duct_tape: Скотч
|
||||
electric_crucible: Електричний тигель
|
||||
electric_furnaces: Електрична піч
|
||||
electric_ingot_machines: Електричний завод злитків
|
||||
reinforced_alloy: Армований сплав
|
||||
carbonado: Карбонад
|
||||
magic_workbench: Магічний верстак
|
||||
wind_staff: Посох вітрів
|
||||
reinforced_armor: Армована броня
|
||||
ore_washer: Очищувач руд
|
||||
gold_carats: Чисте золото
|
||||
silicon: Силіконова долина
|
||||
fire_staff: Посох полум'я
|
||||
smelters_pickaxe: Плазмове кайло
|
||||
common_talisman: Звичайний талісман
|
||||
anvil_talisman: Талісман коваля
|
||||
miner_talisman: Талісман шахтаря
|
||||
hunter_talisman: Талісман мисливця
|
||||
lava_talisman: Талісман підкорювача лави
|
||||
water_talisman: Талісман підкорювача води
|
||||
angel_talisman: Талісман ангела
|
||||
fire_talisman: Талісман пожежного
|
||||
lava_crystal: "«Вогняна ситуація»"
|
||||
magician_talisman: Талісман мага
|
||||
traveller_talisman: Талісман мандрівника
|
||||
warrior_talisman: Талісман воїна
|
||||
knight_talisman: Талісман лицаря
|
||||
gilded_iron: "«Блискуче залізо»"
|
||||
synthetic_emerald: Фальшивий смарагд
|
||||
chainmail_armor: Кольчужна броня
|
||||
whirlwind_talisman: Талісман вихору
|
||||
wizard_talisman: Талісман чарівника
|
||||
lumber_axe: Сокира дроворуба
|
||||
hazmat_suit: Костюм хімзахисту
|
||||
uranium: Радіоактивність
|
||||
crushed_ore: Очищення руди
|
||||
redstone_alloy: Редстоуновий сплав
|
||||
carbonado_tools: Високорівневі машини
|
||||
first_aid: Перша допомога
|
||||
gold_armor: "«Блискучі обладунки»"
|
||||
night_vision_googles: Пристрій нічного бачення
|
||||
pickaxe_of_containment: Кайло стримування
|
||||
hercules_pickaxe: Геркулесове кайло
|
||||
table_saw: Лісопилка
|
||||
slime_steel_armor: Слизові сталеві обладунки
|
||||
blade_of_vampires: Вампірський клинок
|
||||
water_staff: Посох морів
|
||||
24k_gold_block: "«Ельдорадо»"
|
||||
composter: Компостування бруду
|
||||
farmer_shoes: Фермерські черевики
|
||||
explosive_tools: Вибухові інструменти
|
||||
automated_panning_machine: Автоматизована машина для очищення руди
|
||||
boots_of_the_stomper: Чобітки мандрівника
|
||||
pickaxe_of_the_seeker: Кайло шукача
|
||||
backpacks: Рюкзаки
|
||||
woven_backpack: Тканевий рюкзак
|
||||
crucible: Тигель
|
||||
gilded_backpack: Позолочений рюкзак
|
||||
armored_jetpack: Броньований реактивний ранець
|
||||
ender_talismans: Ендер-талісмани
|
||||
nickel_and_cobalt: Навіть більше руд!
|
||||
magnet: Магнітні метали
|
||||
infused_magnet: Магніт?
|
||||
cobalt_pickaxe: Кобальтове кайло
|
||||
essence_of_afterlife: Некромантія
|
||||
bound_backpack: Персональне сховище
|
||||
jetboots: Реактивні черевики
|
||||
armored_jetboots: Броньовані реактивні черевики
|
||||
seismic_axe: Сейсмічна сокира
|
||||
pickaxe_of_vein_mining: Кайло жильного копання
|
||||
bound_weapons: Персональна зброя
|
||||
bound_tools: Персональні інструменти
|
||||
bound_armor: Персональна броня
|
||||
juicer: Смачні напої
|
||||
repaired_spawner: Ремонт спавнерів
|
||||
enhanced_furnace: Просунута піч
|
||||
more_enhanced_furnaces: Покращені печі
|
||||
high_tier_enhanced_furnaces: Високорівнева піч
|
||||
reinforced_furnace: Посилена піч
|
||||
carbonado_furnace: Піч-карбонадо
|
||||
electric_motor: "«Нагрів»"
|
||||
block_placer: Розміщувач блоків
|
||||
scroll_of_dimensional_teleposition: Поворот речей навколо
|
||||
special_bows: "«Робін Гуд»"
|
||||
tome_of_knowledge_sharing: Поділитися з ближніми
|
||||
flask_of_knowledge: Сховище досвіду
|
||||
hardened_glass: Підкорення вибухів
|
||||
golden_apple_juice: "«Золоте зілля»"
|
||||
cooler: "«Переносний холодильник»"
|
||||
ancient_altar: Стародавній вівтар
|
||||
wither_proof_obsidian: Візеростійкий обсидіан
|
||||
ancient_runes: Стихійні руни
|
||||
special_runes: Особливі руни
|
||||
infernal_bonemeal: Пекельне кісткове бодошно
|
||||
rainbow_blocks: Райдужні блоки
|
||||
infused_hopper: Заряджена воронка
|
||||
wither_proof_glass: Візеростійке скло
|
||||
duct_tape: Скотч
|
||||
plastic_sheet: Пластик
|
||||
android_memory_core: Ядро пам’яті
|
||||
oil: Нафта!
|
||||
fuel: Паливо
|
||||
hologram_projector: ГоЛоГрАмИ
|
||||
capacitors: Маленький накопичувач енергії
|
||||
high_tier_capacitors: Середній накопичувач енергії
|
||||
solar_generators: Сонячна електростанція
|
||||
electric_furnaces: Електрична піч
|
||||
electric_ore_grinding: Дроблення і розпорошення
|
||||
electric_press: Електричний прес
|
||||
electric_smeltery: Електрична плавильня
|
||||
elemental_staff: Стихійні посохи
|
||||
heated_pressure_chamber: Отеплювальна барокамера
|
||||
coal_generator: Вугільний генератор
|
||||
bio_reactor: Біореактор
|
||||
auto_enchanting: Автоматизоване зачарування та розчарування
|
||||
auto_anvil: Автоматизоване ковадло
|
||||
multimeter: Вимірювання потужності
|
||||
gps_setup: Базова GPS установка
|
||||
gps_emergency_transmitter: GPS аварійний пункт
|
||||
programmable_androids: Програмовані Андроїди
|
||||
android_interfaces: Андроїд-інтерфейси
|
||||
geo_scanner: Геосканування
|
||||
combustion_reactor: Реактор внутрішнього згоряння
|
||||
teleporter: Базові компоненти телепортера
|
||||
teleporter_activation_plates: Активація телепортера
|
||||
better_solar_generators: Модернізовані сонячні генератори
|
||||
better_gps_transmitters: Модернізовані передавачі
|
||||
elevator: Ліфтові плити
|
||||
elytra: Елітри
|
||||
energized_solar_generator: Сонячна енергія цілодобово!
|
||||
energized_gps_transmitter: Високорівневий передавач
|
||||
energy_regulator: Електричні мережі
|
||||
butcher_androids: Андроїд-м’ясник
|
||||
organic_food: Органічна їжа
|
||||
auto_breeder: Автоматизоване розмноження
|
||||
advanced_android: Просунуті Андроїди
|
||||
advanced_butcher_android: Просунутий Андроїд-м’ясник
|
||||
advanced_fisherman_android: Просунутий Андроїд-рибалка
|
||||
animal_growth_accelerator: Прискорювач росту тварин
|
||||
xp_collector: Збирач досвіду
|
||||
organic_fertilizer: Органічні добрива
|
||||
crop_growth_accelerator: Прискорення росту рослин
|
||||
better_crop_growth_accelerator: Модернізований прискорювач росту рослин
|
||||
reactor_essentials: Реакторні основи
|
||||
nuclear_reactor: Атомна електростанція
|
||||
freezer: Морозилка
|
||||
cargo_basics: Основи вантажної мережі
|
||||
cargo_nodes: Налаштування вантажної мережі
|
||||
electric_ingot_machines: Електричний завод злитків
|
||||
high_tier_electric_ingot_machines: Надшвидкий електричний завод злитків
|
||||
automated_crafting_chamber: Автоматизований крафт
|
||||
better_food_fabricator: Покращена харчова фабрика
|
||||
reactor_access_port: Порт доступу до реактора
|
||||
fluid_pump: Рідинний насос
|
||||
better_freezer: Покращена морозилка
|
||||
boosted_uranium: "«Замкнуте коло»"
|
||||
trash_can: Смітник
|
||||
advanced_output_node: Просунутий вантажний вузол
|
||||
carbon_press: Вуглецевий прес
|
||||
electric_smeltery: Електрична плавильня
|
||||
better_electric_furnace: Модернізована електрична піч
|
||||
better_carbon_press: Модернізований вуглецевий прес
|
||||
empowered_android: Посилені Андроїди
|
||||
empowered_butcher_android: Посилений Андроїд-м’ясник
|
||||
empowered_fisherman_android: Посилений Андроїд-рибалка
|
||||
ender_armor: Ендер-броня
|
||||
ender_backpack: Ендер-рюкзак
|
||||
ender_talismans: Ендер-талісмани
|
||||
energized_gps_transmitter: Високорівневий передавач
|
||||
energized_solar_generator: Сонячна енергія цілодобово!
|
||||
energy_regulator: Електричні мережі
|
||||
enhanced_furnace: Просунута піч
|
||||
essence_of_afterlife: Некромантія
|
||||
explosive_tools: Вибухові інструменти
|
||||
farmer_shoes: Фермерські черевики
|
||||
fire_staff: Посох полум'я
|
||||
fire_talisman: Талісман пожежного
|
||||
first_aid: Перша допомога
|
||||
flask_of_knowledge: Сховище досвіду
|
||||
fluid_pump: Рідинний насос
|
||||
fortune_cookie: Печиво долі
|
||||
freezer: Морозилка
|
||||
fuel: Паливо
|
||||
geo_miner: Геокопач
|
||||
geo_scanner: Геосканування
|
||||
gilded_backpack: Позолочений рюкзак
|
||||
gilded_iron: "«Блискуче залізо»"
|
||||
gilded_iron_armor: Позолочені залізні обладунки
|
||||
glowstone_armor: Сяюча броня
|
||||
gold_armor: "«Блискучі обладунки»"
|
||||
gold_carats: Чисте золото
|
||||
golden_apple_juice: "«Золоте зілля»"
|
||||
gold_pan: Рудопромивочний лоток
|
||||
gps_emergency_transmitter: GPS аварійний пункт
|
||||
gps_setup: Базова GPS установка
|
||||
grappling_hook: Крюк-кішка
|
||||
grind_stone: Точильний камінь
|
||||
hardened_glass: Підкорення вибухів
|
||||
hazmat_suit: Костюм хімзахисту
|
||||
heated_pressure_chamber: Отеплювальна барокамера
|
||||
hercules_pickaxe: Геркулесове кайло
|
||||
high_tier_capacitors: Середній накопичувач енергії
|
||||
high_tier_carbon_press: Високорівневий вуглецевий прес
|
||||
high_tier_electric_ingot_machines: Надшвидкий електричний завод злитків
|
||||
high_tier_enhanced_furnaces: Високорівнева піч
|
||||
hologram_projector: ГоЛоГрАмИ
|
||||
hunter_talisman: Талісман мисливця
|
||||
infernal_bonemeal: Пекельне кісткове бодошно
|
||||
infused_hopper: Заряджена воронка
|
||||
infused_magnet: Магніт?
|
||||
jetboots: Реактивні черевики
|
||||
jetpacks: Реактивні ранці
|
||||
juicer: Смачні напої
|
||||
kelp_cookie: Смачна водорість
|
||||
knight_talisman: Талісман лицаря
|
||||
lava_crystal: "«Вогняна ситуація»"
|
||||
wither_assembler: Створювач Висушувачів
|
||||
better_heated_pressure_chamber: Модернізована обігріваюча барокамера
|
||||
elytra: Елітри
|
||||
special_elytras: Особливі елітри
|
||||
electric_crucible: Електричний тигель
|
||||
better_electric_crucibles: Гарячі тиглі
|
||||
advanced_electric_smeltery: Модернізована електрична плавильня
|
||||
advanced_farmer_android: Покращений Андроїд-фермер
|
||||
lava_generator: Лавовий генератор
|
||||
lava_talisman: Талісман підкорювача лави
|
||||
lightning_rune: Блискавична руна
|
||||
lumber_axe: Сокира дроворуба
|
||||
lumps: Уламки Незеру та Енду
|
||||
magical_book_cover: Обкладинка магічної книги
|
||||
magic_eye_of_ender: Магічне око Енду
|
||||
magician_talisman: Талісман мага
|
||||
magic_sugar: Чарівний цукор
|
||||
magic_workbench: Магічний верстак
|
||||
magnesium_generator: Магнієва підпитка
|
||||
magnet: Магнітні метали
|
||||
makeshift_smeltery: Імпровізована плавильня
|
||||
meat_jerky: В’ялене м’ясо
|
||||
miner_talisman: Талісман шахтаря
|
||||
misc_power_items: Важливі ресурси для підтримання електромережі
|
||||
monster_jerky: В’ялена плоть
|
||||
more_enhanced_furnaces: Покращені печі
|
||||
multimeter: Вимірювання потужності
|
||||
multitools: Мультиприбори
|
||||
nether_gold_pan: Пекельний рудопромивочний лоток
|
||||
nether_ice: Пекельний холодоагент
|
||||
nether_star_reactor: Пекельно-зірковий реактор
|
||||
nickel_and_cobalt: Навіть більше руд!
|
||||
night_vision_googles: Пристрій нічного бачення
|
||||
nuclear_reactor: Атомна електростанція
|
||||
oil: Нафта!
|
||||
ore_crusher: Руйнівник руд
|
||||
ore_washer: Очищувач руд
|
||||
organic_fertilizer: Органічні добрива
|
||||
organic_food: Органічна їжа
|
||||
blistering_ingots: Розпечені злитки
|
||||
automatic_ignition_chamber: Автоматизована камера запалювання
|
||||
output_chest: Вихідна скриня
|
||||
parachute: Парашут
|
||||
pickaxe_of_containment: Кайло стримування
|
||||
pickaxe_of_the_seeker: Кайло шукача
|
||||
pickaxe_of_vein_mining: Кайло жильного копання
|
||||
plastic_sheet: Пластик
|
||||
portable_crafter: Портативний крафтер
|
||||
portable_dustbin: Портативна мусорка
|
||||
pressure_chamber: Барокамера
|
||||
programmable_androids: Програмовані Андроїди
|
||||
copper_wire: Мідний дріт
|
||||
radiant_backpack: Рюкзак мандрівника
|
||||
rainbow_blocks: Райдужні блоки
|
||||
reactor_access_port: Порт доступу до реактора
|
||||
reactor_essentials: Реакторні основи
|
||||
redstone_alloy: Редстоуновий сплав
|
||||
reinforced_alloy: Армований сплав
|
||||
reinforced_armor: Армована броня
|
||||
reinforced_furnace: Посилена піч
|
||||
repaired_spawner: Ремонт спавнерів
|
||||
scroll_of_dimensional_teleposition: Поворот речей навколо
|
||||
seismic_axe: Сейсмічна сокира
|
||||
silicon: Силіконова долина
|
||||
slime_armor: Слизова броня
|
||||
slimefun_metals: Нові метали
|
||||
slime_steel_armor: Слизові сталеві обладунки
|
||||
smelters_pickaxe: Плазмове кайло
|
||||
smeltery: Плавильня
|
||||
solar_generators: Сонячна електростанція
|
||||
solar_panel_and_helmet: Сонячна енергія
|
||||
soulbound_rune: Персональна руна
|
||||
special_bows: "«Робін Гуд»"
|
||||
special_elytras: Особливі елітри
|
||||
special_runes: Особливі руни
|
||||
steel: Сталевий вік
|
||||
steel_plate: Сталеве покриття
|
||||
steel_thruster: Сталевий прискорювач
|
||||
auto_drier: "«День сушки»"
|
||||
diet_cookie: Дієтичне печиво
|
||||
storm_staff: Штормовий посох
|
||||
sword_of_beheading: Меч обезголовлювання
|
||||
synthetic_diamond: Синтезований діамант
|
||||
synthetic_emerald: Фальшивий смарагд
|
||||
synthetic_sapphire: Синтетичні сапфіри
|
||||
table_saw: Лісопилка
|
||||
teleporter: Базові компоненти телепортера
|
||||
teleporter_activation_plates: Активація телепортера
|
||||
tome_of_knowledge_sharing: Поділитися з ближніми
|
||||
soulbound_rune: Персональна руна
|
||||
geo_miner: Геокопач
|
||||
lightning_rune: Блискавична руна
|
||||
totem_of_undying: Тотем безсмертя
|
||||
trash_can: Смітник
|
||||
traveller_talisman: Талісман мандрівника
|
||||
charging_bench: Зарядний пристрій-верстак
|
||||
nether_gold_pan: Пекельний рудопромивочний лоток
|
||||
electric_press: Електричний прес
|
||||
magnesium_generator: Магнієва підпитка
|
||||
kelp_cookie: Смачна водорість
|
||||
makeshift_smeltery: Імпровізована плавильня
|
||||
tree_growth_accelerator: Швидкорослі дерева
|
||||
uranium: Радіоактивність
|
||||
walking_sticks: Мої улюблені палиці
|
||||
warrior_talisman: Талісман воїна
|
||||
water_staff: Посох морів
|
||||
water_talisman: Талісман підкорювача води
|
||||
whirlwind_talisman: Талісман вихору
|
||||
wind_staff: Посох вітрів
|
||||
wither_assembler: Створювач Висушувачів
|
||||
wither_proof_glass: Візеростійке скло
|
||||
wither_proof_obsidian: Візеростійкий обсидіан
|
||||
wizard_talisman: Талісман чарівника
|
||||
woven_backpack: Тканевий рюкзак
|
||||
xp_collector: Збирач досвіду
|
||||
industrial_miner: Промисловий видобуток
|
||||
advanced_industrial_miner: Покращений видобуток
|
||||
magical_zombie_pills: Дезомбіфікація
|
||||
auto_brewer: Промислова пивоварня
|
||||
|
@ -1,232 +1,238 @@
|
||||
---
|
||||
slimefun:
|
||||
24k_gold_block: 我就有錢
|
||||
advanced_android: 進階機器人
|
||||
advanced_butcher_android: 進階機器人–屠夫
|
||||
advanced_circuit_board: 進階電路板
|
||||
advanced_electric_smeltery: 進階電動冶煉爐
|
||||
advanced_farmer_android: 進階機器人—農夫
|
||||
advanced_fisherman_android: 進階機器人— 漁夫
|
||||
advanced_output_node: 進階輸出接口
|
||||
alloys: 進階合金
|
||||
ancient_altar: 古代祭壇
|
||||
ancient_runes: 元素符文
|
||||
android_interfaces: 機器人接口
|
||||
android_memory_core: 機器人記憶體
|
||||
angel_talisman: 天使護身符
|
||||
animal_growth_accelerator: 動物轉大人
|
||||
anvil_talisman: 鐵砧護身符
|
||||
armored_jetboots: 火箭鐵靴
|
||||
armored_jetpack: 噴射裝甲
|
||||
walking_sticks: 拐杖
|
||||
portable_crafter: 隨身合成檯
|
||||
fortune_cookie: 幸運餅乾
|
||||
portable_dustbin: 隨身垃圾桶
|
||||
meat_jerky: 肉乾
|
||||
armor_forge: 盔甲合成檯
|
||||
auto_anvil: 電動鐵砧
|
||||
auto_breeder: 幫你餵動物
|
||||
auto_drier: 乾燥機
|
||||
auto_enchanting: 附魔&退魔檯
|
||||
automated_crafting_chamber: 自動合成檯
|
||||
automated_panning_machine: 懶人掏金盤
|
||||
automatic_ignition_chamber: 自動點火
|
||||
backpacks: 背包
|
||||
glowstone_armor: 螢光石套裝
|
||||
lumps: 魔法結晶
|
||||
ender_backpack: 終界背包
|
||||
ender_armor: 終界套裝
|
||||
magic_eye_of_ender: 終界法眼
|
||||
magic_sugar: 魔法糖
|
||||
monster_jerky: 腐肉乾
|
||||
slime_armor: 史萊姆套裝
|
||||
sword_of_beheading: 斬首劍
|
||||
basic_circuit_board: 基礎電路板
|
||||
advanced_circuit_board: 進階電路板
|
||||
smeltery: 冶煉爐
|
||||
steel: 鋼鐵時代
|
||||
misc_power_items: 硫酸鹽和能量水晶
|
||||
battery: 電池
|
||||
better_carbon_press: 升級版碳壓縮機
|
||||
better_crop_growth_accelerator: 金坷垃2.0
|
||||
better_electric_crucibles: 電熱坩堝—改
|
||||
better_electric_furnace: 升級版電磁爐
|
||||
better_food_fabricator: 進階食品加工場
|
||||
better_freezer: 比你的笑話還冷
|
||||
better_gps_transmitters: 高階GPS信號發送器
|
||||
better_heated_pressure_chamber: 進階高溫加壓室
|
||||
better_solar_generators: 高階太陽能發電機
|
||||
bio_reactor: 生化反應爐
|
||||
blade_of_vampires: 吸血之刃
|
||||
blistering_ingots: 發泡錠
|
||||
block_placer: 方塊放置器
|
||||
boosted_uranium: 高壓鈾
|
||||
boots_of_the_stomper: 踐踏之靴
|
||||
bound_armor: 魂綁套裝
|
||||
bound_backpack: 魂綁背包
|
||||
bound_tools: 魂綁工具
|
||||
bound_weapons: 魂綁武器
|
||||
bronze: 青銅時代
|
||||
butcher_androids: 屠夫機器人
|
||||
steel_plate: 鋼板
|
||||
steel_thruster: 鋼製推進器
|
||||
parachute: 降落傘
|
||||
grappling_hook: 鷹爪鉤
|
||||
jetpacks: 噴射背包
|
||||
multitools: 多功能工具
|
||||
solar_panel_and_helmet: 太陽能頭盔
|
||||
elemental_staff: 元素杖
|
||||
grind_stone: 研磨機
|
||||
cactus_armor: 仙人掌套裝
|
||||
capacitors: 初階電容器
|
||||
carbonado: 黑鑽石
|
||||
carbonado_furnace: 碳纖維熔爐
|
||||
carbonado_tools: 頂級機器
|
||||
carbon_press: 碳壓縮機
|
||||
cargo_basics: 物流基礎
|
||||
cargo_nodes: 物流節點
|
||||
chainmail_armor: 鎖鍊套裝
|
||||
charging_bench: 充電台
|
||||
coal_generator: 乾淨的煤
|
||||
cobalt_pickaxe: 我是速度
|
||||
combustion_reactor: 火力反應爐
|
||||
common_talisman: 基礎護身符
|
||||
composter: 堆肥
|
||||
gold_pan: 掏金盤
|
||||
magical_book_cover: 魔法書封面
|
||||
slimefun_metals: 更多金屬
|
||||
ore_crusher: 雙倍礦物
|
||||
bronze: 青銅時代
|
||||
alloys: 進階合金
|
||||
compressor_and_carbon: 壓縮碳
|
||||
cooler: 保溫器
|
||||
copper_wire: 良導體!
|
||||
crop_growth_accelerator: 金坷垃
|
||||
crucible: 坩鍋
|
||||
crushed_ore: 礦石純化
|
||||
gilded_iron_armor: 鍍金鐵套裝
|
||||
synthetic_diamond: 合成鑽石
|
||||
pressure_chamber: 加壓室
|
||||
synthetic_sapphire: 合成藍寶石
|
||||
damascus_steel: 大馬士革鋼
|
||||
damascus_steel_armor: 大馬士革鋼套裝
|
||||
diet_cookie: 減肥餅
|
||||
duct_tape: FLEX TAPE
|
||||
electric_crucible: 電動坩堝
|
||||
electric_furnaces: 電磁爐
|
||||
electric_ingot_machines: 電動煉錠產業鍊
|
||||
reinforced_alloy: 強化合金錠
|
||||
carbonado: 黑鑽石
|
||||
magic_workbench: 魔術合成檯
|
||||
wind_staff: 元素杖—風
|
||||
reinforced_armor: 強化合金錠套裝
|
||||
ore_washer: 礦物洗滌機
|
||||
gold_carats: 純金
|
||||
silicon: 麥塊矽谷
|
||||
fire_staff: 元素杖—火
|
||||
smelters_pickaxe: 冶煉鎬
|
||||
common_talisman: 基礎護身符
|
||||
anvil_talisman: 鐵砧護身符
|
||||
miner_talisman: 礦工護身符
|
||||
hunter_talisman: 獵人護身符
|
||||
lava_talisman: 熔岩護身符
|
||||
water_talisman: 水中呼吸護身符
|
||||
angel_talisman: 天使護身符
|
||||
fire_talisman: 火焰護身符
|
||||
lava_crystal: 燒喔~
|
||||
magician_talisman: 法師護身符
|
||||
traveller_talisman: 旅者護身符
|
||||
warrior_talisman: 戰士護身符
|
||||
knight_talisman: 騎士護身符
|
||||
gilded_iron: 鍍金鐵
|
||||
synthetic_emerald: 人造翡翠
|
||||
chainmail_armor: 鎖鍊套裝
|
||||
whirlwind_talisman: 旋風護身符
|
||||
wizard_talisman: 巫師護身符
|
||||
lumber_axe: 伐木斧
|
||||
hazmat_suit: 抗輻射套裝
|
||||
uranium: 輻射金屬
|
||||
crushed_ore: 礦石純化
|
||||
redstone_alloy: 紅石合金錠
|
||||
carbonado_tools: 頂級機器
|
||||
first_aid: 急救包
|
||||
gold_armor: 比較強的金裝
|
||||
night_vision_googles: 夜視鏡
|
||||
pickaxe_of_containment: 生怪磚鎬
|
||||
hercules_pickaxe: 粉碎鎬
|
||||
table_saw: 鋸木機
|
||||
slime_steel_armor: 鋼鐵史萊姆套裝
|
||||
blade_of_vampires: 吸血之刃
|
||||
water_staff: 元素杖—水
|
||||
24k_gold_block: 我就有錢
|
||||
composter: 堆肥
|
||||
farmer_shoes: 農夫鞋
|
||||
explosive_tools: 爆炸性的突破
|
||||
automated_panning_machine: 懶人掏金盤
|
||||
boots_of_the_stomper: 踐踏之靴
|
||||
pickaxe_of_the_seeker: 合法X-ray
|
||||
backpacks: 背包
|
||||
woven_backpack: 手織背包
|
||||
crucible: 坩鍋
|
||||
gilded_backpack: 鍍金背包
|
||||
armored_jetpack: 噴射裝甲
|
||||
ender_talismans: 放終界箱
|
||||
nickel_and_cobalt: 這是元素不是合金啊啊啊啊啊
|
||||
magnet: 磁鐵
|
||||
infused_magnet: 物品磁鐵
|
||||
cobalt_pickaxe: 我是速度
|
||||
essence_of_afterlife: 死靈法師?!
|
||||
bound_backpack: 魂綁背包
|
||||
jetboots: 火箭靴
|
||||
armored_jetboots: 火箭鐵靴
|
||||
seismic_axe: 地震斧
|
||||
pickaxe_of_vein_mining: 連鎖鎬
|
||||
bound_weapons: 魂綁武器
|
||||
bound_tools: 魂綁工具
|
||||
bound_armor: 魂綁套裝
|
||||
juicer: 果汁!
|
||||
repaired_spawner: 修理生怪磚
|
||||
enhanced_furnace: 進階熔爐
|
||||
more_enhanced_furnaces: 更好的進階熔爐
|
||||
high_tier_enhanced_furnaces: 更高階的熔爐
|
||||
reinforced_furnace: 強化熔爐
|
||||
carbonado_furnace: 碳纖維熔爐
|
||||
electric_motor: 馬達
|
||||
block_placer: 方塊放置器
|
||||
scroll_of_dimensional_teleposition: 他很奇異~
|
||||
special_bows: 鷹眼
|
||||
tome_of_knowledge_sharing: 共產經驗
|
||||
flask_of_knowledge: 經驗值儲存器
|
||||
hardened_glass: 抗爆
|
||||
golden_apple_juice: 比較黃的果汁
|
||||
cooler: 保溫器
|
||||
ancient_altar: 古代祭壇
|
||||
wither_proof_obsidian: 抗凋黑曜石
|
||||
ancient_runes: 元素符文
|
||||
special_runes: 紫色符文
|
||||
infernal_bonemeal: 地獄骨粉
|
||||
rainbow_blocks: 彩虹方塊
|
||||
infused_hopper: 滴水不漏
|
||||
wither_proof_glass: 抗凋玻璃
|
||||
duct_tape: FLEX TAPE
|
||||
plastic_sheet: 塑膠
|
||||
android_memory_core: 機器人記憶體
|
||||
oil: 美國的最愛
|
||||
fuel: 石油燃料
|
||||
hologram_projector: 投影文字
|
||||
capacitors: 初階電容器
|
||||
high_tier_capacitors: 高階電容器
|
||||
solar_generators: 太陽能發機
|
||||
electric_furnaces: 電磁爐
|
||||
electric_ore_grinding: 電動研磨
|
||||
electric_press: 電動壓縮機
|
||||
electric_smeltery: 電動冶煉爐
|
||||
elemental_staff: 元素杖
|
||||
heated_pressure_chamber: 高溫加壓室
|
||||
coal_generator: 乾淨的煤
|
||||
bio_reactor: 生化反應爐
|
||||
auto_enchanting: 附魔&退魔檯
|
||||
auto_anvil: 電動鐵砧
|
||||
multimeter: 電力測量
|
||||
gps_setup: GPS基礎組件
|
||||
gps_emergency_transmitter: GPS求救信號
|
||||
programmable_androids: 機器人
|
||||
android_interfaces: 機器人接口
|
||||
geo_scanner: 地質掃描
|
||||
combustion_reactor: 火力反應爐
|
||||
teleporter: 傳送檯基座
|
||||
teleporter_activation_plates: 傳送裝置
|
||||
better_solar_generators: 高階太陽能發電機
|
||||
better_gps_transmitters: 高階GPS信號發送器
|
||||
elevator: 電梯
|
||||
elytra: 鞘翅
|
||||
energized_solar_generator: 這...這不科學!
|
||||
energized_gps_transmitter: 頂級GPS信號發送器
|
||||
energy_regulator: 電力核心
|
||||
butcher_androids: 屠夫機器人
|
||||
organic_food: 有機食品
|
||||
auto_breeder: 幫你餵動物
|
||||
advanced_android: 進階機器人
|
||||
advanced_butcher_android: 進階機器人–屠夫
|
||||
advanced_fisherman_android: 進階機器人— 漁夫
|
||||
animal_growth_accelerator: 動物轉大人
|
||||
xp_collector: 經驗收集器
|
||||
organic_fertilizer: 有機堆肥
|
||||
crop_growth_accelerator: 金坷垃
|
||||
better_crop_growth_accelerator: 金坷垃2.0
|
||||
reactor_essentials: 反應爐必需品
|
||||
nuclear_reactor: 核分裂反應爐
|
||||
freezer: 我的超人裝呢
|
||||
cargo_basics: 物流基礎
|
||||
cargo_nodes: 物流節點
|
||||
electric_ingot_machines: 電動煉錠產業鍊
|
||||
high_tier_electric_ingot_machines: 高速煉錠產業鍊
|
||||
automated_crafting_chamber: 自動合成檯
|
||||
better_food_fabricator: 進階食品加工場
|
||||
reactor_access_port: 反應爐接口
|
||||
fluid_pump: 幫浦
|
||||
better_freezer: 比你的笑話還冷
|
||||
boosted_uranium: 高壓鈾
|
||||
trash_can: 黑洞!
|
||||
advanced_output_node: 進階輸出接口
|
||||
carbon_press: 碳壓縮機
|
||||
electric_smeltery: 電動冶煉爐
|
||||
better_electric_furnace: 升級版電磁爐
|
||||
better_carbon_press: 升級版碳壓縮機
|
||||
empowered_android: 頂級機器人
|
||||
empowered_butcher_android: 頂級機器人-屠夫
|
||||
empowered_fisherman_android: 頂級機器人—漁夫
|
||||
ender_armor: 終界套裝
|
||||
ender_backpack: 終界背包
|
||||
ender_talismans: 放終界箱
|
||||
energized_gps_transmitter: 頂級GPS信號發送器
|
||||
energized_solar_generator: 這...這不科學!
|
||||
energy_regulator: 電力核心
|
||||
enhanced_furnace: 進階熔爐
|
||||
essence_of_afterlife: 死靈法師?!
|
||||
explosive_tools: 爆炸性的突破
|
||||
farmer_shoes: 農夫鞋
|
||||
fire_staff: 元素杖—火
|
||||
fire_talisman: 火焰護身符
|
||||
first_aid: 急救包
|
||||
flask_of_knowledge: 經驗值儲存器
|
||||
fluid_pump: 幫浦
|
||||
fortune_cookie: 幸運餅乾
|
||||
freezer: 我的超人裝呢
|
||||
fuel: 石油燃料
|
||||
geo_miner: 自然資源挖掘機
|
||||
gilded_backpack: 鍍金背包
|
||||
gilded_iron: 鍍金鐵
|
||||
gilded_iron_armor: 鍍金鐵套裝
|
||||
glowstone_armor: 螢光石套裝
|
||||
gold_armor: 比較強的金裝
|
||||
gold_carats: 純金
|
||||
golden_apple_juice: 比較黃的果汁
|
||||
gold_pan: 掏金盤
|
||||
gps_emergency_transmitter: GPS求救信號
|
||||
gps_setup: GPS基礎組件
|
||||
grappling_hook: 鷹爪鉤
|
||||
grind_stone: 研磨機
|
||||
hardened_glass: 抗爆
|
||||
hazmat_suit: 抗輻射套裝
|
||||
heated_pressure_chamber: 高溫加壓室
|
||||
hercules_pickaxe: 粉碎鎬
|
||||
high_tier_capacitors: 高階電容器
|
||||
high_tier_carbon_press: 終極碳壓縮機
|
||||
high_tier_electric_ingot_machines: 高速煉錠產業鍊
|
||||
high_tier_enhanced_furnaces: 更高階的熔爐
|
||||
hologram_projector: 投影文字
|
||||
hunter_talisman: 獵人護身符
|
||||
infernal_bonemeal: 地獄骨粉
|
||||
infused_hopper: 滴水不漏
|
||||
infused_magnet: 物品磁鐵
|
||||
jetboots: 火箭靴
|
||||
jetpacks: 噴射背包
|
||||
juicer: 果汁!
|
||||
kelp_cookie: 自然的顏
|
||||
knight_talisman: 騎士護身符
|
||||
lava_crystal: 燒喔~
|
||||
wither_assembler: 凋零農場
|
||||
better_heated_pressure_chamber: 進階高溫加壓室
|
||||
elytra: 鞘翅
|
||||
special_elytras: 特殊鞘翅
|
||||
electric_crucible: 電動坩堝
|
||||
better_electric_crucibles: 電熱坩堝—改
|
||||
advanced_electric_smeltery: 進階電動冶煉爐
|
||||
advanced_farmer_android: 進階機器人—農夫
|
||||
lava_generator: 熔岩發電機
|
||||
lava_talisman: 熔岩護身符
|
||||
lightning_rune: 閃電符文
|
||||
lumber_axe: 伐木斧
|
||||
lumps: 魔法結晶
|
||||
magical_book_cover: 魔法書封面
|
||||
magic_eye_of_ender: 終界法眼
|
||||
magician_talisman: 法師護身符
|
||||
magic_sugar: 魔法糖
|
||||
magic_workbench: 魔術合成檯
|
||||
magnesium_generator: 鎂鹽發電
|
||||
magnet: 磁鐵
|
||||
meat_jerky: 肉乾
|
||||
miner_talisman: 礦工護身符
|
||||
misc_power_items: 硫酸鹽和能量水晶
|
||||
monster_jerky: 腐肉乾
|
||||
more_enhanced_furnaces: 更好的進階熔爐
|
||||
multimeter: 電力測量
|
||||
multitools: 多功能工具
|
||||
nether_gold_pan: 地域掏金盤
|
||||
nether_ice: 地域冰
|
||||
nether_star_reactor: 地域之星反應堆
|
||||
nickel_and_cobalt: 這是元素不是合金啊啊啊啊啊
|
||||
night_vision_googles: 夜視鏡
|
||||
nuclear_reactor: 核分裂反應爐
|
||||
oil: 美國的最愛
|
||||
ore_crusher: 雙倍礦物
|
||||
ore_washer: 礦物洗滌機
|
||||
organic_fertilizer: 有機堆肥
|
||||
organic_food: 有機食品
|
||||
blistering_ingots: 發泡錠
|
||||
automatic_ignition_chamber: 自動點火
|
||||
output_chest: 基礎器械輸出箱
|
||||
parachute: 降落傘
|
||||
pickaxe_of_containment: 生怪磚鎬
|
||||
pickaxe_of_the_seeker: 合法X-ray
|
||||
pickaxe_of_vein_mining: 連鎖鎬
|
||||
plastic_sheet: 塑膠
|
||||
portable_crafter: 隨身合成檯
|
||||
portable_dustbin: 隨身垃圾桶
|
||||
pressure_chamber: 加壓室
|
||||
programmable_androids: 機器人
|
||||
copper_wire: 良導體!
|
||||
radiant_backpack: 超級背包
|
||||
rainbow_blocks: 彩虹方塊
|
||||
reactor_access_port: 反應爐接口
|
||||
reactor_essentials: 反應爐必需品
|
||||
redstone_alloy: 紅石合金錠
|
||||
reinforced_alloy: 強化合金錠
|
||||
reinforced_armor: 強化合金錠套裝
|
||||
reinforced_furnace: 強化熔爐
|
||||
repaired_spawner: 修理生怪磚
|
||||
scroll_of_dimensional_teleposition: 他很奇異~
|
||||
seismic_axe: 地震斧
|
||||
silicon: 麥塊矽谷
|
||||
slime_armor: 史萊姆套裝
|
||||
slimefun_metals: 更多金屬
|
||||
slime_steel_armor: 鋼鐵史萊姆套裝
|
||||
smelters_pickaxe: 冶煉鎬
|
||||
smeltery: 冶煉爐
|
||||
solar_generators: 太陽能發機
|
||||
solar_panel_and_helmet: 太陽能頭盔
|
||||
soulbound_rune: 魂綁符文
|
||||
special_bows: 鷹眼
|
||||
special_elytras: 特殊鞘翅
|
||||
special_runes: 紫色符文
|
||||
steel: 鋼鐵時代
|
||||
steel_plate: 鋼板
|
||||
steel_thruster: 鋼製推進器
|
||||
auto_drier: 乾燥機
|
||||
diet_cookie: 減肥餅
|
||||
storm_staff: 元素杖—風暴
|
||||
sword_of_beheading: 斬首劍
|
||||
synthetic_diamond: 合成鑽石
|
||||
synthetic_emerald: 人造翡翠
|
||||
synthetic_sapphire: 合成藍寶石
|
||||
table_saw: 鋸木機
|
||||
teleporter: 傳送檯基座
|
||||
teleporter_activation_plates: 傳送裝置
|
||||
tome_of_knowledge_sharing: 共產經驗
|
||||
soulbound_rune: 魂綁符文
|
||||
geo_miner: 自然資源挖掘機
|
||||
lightning_rune: 閃電符文
|
||||
totem_of_undying: 逃避死亡
|
||||
trash_can: 黑洞!
|
||||
traveller_talisman: 旅者護身符
|
||||
uranium: 輻射金屬
|
||||
walking_sticks: 拐杖
|
||||
warrior_talisman: 戰士護身符
|
||||
water_staff: 元素杖—水
|
||||
water_talisman: 水中呼吸護身符
|
||||
whirlwind_talisman: 旋風護身符
|
||||
wind_staff: 元素杖—風
|
||||
wither_assembler: 凋零農場
|
||||
wither_proof_glass: 抗凋玻璃
|
||||
wither_proof_obsidian: 抗凋黑曜石
|
||||
wizard_talisman: 巫師護身符
|
||||
woven_backpack: 手織背包
|
||||
xp_collector: 經驗收集器
|
||||
geo_scanner: 地質掃描
|
||||
charging_bench: 充電台
|
||||
nether_gold_pan: 地域掏金盤
|
||||
electric_press: 電動壓縮機
|
||||
magnesium_generator: 鎂鹽發電
|
||||
kelp_cookie: 自然的顏
|
||||
makeshift_smeltery: 自動冶煉
|
||||
tree_growth_accelerator: 自動金坷垃
|
||||
industrial_miner: 工業化採礦
|
||||
advanced_industrial_miner: 工業化採礦 - 改
|
||||
magical_zombie_pills: 救贖藥丸
|
||||
auto_brewer: 工業化釀造
|
||||
|
@ -20,10 +20,13 @@ import io.github.thebusybiscuit.slimefun4.core.categories.FlexCategory;
|
||||
import io.github.thebusybiscuit.slimefun4.core.categories.LockedCategory;
|
||||
import io.github.thebusybiscuit.slimefun4.core.categories.SeasonalCategory;
|
||||
import io.github.thebusybiscuit.slimefun4.core.guide.SlimefunGuideLayout;
|
||||
import io.github.thebusybiscuit.slimefun4.core.researching.Research;
|
||||
import io.github.thebusybiscuit.slimefun4.testing.TestUtilities;
|
||||
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
|
||||
public class TestCategories {
|
||||
|
||||
@ -115,7 +118,7 @@ public class TestCategories {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLockedCategories() {
|
||||
public void testLockedCategoriesParents() {
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> new LockedCategory(new NamespacedKey(plugin, "locked"), new CustomItem(Material.GOLD_NUGGET, "&6Locked Test"), (NamespacedKey) null));
|
||||
|
||||
Category category = new Category(new NamespacedKey(plugin, "unlocked"), new CustomItem(Material.EMERALD, "&5I am SHERlocked"));
|
||||
@ -139,6 +142,39 @@ public class TestCategories {
|
||||
Assertions.assertTrue(locked.getParents().contains(category));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLockedCategoriesUnlocking() throws InterruptedException {
|
||||
Player player = server.addPlayer();
|
||||
PlayerProfile profile = TestUtilities.awaitProfile(player);
|
||||
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> new LockedCategory(new NamespacedKey(plugin, "locked"), new CustomItem(Material.GOLD_NUGGET, "&6Locked Test"), (NamespacedKey) null));
|
||||
|
||||
Category category = new Category(new NamespacedKey(plugin, "parent"), new CustomItem(Material.EMERALD, "&5I am SHERlocked"));
|
||||
category.register();
|
||||
|
||||
LockedCategory locked = new LockedCategory(new NamespacedKey(plugin, "locked"), new CustomItem(Material.GOLD_NUGGET, "&6Locked Test"), category.getKey());
|
||||
locked.register();
|
||||
|
||||
// No Items, so it should be unlocked
|
||||
Assertions.assertTrue(locked.hasUnlocked(player, profile));
|
||||
|
||||
SlimefunItem item = new SlimefunItem(category, new SlimefunItemStack("LOCKED_CATEGORY_TEST", new CustomItem(Material.LANTERN, "&6Test Item for locked categories")), RecipeType.NULL, new ItemStack[9]);
|
||||
item.register(plugin);
|
||||
item.load();
|
||||
|
||||
SlimefunPlugin.getRegistry().setResearchingEnabled(true);
|
||||
Research research = new Research(new NamespacedKey(plugin, "cant_touch_this"), 432432, "MC Hammer", 90);
|
||||
research.addItems(item);
|
||||
research.register();
|
||||
|
||||
Assertions.assertFalse(profile.hasUnlocked(research));
|
||||
Assertions.assertFalse(locked.hasUnlocked(player, profile));
|
||||
|
||||
profile.setResearched(research, true);
|
||||
|
||||
Assertions.assertTrue(locked.hasUnlocked(player, profile));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSeasonalCategories() {
|
||||
// Category with current Month
|
||||
|
@ -0,0 +1,140 @@
|
||||
package io.github.thebusybiscuit.slimefun4.testing.tests.items;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import be.seeseemelk.mockbukkit.MockBukkit;
|
||||
import io.github.thebusybiscuit.cscorelib2.chat.ChatColors;
|
||||
import io.github.thebusybiscuit.cscorelib2.item.CustomItem;
|
||||
import io.github.thebusybiscuit.slimefun4.core.attributes.Rechargeable;
|
||||
import io.github.thebusybiscuit.slimefun4.testing.TestUtilities;
|
||||
import io.github.thebusybiscuit.slimefun4.utils.LoreBuilder;
|
||||
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
|
||||
public class TestRechargeableItems {
|
||||
|
||||
private static SlimefunPlugin plugin;
|
||||
|
||||
@BeforeAll
|
||||
public static void load() {
|
||||
MockBukkit.mock();
|
||||
plugin = MockBukkit.load(SlimefunPlugin.class);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
public static void unload() {
|
||||
MockBukkit.unmock();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInvalidItems() {
|
||||
Rechargeable rechargeable = mock("INVALID_CHARGING_TEST", 1);
|
||||
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> rechargeable.getItemCharge(null));
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> rechargeable.getItemCharge(new ItemStack(Material.AIR)));
|
||||
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> rechargeable.setItemCharge(null, 1));
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> rechargeable.setItemCharge(new ItemStack(Material.AIR), 1));
|
||||
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> rechargeable.addItemCharge(null, 1));
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> rechargeable.addItemCharge(new ItemStack(Material.AIR), 1));
|
||||
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> rechargeable.removeItemCharge(null, 1));
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> rechargeable.removeItemCharge(new ItemStack(Material.AIR), 1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetItemCharge() {
|
||||
Rechargeable rechargeable = mock("CHARGING_TEST", 10);
|
||||
ItemStack item = new CustomItem(Material.REDSTONE_ORE, "&4Chargeable Item", "", LoreBuilder.powerCharged(0, 10));
|
||||
|
||||
Assertions.assertEquals(0, rechargeable.getItemCharge(item));
|
||||
|
||||
rechargeable.setItemCharge(item, 10);
|
||||
Assertions.assertEquals(10, rechargeable.getItemCharge(item));
|
||||
|
||||
String lore = ChatColors.color("&c&o&8\u21E8 &e\u26A1 &7") + "10.0 / 10.0 J";
|
||||
Assertions.assertEquals(lore, item.getItemMeta().getLore().get(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testItemChargeBounds() {
|
||||
Rechargeable rechargeable = mock("CHARGING_BOUNDS_TEST", 10);
|
||||
ItemStack item = new CustomItem(Material.REDSTONE_BLOCK, "&4Chargeable Item with bounds", "", LoreBuilder.powerCharged(0, 10));
|
||||
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> rechargeable.setItemCharge(item, -1));
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> rechargeable.setItemCharge(item, -0.01F));
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> rechargeable.setItemCharge(item, 10.01F));
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> rechargeable.setItemCharge(item, 11));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddItemCharge() {
|
||||
Rechargeable rechargeable = mock("CHARGING_BOUNDS_TEST", 10);
|
||||
ItemStack item = new CustomItem(Material.REDSTONE_BLOCK, "&4Chargeable Item with additions", "", LoreBuilder.powerCharged(0, 10));
|
||||
|
||||
Assertions.assertTrue(rechargeable.addItemCharge(item, 10));
|
||||
Assertions.assertEquals(10, rechargeable.getItemCharge(item));
|
||||
|
||||
Assertions.assertFalse(rechargeable.addItemCharge(item, 1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddItemChargeWithoutLore() {
|
||||
Rechargeable rechargeable = mock("CHARGING_NO_LORE_TEST", 10);
|
||||
ItemStack item = new CustomItem(Material.REDSTONE_BLOCK, "&4Chargeable Item with no lore");
|
||||
|
||||
Assertions.assertEquals(0, rechargeable.getItemCharge(item));
|
||||
|
||||
Assertions.assertTrue(rechargeable.addItemCharge(item, 10));
|
||||
Assertions.assertEquals(10, rechargeable.getItemCharge(item));
|
||||
|
||||
String lore = ChatColors.color("&c&o&8\u21E8 &e\u26A1 &7") + "10.0 / 10.0 J";
|
||||
Assertions.assertEquals(lore, item.getItemMeta().getLore().get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveItemCharge() {
|
||||
Rechargeable rechargeable = mock("CHARGING_BOUNDS_TEST", 10);
|
||||
ItemStack item = new CustomItem(Material.REDSTONE_BLOCK, "&4Chargeable Item with removal", "", LoreBuilder.powerCharged(0, 10));
|
||||
|
||||
Assertions.assertFalse(rechargeable.removeItemCharge(item, 1));
|
||||
|
||||
rechargeable.setItemCharge(item, 10);
|
||||
|
||||
Assertions.assertTrue(rechargeable.removeItemCharge(item, 10));
|
||||
Assertions.assertEquals(0, rechargeable.getItemCharge(item));
|
||||
|
||||
Assertions.assertFalse(rechargeable.removeItemCharge(item, 1));
|
||||
}
|
||||
|
||||
private RechargeableMock mock(String id, float capacity) {
|
||||
Category category = TestUtilities.getCategory(plugin, "rechargeable");
|
||||
return new RechargeableMock(category, new SlimefunItemStack(id, new CustomItem(Material.REDSTONE_LAMP, "&3" + id)), capacity);
|
||||
}
|
||||
|
||||
private class RechargeableMock extends SlimefunItem implements Rechargeable {
|
||||
|
||||
private final float capacity;
|
||||
|
||||
protected RechargeableMock(Category category, SlimefunItemStack item, float capacity) {
|
||||
super(category, item, RecipeType.NULL, new ItemStack[9]);
|
||||
this.capacity = capacity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getMaxItemCharge(ItemStack item) {
|
||||
return capacity;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user