mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
Merge branch 'master' into code-quality/abstract-classes
This commit is contained in:
commit
25c3368ad3
2
.github/workflows/update-changelog.yml
vendored
2
.github/workflows/update-changelog.yml
vendored
@ -16,7 +16,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: TOC Generator
|
- name: TOC Generator
|
||||||
uses: technote-space/toc-generator@v2.5.1
|
uses: technote-space/toc-generator@v2.6.1
|
||||||
with:
|
with:
|
||||||
GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}
|
||||||
TARGET_PATHS: 'CHANGELOG.md'
|
TARGET_PATHS: 'CHANGELOG.md'
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
## Release Candidate 18 (TBD)
|
## Release Candidate 18 (TBD)
|
||||||
|
|
||||||
#### Additions
|
#### Additions
|
||||||
|
* The Smelters Pick now also works on Ancient Debris
|
||||||
|
|
||||||
#### Changes
|
#### Changes
|
||||||
* Removed 1.13 support
|
* Removed 1.13 support
|
||||||
@ -47,6 +48,10 @@
|
|||||||
* Fixed contributors not showing correctly
|
* Fixed contributors not showing correctly
|
||||||
* Fixed #2469
|
* Fixed #2469
|
||||||
* Fixed #2509
|
* Fixed #2509
|
||||||
|
* Fixed #2499
|
||||||
|
* Fixed #2527
|
||||||
|
* Fixed #2519
|
||||||
|
* Fixed #2517
|
||||||
|
|
||||||
## Release Candidate 17 (17 Oct 2020)
|
## Release Candidate 17 (17 Oct 2020)
|
||||||
|
|
||||||
|
4
pom.xml
4
pom.xml
@ -315,7 +315,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.seeseemelk</groupId>
|
<groupId>com.github.seeseemelk</groupId>
|
||||||
<artifactId>MockBukkit-v1.16</artifactId>
|
<artifactId>MockBukkit-v1.16</artifactId>
|
||||||
<version>0.13.0</version>
|
<version>0.13.1</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
@ -349,7 +349,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.konghq</groupId>
|
<groupId>com.konghq</groupId>
|
||||||
<artifactId>unirest-java</artifactId>
|
<artifactId>unirest-java</artifactId>
|
||||||
<version>3.11.02</version>
|
<version>3.11.03</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
|
@ -40,7 +40,7 @@ class GiveCommand extends SubCommand {
|
|||||||
if (sfItem != null) {
|
if (sfItem != null) {
|
||||||
giveItem(sender, p, sfItem, args);
|
giveItem(sender, p, sfItem, args);
|
||||||
} else {
|
} else {
|
||||||
SlimefunPlugin.getLocalization().sendMessage(sender, "messages.not-valid-item", true, msg -> msg.replace(PLACEHOLDER_ITEM, args[2]));
|
SlimefunPlugin.getLocalization().sendMessage(sender, "messages.invalid-item", true, msg -> msg.replace(PLACEHOLDER_ITEM, args[2]));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
SlimefunPlugin.getLocalization().sendMessage(sender, "messages.not-online", true, msg -> msg.replace(PLACEHOLDER_PLAYER, args[1]));
|
SlimefunPlugin.getLocalization().sendMessage(sender, "messages.not-online", true, msg -> msg.replace(PLACEHOLDER_PLAYER, args[1]));
|
||||||
@ -70,7 +70,7 @@ class GiveCommand extends SubCommand {
|
|||||||
|
|
||||||
SlimefunPlugin.getLocalization().sendMessage(sender, "messages.give-item", true, msg -> msg.replace(PLACEHOLDER_PLAYER, args[1]).replace(PLACEHOLDER_ITEM, sfItem.getItemName()).replace(PLACEHOLDER_AMOUNT, String.valueOf(amount)));
|
SlimefunPlugin.getLocalization().sendMessage(sender, "messages.give-item", true, msg -> msg.replace(PLACEHOLDER_PLAYER, args[1]).replace(PLACEHOLDER_ITEM, sfItem.getItemName()).replace(PLACEHOLDER_AMOUNT, String.valueOf(amount)));
|
||||||
} else {
|
} else {
|
||||||
SlimefunPlugin.getLocalization().sendMessage(sender, "messages.not-valid-amount", true, msg -> msg.replace(PLACEHOLDER_AMOUNT, args[3]));
|
SlimefunPlugin.getLocalization().sendMessage(sender, "messages.invalid-amount", true, msg -> msg.replace(PLACEHOLDER_AMOUNT, args[3]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,7 @@ class ResearchCommand extends SubCommand {
|
|||||||
SlimefunPlugin.getLocalization().sendMessage(player, "messages.give-research", true, variables);
|
SlimefunPlugin.getLocalization().sendMessage(player, "messages.give-research", true, variables);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
SlimefunPlugin.getLocalization().sendMessage(sender, "messages.not-valid-research", true, msg -> msg.replace(PLACEHOLDER_RESEARCH, input));
|
SlimefunPlugin.getLocalization().sendMessage(sender, "messages.invalid-research", true, msg -> msg.replace(PLACEHOLDER_RESEARCH, input));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,22 +1,30 @@
|
|||||||
package io.github.thebusybiscuit.slimefun4.core.services;
|
package io.github.thebusybiscuit.slimefun4.core.services;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Keyed;
|
import org.bukkit.Keyed;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.NamespacedKey;
|
import org.bukkit.NamespacedKey;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.BlockState;
|
import org.bukkit.block.BlockState;
|
||||||
import org.bukkit.block.TileState;
|
import org.bukkit.block.TileState;
|
||||||
|
import org.bukkit.persistence.PersistentDataContainer;
|
||||||
import org.bukkit.persistence.PersistentDataHolder;
|
import org.bukkit.persistence.PersistentDataHolder;
|
||||||
|
import org.bukkit.persistence.PersistentDataType;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
|
import io.github.thebusybiscuit.slimefun4.api.MinecraftVersion;
|
||||||
|
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
|
||||||
import io.papermc.lib.PaperLib;
|
import io.papermc.lib.PaperLib;
|
||||||
import io.papermc.lib.features.blockstatesnapshot.BlockStateSnapshotResult;
|
import io.papermc.lib.features.blockstatesnapshot.BlockStateSnapshotResult;
|
||||||
|
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The {@link BlockDataService} is similar to the {@link CustomItemDataService},
|
* The {@link BlockDataService} is similar to the {@link CustomItemDataService},
|
||||||
@ -27,7 +35,7 @@ import io.papermc.lib.features.blockstatesnapshot.BlockStateSnapshotResult;
|
|||||||
* @author TheBusyBiscuit
|
* @author TheBusyBiscuit
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class BlockDataService implements PersistentDataService, Keyed {
|
public class BlockDataService implements Keyed {
|
||||||
|
|
||||||
private final NamespacedKey namespacedKey;
|
private final NamespacedKey namespacedKey;
|
||||||
|
|
||||||
@ -62,15 +70,28 @@ public class BlockDataService implements PersistentDataService, Keyed {
|
|||||||
Validate.notNull(b, "The block cannot be null!");
|
Validate.notNull(b, "The block cannot be null!");
|
||||||
Validate.notNull(value, "The value cannot be null!");
|
Validate.notNull(value, "The value cannot be null!");
|
||||||
|
|
||||||
BlockStateSnapshotResult result = PaperLib.getBlockState(b, false);
|
// Due to a bug on older versions, Persistent Data is nullable for non-snapshots
|
||||||
|
boolean useSnapshot = SlimefunPlugin.getMinecraftVersion().isBefore(MinecraftVersion.MINECRAFT_1_16);
|
||||||
|
|
||||||
|
BlockStateSnapshotResult result = PaperLib.getBlockState(b, useSnapshot);
|
||||||
BlockState state = result.getState();
|
BlockState state = result.getState();
|
||||||
|
|
||||||
if (state instanceof TileState) {
|
if (state instanceof TileState) {
|
||||||
setString((TileState) state, namespacedKey, value);
|
try {
|
||||||
|
PersistentDataContainer container = ((TileState) state).getPersistentDataContainer();
|
||||||
|
container.set(namespacedKey, PersistentDataType.STRING, value);
|
||||||
|
|
||||||
if (result.isSnapshot()) {
|
if (result.isSnapshot()) {
|
||||||
state.update();
|
state.update();
|
||||||
}
|
}
|
||||||
|
} catch (Exception x) {
|
||||||
|
Slimefun.getLogger().log(Level.SEVERE, "Please check if your Server Software is up to date!");
|
||||||
|
|
||||||
|
String serverSoftware = PaperLib.isSpigot() && !PaperLib.isPaper() ? "Spigot" : Bukkit.getName();
|
||||||
|
Slimefun.getLogger().log(Level.SEVERE, () -> serverSoftware + " | " + Bukkit.getVersion() + " | " + Bukkit.getBukkitVersion());
|
||||||
|
|
||||||
|
Slimefun.getLogger().log(Level.SEVERE, "An Exception was thrown while trying to set Persistent Data for a Block", x);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,7 +108,8 @@ public class BlockDataService implements PersistentDataService, Keyed {
|
|||||||
BlockState state = PaperLib.getBlockState(b, false).getState();
|
BlockState state = PaperLib.getBlockState(b, false).getState();
|
||||||
|
|
||||||
if (state instanceof TileState) {
|
if (state instanceof TileState) {
|
||||||
return getString((TileState) state, namespacedKey);
|
PersistentDataContainer container = ((TileState) state).getPersistentDataContainer();
|
||||||
|
return Optional.ofNullable(container.get(namespacedKey, PersistentDataType.STRING));
|
||||||
} else {
|
} else {
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,8 @@ import org.bukkit.Material;
|
|||||||
import org.bukkit.NamespacedKey;
|
import org.bukkit.NamespacedKey;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
import org.bukkit.persistence.PersistentDataContainer;
|
||||||
|
import org.bukkit.persistence.PersistentDataType;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||||
@ -26,7 +28,7 @@ import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
|||||||
* @see SlimefunItemStack
|
* @see SlimefunItemStack
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class CustomItemDataService implements PersistentDataService, Keyed {
|
public class CustomItemDataService implements Keyed {
|
||||||
|
|
||||||
private final NamespacedKey namespacedKey;
|
private final NamespacedKey namespacedKey;
|
||||||
|
|
||||||
@ -71,16 +73,17 @@ public class CustomItemDataService implements PersistentDataService, Keyed {
|
|||||||
* This method stores the given id on the provided {@link ItemMeta} via
|
* This method stores the given id on the provided {@link ItemMeta} via
|
||||||
* persistent data.
|
* persistent data.
|
||||||
*
|
*
|
||||||
* @param im
|
* @param meta
|
||||||
* The {@link ItemMeta} to store data on
|
* The {@link ItemMeta} to store data on
|
||||||
* @param id
|
* @param id
|
||||||
* The id to store on the {@link ItemMeta}
|
* The id to store on the {@link ItemMeta}
|
||||||
*/
|
*/
|
||||||
public void setItemData(@Nonnull ItemMeta im, @Nonnull String id) {
|
public void setItemData(@Nonnull ItemMeta meta, @Nonnull String id) {
|
||||||
Validate.notNull(im, "The ItemMeta cannot be null!");
|
Validate.notNull(meta, "The ItemMeta cannot be null!");
|
||||||
Validate.notNull(id, "Cannot store null on an ItemMeta!");
|
Validate.notNull(id, "Cannot store null on an ItemMeta!");
|
||||||
|
|
||||||
setString(im, namespacedKey, id);
|
PersistentDataContainer container = meta.getPersistentDataContainer();
|
||||||
|
container.set(namespacedKey, PersistentDataType.STRING, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -115,7 +118,8 @@ public class CustomItemDataService implements PersistentDataService, Keyed {
|
|||||||
public Optional<String> getItemData(@Nonnull ItemMeta meta) {
|
public Optional<String> getItemData(@Nonnull ItemMeta meta) {
|
||||||
Validate.notNull(meta, "Cannot read data from null!");
|
Validate.notNull(meta, "Cannot read data from null!");
|
||||||
|
|
||||||
return getString(meta, namespacedKey);
|
PersistentDataContainer container = meta.getPersistentDataContainer();
|
||||||
|
return Optional.ofNullable(container.get(namespacedKey, PersistentDataType.STRING));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@ import java.util.Collection;
|
|||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
@ -21,6 +20,8 @@ import org.bukkit.Server;
|
|||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.persistence.PersistentDataContainer;
|
||||||
|
import org.bukkit.persistence.PersistentDataType;
|
||||||
|
|
||||||
import io.github.thebusybiscuit.cscorelib2.math.DoubleHandler;
|
import io.github.thebusybiscuit.cscorelib2.math.DoubleHandler;
|
||||||
import io.github.thebusybiscuit.slimefun4.core.services.localization.Language;
|
import io.github.thebusybiscuit.slimefun4.core.services.localization.Language;
|
||||||
@ -37,7 +38,7 @@ import me.mrCookieSlime.Slimefun.api.Slimefun;
|
|||||||
* @see Language
|
* @see Language
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class LocalizationService extends SlimefunLocalization implements PersistentDataService {
|
public class LocalizationService extends SlimefunLocalization {
|
||||||
|
|
||||||
private static final String LANGUAGE_PATH = "language";
|
private static final String LANGUAGE_PATH = "language";
|
||||||
|
|
||||||
@ -151,10 +152,12 @@ public class LocalizationService extends SlimefunLocalization implements Persist
|
|||||||
@Override
|
@Override
|
||||||
public Language getLanguage(@Nonnull Player p) {
|
public Language getLanguage(@Nonnull Player p) {
|
||||||
Validate.notNull("Player cannot be null!");
|
Validate.notNull("Player cannot be null!");
|
||||||
Optional<String> language = getString(p, languageKey);
|
|
||||||
|
|
||||||
if (language.isPresent()) {
|
PersistentDataContainer container = p.getPersistentDataContainer();
|
||||||
Language lang = languages.get(language.get());
|
String language = container.get(languageKey, PersistentDataType.STRING);
|
||||||
|
|
||||||
|
if (language != null) {
|
||||||
|
Language lang = languages.get(language);
|
||||||
|
|
||||||
if (lang != null) {
|
if (lang != null) {
|
||||||
return lang;
|
return lang;
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
package io.github.thebusybiscuit.slimefun4.core.services;
|
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
import org.bukkit.NamespacedKey;
|
|
||||||
import org.bukkit.persistence.PersistentDataContainer;
|
|
||||||
import org.bukkit.persistence.PersistentDataHolder;
|
|
||||||
import org.bukkit.persistence.PersistentDataType;
|
|
||||||
|
|
||||||
import io.github.thebusybiscuit.cscorelib2.data.PersistentDataAPI;
|
|
||||||
import io.github.thebusybiscuit.slimefun4.api.MinecraftVersion;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This interface is used to defer calls to Persistent Data and make sure they are only called
|
|
||||||
* if the {@link MinecraftVersion} supports it.
|
|
||||||
*
|
|
||||||
* @author TheBusyBiscuit
|
|
||||||
*
|
|
||||||
* @deprecated This is redundant, we can use {@link PersistentDataAPI} instead.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
interface PersistentDataService {
|
|
||||||
|
|
||||||
default void setString(Object obj, NamespacedKey key, String value) {
|
|
||||||
PersistentDataContainer container = ((PersistentDataHolder) obj).getPersistentDataContainer();
|
|
||||||
container.set(key, PersistentDataType.STRING, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
default Optional<String> getString(Object obj, NamespacedKey key) {
|
|
||||||
PersistentDataContainer container = ((PersistentDataHolder) obj).getPersistentDataContainer();
|
|
||||||
return Optional.ofNullable(container.get(key, PersistentDataType.STRING));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -101,9 +101,6 @@ public class ThirdPartyPluginService {
|
|||||||
// mcMMO Integration
|
// mcMMO Integration
|
||||||
if (isPluginInstalled("mcMMO")) {
|
if (isPluginInstalled("mcMMO")) {
|
||||||
try {
|
try {
|
||||||
// This makes sure that the FakeEvent interface is present.
|
|
||||||
// Class.forName("com.gmail.nossr50.events.fake.FakeEvent");
|
|
||||||
|
|
||||||
new McMMOIntegration(plugin);
|
new McMMOIntegration(plugin);
|
||||||
isMcMMOInstalled = true;
|
isMcMMOInstalled = true;
|
||||||
} catch (Exception | LinkageError x) {
|
} catch (Exception | LinkageError x) {
|
||||||
@ -170,7 +167,7 @@ public class ThirdPartyPluginService {
|
|||||||
* @return Whether this is a fake event
|
* @return Whether this is a fake event
|
||||||
*/
|
*/
|
||||||
public boolean isEventFaked(@Nonnull Event event) {
|
public boolean isEventFaked(@Nonnull Event event) {
|
||||||
// TODO: Change this to FakeEvent once the new mcMMO build was released
|
// This can be changed to "FakeEvent" in a later version
|
||||||
return isMcMMOInstalled && event instanceof FakeBlockBreakEvent;
|
return isMcMMOInstalled && event instanceof FakeBlockBreakEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ public class FisherAndroid extends ProgrammableAndroid {
|
|||||||
|
|
||||||
if (ThreadLocalRandom.current().nextInt(100) < 10 * getTier()) {
|
if (ThreadLocalRandom.current().nextInt(100) < 10 * getTier()) {
|
||||||
ItemStack drop = fishingLoot.getRandom();
|
ItemStack drop = fishingLoot.getRandom();
|
||||||
menu.pushItem(drop, getOutputSlots());
|
menu.pushItem(drop.clone(), getOutputSlots());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package io.github.thebusybiscuit.slimefun4.implementation.items.magical.talismans;
|
package io.github.thebusybiscuit.slimefun4.implementation.items.magical.talismans;
|
||||||
|
|
||||||
|
import javax.annotation.ParametersAreNonnullByDefault;
|
||||||
|
|
||||||
import org.bukkit.NamespacedKey;
|
import org.bukkit.NamespacedKey;
|
||||||
import org.bukkit.block.EnderChest;
|
import org.bukkit.block.EnderChest;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
@ -21,12 +23,13 @@ class EnderTalisman extends Talisman {
|
|||||||
|
|
||||||
private static final LockedCategory ENDER_TALISMANS_CATEGORY = new LockedCategory(new NamespacedKey(SlimefunPlugin.instance(), "ender_talismans"), new CustomItem(SlimefunItems.ENDER_TALISMAN, "&7Talismans - &aTier II"), 3, Talisman.TALISMANS_CATEGORY.getKey());
|
private static final LockedCategory ENDER_TALISMANS_CATEGORY = new LockedCategory(new NamespacedKey(SlimefunPlugin.instance(), "ender_talismans"), new CustomItem(SlimefunItems.ENDER_TALISMAN, "&7Talismans - &aTier II"), 3, Talisman.TALISMANS_CATEGORY.getKey());
|
||||||
|
|
||||||
|
@ParametersAreNonnullByDefault
|
||||||
public EnderTalisman(Talisman parent, SlimefunItemStack item) {
|
public EnderTalisman(Talisman parent, SlimefunItemStack item) {
|
||||||
super(ENDER_TALISMANS_CATEGORY, item, new ItemStack[] { SlimefunItems.ENDER_LUMP_3, null, SlimefunItems.ENDER_LUMP_3, null, parent.getItem(), null, SlimefunItems.ENDER_LUMP_3, null, SlimefunItems.ENDER_LUMP_3 }, parent.isConsumable(), parent.isEventCancelled(), parent.getMessageSuffix(), parent.getChance(), parent.getEffects());
|
super(ENDER_TALISMANS_CATEGORY, item, new ItemStack[] { SlimefunItems.ENDER_LUMP_3, null, SlimefunItems.ENDER_LUMP_3, null, parent.getItem(), null, SlimefunItems.ENDER_LUMP_3, null, SlimefunItems.ENDER_LUMP_3 }, parent.isConsumable(), parent.isEventCancelled(), parent.getMessageSuffix(), parent.getChance(), parent.getEffects());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void createEnderTalisman() {
|
void loadEnderTalisman() {
|
||||||
// Let's override that, otherwise we would be creating Ender Talismans
|
// Let's override that, otherwise we would be creating Ender Talismans
|
||||||
// for every Ender Talisman
|
// for every Ender Talisman
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,10 @@ import java.util.List;
|
|||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.concurrent.ThreadLocalRandom;
|
import java.util.concurrent.ThreadLocalRandom;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
import javax.annotation.ParametersAreNonnullByDefault;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.NamespacedKey;
|
import org.bukkit.NamespacedKey;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -44,19 +48,23 @@ public class Talisman extends SlimefunItem {
|
|||||||
protected final PotionEffect[] effects;
|
protected final PotionEffect[] effects;
|
||||||
protected final int chance;
|
protected final int chance;
|
||||||
|
|
||||||
public Talisman(SlimefunItemStack item, ItemStack[] recipe, boolean consumable, boolean cancelEvent, String messageSuffix, PotionEffect... effects) {
|
@ParametersAreNonnullByDefault
|
||||||
|
public Talisman(SlimefunItemStack item, ItemStack[] recipe, boolean consumable, boolean cancelEvent, @Nullable String messageSuffix, PotionEffect... effects) {
|
||||||
this(item, recipe, consumable, cancelEvent, messageSuffix, 100, effects);
|
this(item, recipe, consumable, cancelEvent, messageSuffix, 100, effects);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Talisman(SlimefunItemStack item, ItemStack[] recipe, String messageSuffix, int chance, PotionEffect... effects) {
|
@ParametersAreNonnullByDefault
|
||||||
|
public Talisman(SlimefunItemStack item, ItemStack[] recipe, @Nullable String messageSuffix, int chance, PotionEffect... effects) {
|
||||||
this(item, recipe, true, true, messageSuffix, chance, effects);
|
this(item, recipe, true, true, messageSuffix, chance, effects);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Talisman(SlimefunItemStack item, ItemStack[] recipe, boolean consumable, boolean cancelEvent, String messageSuffix, int chance, PotionEffect... effects) {
|
@ParametersAreNonnullByDefault
|
||||||
|
public Talisman(SlimefunItemStack item, ItemStack[] recipe, boolean consumable, boolean cancelEvent, @Nullable String messageSuffix, int chance, PotionEffect... effects) {
|
||||||
this(TALISMANS_CATEGORY, item, recipe, consumable, cancelEvent, messageSuffix, chance, effects);
|
this(TALISMANS_CATEGORY, item, recipe, consumable, cancelEvent, messageSuffix, chance, effects);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Talisman(Category category, SlimefunItemStack item, ItemStack[] recipe, boolean consumable, boolean cancelEvent, String messageSuffix, int chance, PotionEffect... effects) {
|
@ParametersAreNonnullByDefault
|
||||||
|
protected Talisman(Category category, SlimefunItemStack item, ItemStack[] recipe, boolean consumable, boolean cancelEvent, @Nullable String messageSuffix, int chance, PotionEffect... effects) {
|
||||||
super(category, item, RecipeType.MAGIC_WORKBENCH, recipe, new CustomItem(item, consumable ? 4 : 1));
|
super(category, item, RecipeType.MAGIC_WORKBENCH, recipe, new CustomItem(item, consumable ? 4 : 1));
|
||||||
|
|
||||||
this.consumable = consumable;
|
this.consumable = consumable;
|
||||||
@ -81,14 +89,26 @@ public class Talisman extends SlimefunItem {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This returns whether the {@link Talisman} will be consumed upon use.
|
||||||
|
*
|
||||||
|
* @return Whether this {@link Talisman} is consumed on use.
|
||||||
|
*/
|
||||||
public boolean isConsumable() {
|
public boolean isConsumable() {
|
||||||
return consumable;
|
return consumable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This returns the chance of this {@link Talisman} activating.
|
||||||
|
* The chance will be between 1 and 100.
|
||||||
|
*
|
||||||
|
* @return The chance of this {@link Talisman} activating.
|
||||||
|
*/
|
||||||
public int getChance() {
|
public int getChance() {
|
||||||
return chance;
|
return chance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
public PotionEffect[] getEffects() {
|
public PotionEffect[] getEffects() {
|
||||||
return effects;
|
return effects;
|
||||||
}
|
}
|
||||||
@ -101,6 +121,7 @@ public class Talisman extends SlimefunItem {
|
|||||||
return cancel;
|
return cancel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
private SlimefunItemStack getEnderVariant() {
|
private SlimefunItemStack getEnderVariant() {
|
||||||
return enderTalisman;
|
return enderTalisman;
|
||||||
}
|
}
|
||||||
@ -114,10 +135,10 @@ public class Talisman extends SlimefunItem {
|
|||||||
@Override
|
@Override
|
||||||
public void load() {
|
public void load() {
|
||||||
super.load();
|
super.load();
|
||||||
createEnderTalisman();
|
loadEnderTalisman();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void createEnderTalisman() {
|
void loadEnderTalisman() {
|
||||||
EnderTalisman talisman = (EnderTalisman) SlimefunItem.getByItem(getEnderVariant());
|
EnderTalisman talisman = (EnderTalisman) SlimefunItem.getByItem(getEnderVariant());
|
||||||
Optional<Research> research = Research.getResearch(new NamespacedKey(SlimefunPlugin.instance(), "ender_talismans"));
|
Optional<Research> research = Research.getResearch(new NamespacedKey(SlimefunPlugin.instance(), "ender_talismans"));
|
||||||
|
|
||||||
@ -126,14 +147,16 @@ public class Talisman extends SlimefunItem {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean hasMessage(Talisman talisman) {
|
private static boolean hasMessage(@Nonnull Talisman talisman) {
|
||||||
return talisman.getMessageSuffix() != null;
|
return talisman.getMessageSuffix() != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ParametersAreNonnullByDefault
|
||||||
public static boolean checkFor(Event e, SlimefunItemStack stack) {
|
public static boolean checkFor(Event e, SlimefunItemStack stack) {
|
||||||
return checkFor(e, stack.getItem());
|
return checkFor(e, stack.getItem());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ParametersAreNonnullByDefault
|
||||||
public static boolean checkFor(Event e, SlimefunItem item) {
|
public static boolean checkFor(Event e, SlimefunItem item) {
|
||||||
if (!(item instanceof Talisman)) {
|
if (!(item instanceof Talisman)) {
|
||||||
return false;
|
return false;
|
||||||
@ -153,7 +176,7 @@ public class Talisman extends SlimefunItem {
|
|||||||
|
|
||||||
if (SlimefunUtils.containsSimilarItem(p.getInventory(), talismanItem, true)) {
|
if (SlimefunUtils.containsSimilarItem(p.getInventory(), talismanItem, true)) {
|
||||||
if (Slimefun.hasUnlocked(p, talisman, true)) {
|
if (Slimefun.hasUnlocked(p, talisman, true)) {
|
||||||
activateTalisman(e, p, p.getInventory(), talisman);
|
activateTalisman(e, p, p.getInventory(), talisman, talismanItem);
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
@ -163,7 +186,7 @@ public class Talisman extends SlimefunItem {
|
|||||||
|
|
||||||
if (SlimefunUtils.containsSimilarItem(p.getEnderChest(), enderTalisman, true)) {
|
if (SlimefunUtils.containsSimilarItem(p.getEnderChest(), enderTalisman, true)) {
|
||||||
if (Slimefun.hasUnlocked(p, talisman, true)) {
|
if (Slimefun.hasUnlocked(p, talisman, true)) {
|
||||||
activateTalisman(e, p, p.getEnderChest(), talisman);
|
activateTalisman(e, p, p.getEnderChest(), talisman, enderTalisman);
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
@ -174,38 +197,43 @@ public class Talisman extends SlimefunItem {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void activateTalisman(Event e, Player p, Inventory inv, Talisman talisman) {
|
@ParametersAreNonnullByDefault
|
||||||
consumeItem(inv, talisman);
|
private static void activateTalisman(Event e, Player p, Inventory inv, Talisman talisman, ItemStack talismanItem) {
|
||||||
|
consumeItem(inv, talisman, talismanItem);
|
||||||
applyTalismanEffects(p, talisman);
|
applyTalismanEffects(p, talisman);
|
||||||
cancelEvent(e, talisman);
|
cancelEvent(e, talisman);
|
||||||
sendMessage(p, talisman);
|
sendMessage(p, talisman);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ParametersAreNonnullByDefault
|
||||||
private static void applyTalismanEffects(Player p, Talisman talisman) {
|
private static void applyTalismanEffects(Player p, Talisman talisman) {
|
||||||
for (PotionEffect effect : talisman.getEffects()) {
|
for (PotionEffect effect : talisman.getEffects()) {
|
||||||
p.addPotionEffect(effect);
|
p.addPotionEffect(effect);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ParametersAreNonnullByDefault
|
||||||
private static void cancelEvent(Event e, Talisman talisman) {
|
private static void cancelEvent(Event e, Talisman talisman) {
|
||||||
if (e instanceof Cancellable && talisman.isEventCancelled()) {
|
if (e instanceof Cancellable && talisman.isEventCancelled()) {
|
||||||
((Cancellable) e).setCancelled(true);
|
((Cancellable) e).setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ParametersAreNonnullByDefault
|
||||||
private static void sendMessage(Player p, Talisman talisman) {
|
private static void sendMessage(Player p, Talisman talisman) {
|
||||||
if (hasMessage(talisman)) {
|
if (hasMessage(talisman)) {
|
||||||
SlimefunPlugin.getLocalization().sendMessage(p, "messages.talisman." + talisman.getMessageSuffix(), true);
|
SlimefunPlugin.getLocalization().sendMessage(p, "messages.talisman." + talisman.getMessageSuffix(), true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void consumeItem(Inventory inv, Talisman talisman) {
|
@ParametersAreNonnullByDefault
|
||||||
|
private static void consumeItem(Inventory inv, Talisman talisman, ItemStack talismanItem) {
|
||||||
if (talisman.isConsumable()) {
|
if (talisman.isConsumable()) {
|
||||||
ItemStack[] contents = inv.getContents();
|
ItemStack[] contents = inv.getContents();
|
||||||
for (int i = 0; i < contents.length; i++) {
|
for (int i = 0; i < contents.length; i++) {
|
||||||
ItemStack item = contents[i];
|
ItemStack item = contents[i];
|
||||||
|
|
||||||
if (SlimefunUtils.isItemSimilar(item, talisman.getItem(), true, false)) {
|
if (SlimefunUtils.isItemSimilar(item, talismanItem, true, false)) {
|
||||||
ItemUtils.consumeItem(item, false);
|
ItemUtils.consumeItem(item, false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -245,9 +245,9 @@ messages:
|
|||||||
no-tome-yourself: "&cلا يمكنك إستعمال &4القاموس &cعلى نفسك..."
|
no-tome-yourself: "&cلا يمكنك إستعمال &4القاموس &cعلى نفسك..."
|
||||||
not-online: "&4%player% &cغير متصل!"
|
not-online: "&4%player% &cغير متصل!"
|
||||||
not-researched: "&4لا تملك خبرة لفهم هذا الأمر"
|
not-researched: "&4لا تملك خبرة لفهم هذا الأمر"
|
||||||
not-valid-amount: "&4%amount% &cليست قيمة صحيحة: يجب أن تكون أكثر من صفر!"
|
invalid-amount: "&4%amount% &cليست قيمة صحيحة: يجب أن تكون أكثر من صفر!"
|
||||||
not-valid-item: "&4%item% &cليس عنصر صحيح!"
|
invalid-item: "&4%item% &cليس عنصر صحيح!"
|
||||||
not-valid-research: "&4%research% &cليس بحث صحيح!"
|
invalid-research: "&4%research% &cليس بحث صحيح!"
|
||||||
only-players: "&4هذا الأمر لللاعبين فقط"
|
only-players: "&4هذا الأمر لللاعبين فقط"
|
||||||
opening-backpack: "&bيتم فتح الحقيبة، قد تستغرق ثوان..."
|
opening-backpack: "&bيتم فتح الحقيبة، قد تستغرق ثوان..."
|
||||||
opening-guide: "&bيتم فتح الكتيب، قد يستغرق ثوان..."
|
opening-guide: "&bيتم فتح الكتيب، قد يستغرق ثوان..."
|
||||||
|
@ -100,11 +100,11 @@ messages:
|
|||||||
no-permission: "&4Na tohle nemáš dostatečné povolení"
|
no-permission: "&4Na tohle nemáš dostatečné povolení"
|
||||||
usage: "&4Použití: &c%usage%"
|
usage: "&4Použití: &c%usage%"
|
||||||
not-online: "&4%player% &czrovna není připojen!"
|
not-online: "&4%player% &czrovna není připojen!"
|
||||||
not-valid-item: "&4%item% &cnení platný item!"
|
invalid-item: "&4%item% &cnení platný item!"
|
||||||
not-valid-amount: "&4%amount% &cnení platné číslo : musí být větší než 0!"
|
invalid-amount: "&4%amount% &cnení platné číslo : musí být větší než 0!"
|
||||||
given-item: '&bDostal jsi &a%amount% &7"%item%&7"'
|
given-item: '&bDostal jsi &a%amount% &7"%item%&7"'
|
||||||
give-item: '&bDal jsi %player% &a%amount% &7"%item%&7"'
|
give-item: '&bDal jsi %player% &a%amount% &7"%item%&7"'
|
||||||
not-valid-research: "&4%research% &cnení platný výzkum!"
|
invalid-research: "&4%research% &cnení platný výzkum!"
|
||||||
give-research: '&bUdělil jsi %player% výzkum &7"%research%&7"'
|
give-research: '&bUdělil jsi %player% výzkum &7"%research%&7"'
|
||||||
hungry: "&cJsi moc hladový na to, abys to zvládl!"
|
hungry: "&cJsi moc hladový na to, abys to zvládl!"
|
||||||
disabled-in-world: "&4&lTahle věc není v tomhle světě povolená"
|
disabled-in-world: "&4&lTahle věc není v tomhle světě povolená"
|
||||||
|
@ -108,11 +108,11 @@ messages:
|
|||||||
no-permission: "&4Du hast nicht die benötigten Rechte hierfür"
|
no-permission: "&4Du hast nicht die benötigten Rechte hierfür"
|
||||||
usage: "&4Korrekte Schreibweise: &c%usage%"
|
usage: "&4Korrekte Schreibweise: &c%usage%"
|
||||||
not-online: "&4%player% &cist derzeit nicht online!"
|
not-online: "&4%player% &cist derzeit nicht online!"
|
||||||
not-valid-item: "&4%item% &cist kein gültiges Item!"
|
invalid-item: "&4%item% &cist kein gültiges Item!"
|
||||||
not-valid-amount: "&4%amount% &cist keine gültige Anzahl! Sie muss höher als 0 sein!"
|
invalid-amount: "&4%amount% &cist keine gültige Anzahl! Sie muss höher als 0 sein!"
|
||||||
given-item: '&bDir wurde &a%amount% &7mal "%item%&7" gegeben'
|
given-item: '&bDir wurde &a%amount% &7mal "%item%&7" gegeben'
|
||||||
give-item: '&bDu hast %player% &a%amount% &7"%item%&7" gegeben'
|
give-item: '&bDu hast %player% &a%amount% &7"%item%&7" gegeben'
|
||||||
not-valid-research: "&4%research% &cist kein gültiger Erfahrungsgrad!"
|
invalid-research: "&4%research% &cist kein gültiger Erfahrungsgrad!"
|
||||||
give-research: '&bDu hast %player% den Erfahrungsgrad &7"%research%&7" vergeben'
|
give-research: '&bDu hast %player% den Erfahrungsgrad &7"%research%&7" vergeben'
|
||||||
hungry: "&cDu bist zu hungrig, um dies zu tun!"
|
hungry: "&cDu bist zu hungrig, um dies zu tun!"
|
||||||
disabled-in-world: "&4&lDieses Item wurde in dieser Welt deaktiviert!"
|
disabled-in-world: "&4&lDieses Item wurde in dieser Welt deaktiviert!"
|
||||||
|
@ -120,11 +120,11 @@ messages:
|
|||||||
no-permission: '&4You do not have the required permission to do this'
|
no-permission: '&4You do not have the required permission to do this'
|
||||||
usage: '&4Usage: &c%usage%'
|
usage: '&4Usage: &c%usage%'
|
||||||
not-online: '&4%player% &cis not online!'
|
not-online: '&4%player% &cis not online!'
|
||||||
not-valid-item: '&4%item% &cis not a valid Item!'
|
invalid-item: '&4%item% &cis not a valid Item!'
|
||||||
not-valid-amount: '&4%amount% &cis not a valid amount : it must be higher than 0!'
|
invalid-amount: '&4%amount% &cis not a valid amount : it must be higher than 0!'
|
||||||
given-item: '&bYou have been given &a%amount% &7"%item%&7"'
|
given-item: '&bYou have been given &a%amount% &7"%item%&7"'
|
||||||
give-item: '&bYou have given %player% &a%amount% &7"%item%&7"'
|
give-item: '&bYou have given %player% &a%amount% &7"%item%&7"'
|
||||||
not-valid-research: '&4%research% &cis not a valid Research!'
|
invalid-research: '&4%research% &cis not a valid Research!'
|
||||||
give-research: '&bYou have given %player% the Research &7"%research%&7"'
|
give-research: '&bYou have given %player% the Research &7"%research%&7"'
|
||||||
hungry: '&cYou are too hungry to do that!'
|
hungry: '&cYou are too hungry to do that!'
|
||||||
disabled-in-world: '&4&lThis Item has been disabled in this world'
|
disabled-in-world: '&4&lThis Item has been disabled in this world'
|
||||||
|
@ -102,12 +102,12 @@ messages:
|
|||||||
no-permission: "&4No tienes el permiso requerido para hacer esto."
|
no-permission: "&4No tienes el permiso requerido para hacer esto."
|
||||||
usage: "&4Uso: &c%usage%"
|
usage: "&4Uso: &c%usage%"
|
||||||
not-online: "&c¡&4%player% &cno está conectado!"
|
not-online: "&c¡&4%player% &cno está conectado!"
|
||||||
not-valid-item: "&c¡&4%item% &cno es un objeto válido!"
|
invalid-item: "&c¡&4%item% &cno es un objeto válido!"
|
||||||
not-valid-amount: "&c¡&4%amount% &cno es un valor válido: tiene que ser mayor a
|
invalid-amount: "&c¡&4%amount% &cno es un valor válido: tiene que ser mayor a
|
||||||
0!"
|
0!"
|
||||||
given-item: '&bTe han dado &a%amount% &7"%item%&7"'
|
given-item: '&bTe han dado &a%amount% &7"%item%&7"'
|
||||||
give-item: '&bLe has dado a %player%, &a%amount% &7"%item%&7"'
|
give-item: '&bLe has dado a %player%, &a%amount% &7"%item%&7"'
|
||||||
not-valid-research: "&c¡&4%research% &cno es un conocimiento válido!"
|
invalid-research: "&c¡&4%research% &cno es un conocimiento válido!"
|
||||||
give-research: '&bLe has dado a %player% la investigación &7"%research%&7"'
|
give-research: '&bLe has dado a %player% la investigación &7"%research%&7"'
|
||||||
hungry: "&c¡Tienes demasiada hambre para hacer eso!"
|
hungry: "&c¡Tienes demasiada hambre para hacer eso!"
|
||||||
disabled-in-world: "&4&lEste item ha sido desactivado en el mundo."
|
disabled-in-world: "&4&lEste item ha sido desactivado en el mundo."
|
||||||
|
@ -110,12 +110,12 @@ messages:
|
|||||||
no-permission: "&4Vous n'avez pas les permissions requises pour faire ceci"
|
no-permission: "&4Vous n'avez pas les permissions requises pour faire ceci"
|
||||||
usage: "&4Utilisation: &c%usage%"
|
usage: "&4Utilisation: &c%usage%"
|
||||||
not-online: "&4%player% &cn'est pas en ligne!"
|
not-online: "&4%player% &cn'est pas en ligne!"
|
||||||
not-valid-item: "&4%item% &cn'est pas un item valide!"
|
invalid-item: "&4%item% &cn'est pas un item valide!"
|
||||||
not-valid-amount: "&4%amount% &cn'est pas un montant valide: il doit être supérieur
|
invalid-amount: "&4%amount% &cn'est pas un montant valide: il doit être supérieur
|
||||||
à 0!"
|
à 0!"
|
||||||
given-item: '&bVous avez reçu &a%amount%&7 "%item%&7"'
|
given-item: '&bVous avez reçu &a%amount%&7 "%item%&7"'
|
||||||
give-item: '&bVous avez donné &a%amount% &7"%item%&7" à %player%'
|
give-item: '&bVous avez donné &a%amount% &7"%item%&7" à %player%'
|
||||||
not-valid-research: "&4%research% &cn'est pas une recherche valide!"
|
invalid-research: "&4%research% &cn'est pas une recherche valide!"
|
||||||
give-research: '&bVous avez débloqué la recherche "%research%&7" à %player%'
|
give-research: '&bVous avez débloqué la recherche "%research%&7" à %player%'
|
||||||
hungry: "&cVous avez trop faim pour faire ça!"
|
hungry: "&cVous avez trop faim pour faire ça!"
|
||||||
disabled-in-world: "&4&lCet item a été désactivé dans ce monde"
|
disabled-in-world: "&4&lCet item a été désactivé dans ce monde"
|
||||||
|
@ -106,11 +106,11 @@ messages:
|
|||||||
no-permission: "&4Ehhez nincs jogod"
|
no-permission: "&4Ehhez nincs jogod"
|
||||||
usage: "&4Használat: &c%usage%"
|
usage: "&4Használat: &c%usage%"
|
||||||
not-online: "&4%player% &cjelenleg nem elérhető!"
|
not-online: "&4%player% &cjelenleg nem elérhető!"
|
||||||
not-valid-item: "&4%item% &cnem megfelelő tárgy!"
|
invalid-item: "&4%item% &cnem megfelelő tárgy!"
|
||||||
not-valid-amount: "&4%amount% &cnem megfelelő mennyiség: 0-nál nagyobbnak kell lennie!"
|
invalid-amount: "&4%amount% &cnem megfelelő mennyiség: 0-nál nagyobbnak kell lennie!"
|
||||||
given-item: '&bKaptál &a%amount% darab &7"%item%&7"&b-t'
|
given-item: '&bKaptál &a%amount% darab &7"%item%&7"&b-t'
|
||||||
give-item: '&bAdtál %player%-nek/nak &a%amount% &7"%item%&7"&b-t'
|
give-item: '&bAdtál %player%-nek/nak &a%amount% &7"%item%&7"&b-t'
|
||||||
not-valid-research: "&4%research% &cnem érvényes Kutatás!"
|
invalid-research: "&4%research% &cnem érvényes Kutatás!"
|
||||||
give-research: '&bMegadtad %player% játékosnak a(z) &7"%research%&7" &bkutatást'
|
give-research: '&bMegadtad %player% játékosnak a(z) &7"%research%&7" &bkutatást'
|
||||||
hungry: "&cTúl éhes vagy ehhez!"
|
hungry: "&cTúl éhes vagy ehhez!"
|
||||||
disabled-in-world: "&4&lEz a tárgy tiltva van ebben a világban"
|
disabled-in-world: "&4&lEz a tárgy tiltva van ebben a világban"
|
||||||
|
@ -83,11 +83,11 @@ messages:
|
|||||||
no-permission: "&4Anda Tidak Memiliki Izin Untuk Ini"
|
no-permission: "&4Anda Tidak Memiliki Izin Untuk Ini"
|
||||||
usage: "&4Penggunaan: &c%usage%"
|
usage: "&4Penggunaan: &c%usage%"
|
||||||
not-online: "&4%player% &cTidak Sedang Bermain Disini!"
|
not-online: "&4%player% &cTidak Sedang Bermain Disini!"
|
||||||
not-valid-item: "&4%item% &cBenda Ini Tidak sah"
|
invalid-item: "&4%item% &cBenda Ini Tidak sah"
|
||||||
not-valid-amount: "&4%amount% &cJumlah Ini Salah : Harus Lebih Tinggi Dari 0!"
|
invalid-amount: "&4%amount% &cJumlah Ini Salah : Harus Lebih Tinggi Dari 0!"
|
||||||
given-item: '&bAnda Telah Diberikan &a%amount% &7"%item%&7"'
|
given-item: '&bAnda Telah Diberikan &a%amount% &7"%item%&7"'
|
||||||
give-item: '&bAnda Telah Memberi %player% &a%amount% &7"%item%&7"'
|
give-item: '&bAnda Telah Memberi %player% &a%amount% &7"%item%&7"'
|
||||||
not-valid-research: "&4%research% &cIni Bukan Penelitian Yang Benar!"
|
invalid-research: "&4%research% &cIni Bukan Penelitian Yang Benar!"
|
||||||
give-research: '&bAnda Telah Memberi %player% Penelitian &7"%research%&7"'
|
give-research: '&bAnda Telah Memberi %player% Penelitian &7"%research%&7"'
|
||||||
hungry: "&cAnda Terlalu Lapar Untuk Ini "
|
hungry: "&cAnda Terlalu Lapar Untuk Ini "
|
||||||
mode-change: "&b%device% Mode Telah Berubah Menjadi: &9%mode%"
|
mode-change: "&b%device% Mode Telah Berubah Menjadi: &9%mode%"
|
||||||
|
@ -249,9 +249,9 @@ messages:
|
|||||||
no-tome-yourself: "&cNon puoi utilizzare il &4Tomo della conoscienza &c su te stesso
|
no-tome-yourself: "&cNon puoi utilizzare il &4Tomo della conoscienza &c su te stesso
|
||||||
..."
|
..."
|
||||||
not-online: "&4%player% &cnon è online!"
|
not-online: "&4%player% &cnon è online!"
|
||||||
not-valid-amount: "&4%amount% &cnon è una valida quantità: deve essere maggiore
|
invalid-amount: "&4%amount% &cnon è una valida quantità: deve essere maggiore
|
||||||
di 0!"
|
di 0!"
|
||||||
not-valid-research: "&4%research% &cnon è una ricerca valida!"
|
invalid-research: "&4%research% &cnon è una ricerca valida!"
|
||||||
only-players: "&4Questo comando è solo per i players"
|
only-players: "&4Questo comando è solo per i players"
|
||||||
opening-backpack: "&bAprendo lo zaino, potrebbero essere necessari alcuni secondi
|
opening-backpack: "&bAprendo lo zaino, potrebbero essere necessari alcuni secondi
|
||||||
..."
|
..."
|
||||||
@ -282,7 +282,7 @@ messages:
|
|||||||
unlocked: '&bHai sbloccato &7 "%research%"'
|
unlocked: '&bHai sbloccato &7 "%research%"'
|
||||||
usage: "&4Utilizzo: &c%usage%"
|
usage: "&4Utilizzo: &c%usage%"
|
||||||
not-researched: "&4Non hai abbastanza conoscenze per capirlo!"
|
not-researched: "&4Non hai abbastanza conoscenze per capirlo!"
|
||||||
not-valid-item: "&4%item% &cnon è un oggetto valido!"
|
invalid-item: "&4%item% &cnon è un oggetto valido!"
|
||||||
disabled-in-world: "&4&lQuesto oggetto è stato disattivato in questo mondo!"
|
disabled-in-world: "&4&lQuesto oggetto è stato disattivato in questo mondo!"
|
||||||
disabled-item: "&4& lQuesto oggetto è stato disabilitato! Come l'hai ottenuto?"
|
disabled-item: "&4& lQuesto oggetto è stato disabilitato! Come l'hai ottenuto?"
|
||||||
radiation: "&4Sei stato esposto a radiazioni mortali! &cSbarazzati dell'oggetto
|
radiation: "&4Sei stato esposto a radiazioni mortali! &cSbarazzati dell'oggetto
|
||||||
|
@ -106,11 +106,11 @@ messages:
|
|||||||
no-permission: "&4権限がありません"
|
no-permission: "&4権限がありません"
|
||||||
usage: "&4使用法: &c%usage%"
|
usage: "&4使用法: &c%usage%"
|
||||||
not-online: "&4%player% &cはオンラインではありません!"
|
not-online: "&4%player% &cはオンラインではありません!"
|
||||||
not-valid-item: "&4%item% &cは正しくないアイテムです"
|
invalid-item: "&4%item% &cは正しくないアイテムです"
|
||||||
not-valid-amount: "&4%amount% &cの部分には、正の整数を指定してください"
|
invalid-amount: "&4%amount% &cの部分には、正の整数を指定してください"
|
||||||
given-item: "&b%item%を%amount%個与えられました"
|
given-item: "&b%item%を%amount%個与えられました"
|
||||||
give-item: "&b%player%に%item%を%amount%個与えました"
|
give-item: "&b%player%に%item%を%amount%個与えました"
|
||||||
not-valid-research: "&4%research%&cは正しくないリサーチです"
|
invalid-research: "&4%research%&cは正しくないリサーチです"
|
||||||
give-research: "&b%player%のリサーチ%research%を完了させました"
|
give-research: "&b%player%のリサーチ%research%を完了させました"
|
||||||
hungry: "&c空腹のため使えません"
|
hungry: "&c空腹のため使えません"
|
||||||
disabled-in-world: "&4&lこのワールドでは使用できません"
|
disabled-in-world: "&4&lこのワールドでは使用できません"
|
||||||
|
@ -90,11 +90,11 @@ messages:
|
|||||||
no-permission: "&4이 작업에 필요한 권한이 없습니다."
|
no-permission: "&4이 작업에 필요한 권한이 없습니다."
|
||||||
usage: "&4사용량: &c%usage%\n"
|
usage: "&4사용량: &c%usage%\n"
|
||||||
not-online: "&4%player% &cis가 온라인 상태가 아닙니다!"
|
not-online: "&4%player% &cis가 온라인 상태가 아닙니다!"
|
||||||
not-valid-item: "&4%item% &cis가 올바른 아이템이 아닙니다!"
|
invalid-item: "&4%item% &cis가 올바른 아이템이 아닙니다!"
|
||||||
not-valid-amount: "&4%amount% &cis 유효한 금액이 아닙니다. 0보다 커야 합니다!"
|
invalid-amount: "&4%amount% &cis 유효한 금액이 아닙니다. 0보다 커야 합니다!"
|
||||||
given-item: '&b당신은 &a%amount% &7"%item%&7"을 받았다.'
|
given-item: '&b당신은 &a%amount% &7"%item%&7"을 받았다.'
|
||||||
give-item: '&b%player% &a%amount% &7"%item%&7"을(를) 제공하셨습니다.'
|
give-item: '&b%player% &a%amount% &7"%item%&7"을(를) 제공하셨습니다.'
|
||||||
not-valid-research: "&4%research% &cis가 유효하지 않은 연구!\n"
|
invalid-research: "&4%research% &cis가 유효하지 않은 연구!\n"
|
||||||
give-research: '&b%player%에 Research &7"%research%&7"을(를) 제공했습니다.
|
give-research: '&b%player%에 Research &7"%research%&7"을(를) 제공했습니다.
|
||||||
|
|
||||||
'
|
'
|
||||||
|
@ -56,11 +56,11 @@ messages:
|
|||||||
no-permission: "&4Tev šo nav atļauts darīt"
|
no-permission: "&4Tev šo nav atļauts darīt"
|
||||||
usage: "&4Pamācība: &c%usage%"
|
usage: "&4Pamācība: &c%usage%"
|
||||||
not-online: "&4%player%&c nav pieslēdzies!"
|
not-online: "&4%player%&c nav pieslēdzies!"
|
||||||
not-valid-item: "&4%item% &cneeksistē!"
|
invalid-item: "&4%item% &cneeksistē!"
|
||||||
not-valid-amount: "&4%amount% &cnav pareizs daudzums : tam jābūt lielākam par 0!"
|
invalid-amount: "&4%amount% &cnav pareizs daudzums : tam jābūt lielākam par 0!"
|
||||||
given-item: '&bTev iedeva &a%amount% &7"%item%&7"'
|
given-item: '&bTev iedeva &a%amount% &7"%item%&7"'
|
||||||
give-item: '&bTu iedevi %player% &a%amount% &7"%item%&7"'
|
give-item: '&bTu iedevi %player% &a%amount% &7"%item%&7"'
|
||||||
not-valid-research: "&4%research% &cis nav eksistējošs atklājums!"
|
invalid-research: "&4%research% &cis nav eksistējošs atklājums!"
|
||||||
give-research: '&bTu iedevi %player% atklājumu ar nosaukumu &7"%research%&7"'
|
give-research: '&bTu iedevi %player% atklājumu ar nosaukumu &7"%research%&7"'
|
||||||
hungry: "&cTu esi pārāk izsalcis, lai šo darītu!"
|
hungry: "&cTu esi pārāk izsalcis, lai šo darītu!"
|
||||||
mode-change: "&b%device% režīms nomainīts uz &9%mode%"
|
mode-change: "&b%device% režīms nomainīts uz &9%mode%"
|
||||||
|
@ -83,12 +83,12 @@ messages:
|
|||||||
no-permission: "&4Je hebt geen toestemming om deze actie uit te voeren"
|
no-permission: "&4Je hebt geen toestemming om deze actie uit te voeren"
|
||||||
usage: "&4Gebruik, zoals: &c%usage%"
|
usage: "&4Gebruik, zoals: &c%usage%"
|
||||||
not-online: "&4%player% &cis niet online!"
|
not-online: "&4%player% &cis niet online!"
|
||||||
not-valid-item: "&4%item% &cis geen geldig voorwerp!"
|
invalid-item: "&4%item% &cis geen geldig voorwerp!"
|
||||||
not-valid-amount: "&4%amount% &cis geen geldige hoeveelheid: het moet meer zijn
|
invalid-amount: "&4%amount% &cis geen geldige hoeveelheid: het moet meer zijn
|
||||||
dan 0!"
|
dan 0!"
|
||||||
given-item: '&bJe hebt &a%amount% keer &7"%item%&7" ontvangen'
|
given-item: '&bJe hebt &a%amount% keer &7"%item%&7" ontvangen'
|
||||||
give-item: '&bJe hebt %player% &a%amount% keer &7"%item%&7" gegeven'
|
give-item: '&bJe hebt %player% &a%amount% keer &7"%item%&7" gegeven'
|
||||||
not-valid-research: "&4%research% &cis geen geldig Slimefun onderzoek"
|
invalid-research: "&4%research% &cis geen geldig Slimefun onderzoek"
|
||||||
give-research: '&bJe hebt %player% de kennis over &7"%research%&7" gegeven'
|
give-research: '&bJe hebt %player% de kennis over &7"%research%&7" gegeven'
|
||||||
hungry: "&cJe hebt teveel honger om zoiets te doen!"
|
hungry: "&cJe hebt teveel honger om zoiets te doen!"
|
||||||
disabled-in-world: "&4&lDit voorwerp is uitgeschakeld in deze wereld"
|
disabled-in-world: "&4&lDit voorwerp is uitgeschakeld in deze wereld"
|
||||||
|
@ -81,12 +81,12 @@ messages:
|
|||||||
no-permission: "&4Brak uprawnień"
|
no-permission: "&4Brak uprawnień"
|
||||||
usage: "&4Użycie: &c%usage%"
|
usage: "&4Użycie: &c%usage%"
|
||||||
not-online: "&4%player% &cnie jest online!"
|
not-online: "&4%player% &cnie jest online!"
|
||||||
not-valid-item: "&4%item% &cnie jest poprawnym przedmiotem!"
|
invalid-item: "&4%item% &cnie jest poprawnym przedmiotem!"
|
||||||
not-valid-amount: "&4%amount% &cnie jest prawidłową ilością: ilość musi być większa
|
invalid-amount: "&4%amount% &cnie jest prawidłową ilością: ilość musi być większa
|
||||||
od 0!"
|
od 0!"
|
||||||
given-item: '&bOtrzymano &a%amount% &7"%item%&7"'
|
given-item: '&bOtrzymano &a%amount% &7"%item%&7"'
|
||||||
give-item: '&bDodano przedmiot do plecaka gracza %player%: &a%amount% &7"%item%&7"'
|
give-item: '&bDodano przedmiot do plecaka gracza %player%: &a%amount% &7"%item%&7"'
|
||||||
not-valid-research: "&4%research% &cnie jest poprawnym Badaniem!"
|
invalid-research: "&4%research% &cnie jest poprawnym Badaniem!"
|
||||||
give-research: '&bOdblokowano badanie &7"%research%&7" dla gracza %player%'
|
give-research: '&bOdblokowano badanie &7"%research%&7" dla gracza %player%'
|
||||||
hungry: "&cJesteś zbyt głodny, żeby to zrobić!"
|
hungry: "&cJesteś zbyt głodny, żeby to zrobić!"
|
||||||
mode-change: "&bTryb urządzenia %device% został zmieniony na: &9%mode%"
|
mode-change: "&bTryb urządzenia %device% został zmieniony na: &9%mode%"
|
||||||
|
@ -237,10 +237,10 @@ messages:
|
|||||||
no-tome-yourself: "&cVocê não pode usar o &4Tomo do Conhecimento &cem si mesmo..."
|
no-tome-yourself: "&cVocê não pode usar o &4Tomo do Conhecimento &cem si mesmo..."
|
||||||
not-online: "&4%player% &cnão está online!"
|
not-online: "&4%player% &cnão está online!"
|
||||||
not-researched: "&4Você não tem conhecimento suficiente para entender sobre isso."
|
not-researched: "&4Você não tem conhecimento suficiente para entender sobre isso."
|
||||||
not-valid-amount: "&4%amount% &cnão é uma quantidade válida (precisa ser maior que
|
invalid-amount: "&4%amount% &cnão é uma quantidade válida (precisa ser maior que
|
||||||
0)!"
|
0)!"
|
||||||
not-valid-item: "&4%item% &cnão é um item válido!"
|
invalid-item: "&4%item% &cnão é um item válido!"
|
||||||
not-valid-research: "&4%research% &cnão é uma Pesquisa válida!"
|
invalid-research: "&4%research% &cnão é uma Pesquisa válida!"
|
||||||
only-players: "&4Este comando é apenas para jogadores"
|
only-players: "&4Este comando é apenas para jogadores"
|
||||||
opening-backpack: "&bAbrindo a mochila, isso pode levar alguns segundos..."
|
opening-backpack: "&bAbrindo a mochila, isso pode levar alguns segundos..."
|
||||||
opening-guide: "&bAbrindo o guia, isso pode levar alguns segundos..."
|
opening-guide: "&bAbrindo o guia, isso pode levar alguns segundos..."
|
||||||
|
@ -107,12 +107,12 @@ messages:
|
|||||||
no-permission: "&4У Вас недостаточно прав, чтобы сделать это"
|
no-permission: "&4У Вас недостаточно прав, чтобы сделать это"
|
||||||
usage: "&4Использование: &c%usage%"
|
usage: "&4Использование: &c%usage%"
|
||||||
not-online: "&4%player% &cсейчас не в игре!"
|
not-online: "&4%player% &cсейчас не в игре!"
|
||||||
not-valid-item: "&4%item% &cне является допустимым предметом!"
|
invalid-item: "&4%item% &cне является допустимым предметом!"
|
||||||
not-valid-amount: "&4%amount% &cне является допустимым числом: количество должно
|
invalid-amount: "&4%amount% &cне является допустимым числом: количество должно
|
||||||
быть больше нуля!"
|
быть больше нуля!"
|
||||||
given-item: '&bВам выдали &a%amount% &7"%item%&7"'
|
given-item: '&bВам выдали &a%amount% &7"%item%&7"'
|
||||||
give-item: '&bВы выдали игроку %player% &a%amount% &7"%item%&7"'
|
give-item: '&bВы выдали игроку %player% &a%amount% &7"%item%&7"'
|
||||||
not-valid-research: "&4%research% &cне является допустимым исследованием!"
|
invalid-research: "&4%research% &cне является допустимым исследованием!"
|
||||||
give-research: '&bВы выдали игроку %player% исследование &7"%research%&7"'
|
give-research: '&bВы выдали игроку %player% исследование &7"%research%&7"'
|
||||||
hungry: "&cВы слишком голодны для этого!"
|
hungry: "&cВы слишком голодны для этого!"
|
||||||
disabled-in-world: "&4&lДанный предмет отключен в этом мире"
|
disabled-in-world: "&4&lДанный предмет отключен в этом мире"
|
||||||
|
@ -251,9 +251,9 @@ messages:
|
|||||||
no-tome-yourself: "&cNemôžeš použiť &4Knihu vedomostí &cna seba..."
|
no-tome-yourself: "&cNemôžeš použiť &4Knihu vedomostí &cna seba..."
|
||||||
not-online: "&4%player% &cnie je online!"
|
not-online: "&4%player% &cnie je online!"
|
||||||
not-researched: "&4Nemáš toľko vedomostí aby si tomu porozumel"
|
not-researched: "&4Nemáš toľko vedomostí aby si tomu porozumel"
|
||||||
not-valid-amount: "&4%amount% &cnie je platné množstvo: Musí byť väčšie ako 0!"
|
invalid-amount: "&4%amount% &cnie je platné množstvo: Musí byť väčšie ako 0!"
|
||||||
not-valid-item: "&4%item% &cnie je platný item!"
|
invalid-item: "&4%item% &cnie je platný item!"
|
||||||
not-valid-research: "&4%research% &cnie je platný výskum!"
|
invalid-research: "&4%research% &cnie je platný výskum!"
|
||||||
only-players: "&4Tento príkaz je iba pre hráčov"
|
only-players: "&4Tento príkaz je iba pre hráčov"
|
||||||
opening-backpack: "&bOtváram batoh, môže to trvať pár sekúnd..."
|
opening-backpack: "&bOtváram batoh, môže to trvať pár sekúnd..."
|
||||||
opening-guide: "&bOtváram príručku, môže to trvať pár sekúnd..."
|
opening-guide: "&bOtváram príručku, môže to trvať pár sekúnd..."
|
||||||
|
@ -250,10 +250,10 @@ messages:
|
|||||||
no-tome-yourself: "&cDu kan inte använda &4Tome of Knowledge &cpå dig själv"
|
no-tome-yourself: "&cDu kan inte använda &4Tome of Knowledge &cpå dig själv"
|
||||||
not-online: "&4%player% &cär inte online!"
|
not-online: "&4%player% &cär inte online!"
|
||||||
not-researched: "&4Du har inte tillräckligt mycket kunskap för att förstå detta"
|
not-researched: "&4Du har inte tillräckligt mycket kunskap för att förstå detta"
|
||||||
not-valid-amount: "&4%amount% &cär inget giltigt antal : det måste vara större än
|
invalid-amount: "&4%amount% &cär inget giltigt antal : det måste vara större än
|
||||||
noll!"
|
noll!"
|
||||||
not-valid-item: "&4%item% &cär inget giltigt föremål!"
|
invalid-item: "&4%item% &cär inget giltigt föremål!"
|
||||||
not-valid-research: "&4%research% &cär ingen giltig forskning!"
|
invalid-research: "&4%research% &cär ingen giltig forskning!"
|
||||||
only-players: "&4Detta kommando är endast för spelare"
|
only-players: "&4Detta kommando är endast för spelare"
|
||||||
opening-backpack: "&bÖppnar ryggsäck. Detta kan ta några sekunder..."
|
opening-backpack: "&bÖppnar ryggsäck. Detta kan ta några sekunder..."
|
||||||
opening-guide: "&bÖppnar handboken. Detta kan ta några sekunder..."
|
opening-guide: "&bÖppnar handboken. Detta kan ta några sekunder..."
|
||||||
|
@ -75,8 +75,8 @@ messages:
|
|||||||
unknown-player: "&4ไม่รู้จักผู้เล่น: &c%player%"
|
unknown-player: "&4ไม่รู้จักผู้เล่น: &c%player%"
|
||||||
no-permission: "&4คุณต้องได้รับ permission เพื่อกระทำสิ่งนี้"
|
no-permission: "&4คุณต้องได้รับ permission เพื่อกระทำสิ่งนี้"
|
||||||
not-online: "&4%player% &cไม่ได้ออนไลน์!"
|
not-online: "&4%player% &cไม่ได้ออนไลน์!"
|
||||||
not-valid-item: "&4%item% &cไม่ใช่ไอเทมที่ถูกต้อง!"
|
invalid-item: "&4%item% &cไม่ใช่ไอเทมที่ถูกต้อง!"
|
||||||
not-valid-amount: "&4%amount% &cไม่ใช่จำนวนที่ถูกต้อง : ตัวเลขควรมากกว่า 0!"
|
invalid-amount: "&4%amount% &cไม่ใช่จำนวนที่ถูกต้อง : ตัวเลขควรมากกว่า 0!"
|
||||||
given-item: '&bคุณได้เสก &7"%item%&7" &ax%amount%'
|
given-item: '&bคุณได้เสก &7"%item%&7" &ax%amount%'
|
||||||
give-item: '&bคุณได้เสก &7"%item%&7" &ax%amount% ให้กับ %player%'
|
give-item: '&bคุณได้เสก &7"%item%&7" &ax%amount% ให้กับ %player%'
|
||||||
hungry: "&cคุณหิวเกินไปจะทำเช่นนั้น!"
|
hungry: "&cคุณหิวเกินไปจะทำเช่นนั้น!"
|
||||||
@ -100,7 +100,7 @@ messages:
|
|||||||
not-researched: "&4คุณมีความรู้ไม่เพียงพอที่จะเข้าใจสิ่งนี้"
|
not-researched: "&4คุณมีความรู้ไม่เพียงพอที่จะเข้าใจสิ่งนี้"
|
||||||
not-enough-xp: "&4คุณมี XP ไม่เพียงพอที่จะปลดล็อก"
|
not-enough-xp: "&4คุณมี XP ไม่เพียงพอที่จะปลดล็อก"
|
||||||
usage: "&4วิธีใช้: &c%usage%"
|
usage: "&4วิธีใช้: &c%usage%"
|
||||||
not-valid-research: "&4%research% &cนี้ไม่ใช่คำสำหรับการค้นหา!"
|
invalid-research: "&4%research% &cนี้ไม่ใช่คำสำหรับการค้นหา!"
|
||||||
give-research: '&bคุณได้ให้ %player% เรียนรู้&7"%research%&7"'
|
give-research: '&bคุณได้ให้ %player% เรียนรู้&7"%research%&7"'
|
||||||
mode-change: "&b%device% เปลี่ยนโหมดเป็น: &9%mode%"
|
mode-change: "&b%device% เปลี่ยนโหมดเป็น: &9%mode%"
|
||||||
disabled-item: "&4&lไอเท็มถูกปิดการใช้งาน! คุณเอาไอเท็มมาจากไหน?"
|
disabled-item: "&4&lไอเท็มถูกปิดการใช้งาน! คุณเอาไอเท็มมาจากไหน?"
|
||||||
|
@ -105,12 +105,12 @@ messages:
|
|||||||
no-permission: "&4Wala kang permiso para gawin ito."
|
no-permission: "&4Wala kang permiso para gawin ito."
|
||||||
usage: "&4Paggamit: &c%usage%"
|
usage: "&4Paggamit: &c%usage%"
|
||||||
not-online: "&cHindi online si &4%player%!"
|
not-online: "&cHindi online si &4%player%!"
|
||||||
not-valid-item: "&cHindi valid ang &4%item%!"
|
invalid-item: "&cHindi valid ang &4%item%!"
|
||||||
not-valid-amount: "&cHindi valid ang amount na &4%amount% : dapat ito'y mas mataas
|
invalid-amount: "&cHindi valid ang amount na &4%amount% : dapat ito'y mas mataas
|
||||||
kaysa sa 0!"
|
kaysa sa 0!"
|
||||||
given-item: '&bIka''y binigyan ng &a%amount% &7"%item%&7"'
|
given-item: '&bIka''y binigyan ng &a%amount% &7"%item%&7"'
|
||||||
give-item: '&bBinigyan mo si %player% ng &a%amount% &7"%item%&7"'
|
give-item: '&bBinigyan mo si %player% ng &a%amount% &7"%item%&7"'
|
||||||
not-valid-research: "&4%research% &cay hindi valid na Research!"
|
invalid-research: "&4%research% &cay hindi valid na Research!"
|
||||||
give-research: '&bBinigyan mo si %player% ng Research &7"%research%&7"'
|
give-research: '&bBinigyan mo si %player% ng Research &7"%research%&7"'
|
||||||
hungry: "&cIkaw ay sobrang gutom para gawin ito!"
|
hungry: "&cIkaw ay sobrang gutom para gawin ito!"
|
||||||
disabled-in-world: "&4&lDinisable ang Aytem sa world na ito."
|
disabled-in-world: "&4&lDinisable ang Aytem sa world na ito."
|
||||||
|
@ -108,11 +108,11 @@ messages:
|
|||||||
no-permission: "&4Bunu yapmak için gerekli izniniz yok"
|
no-permission: "&4Bunu yapmak için gerekli izniniz yok"
|
||||||
usage: "&4Kullanış: &c%usage%"
|
usage: "&4Kullanış: &c%usage%"
|
||||||
not-online: "&4%player% &coyunda değil!"
|
not-online: "&4%player% &coyunda değil!"
|
||||||
not-valid-item: "&4%item% &cgeçerli bir eşya değil!"
|
invalid-item: "&4%item% &cgeçerli bir eşya değil!"
|
||||||
not-valid-amount: "&4%amount% &cgeçerli bir miktar değil : 0 dan büyük olmalı!"
|
invalid-amount: "&4%amount% &cgeçerli bir miktar değil : 0 dan büyük olmalı!"
|
||||||
given-item: '&a%amount% &badet &7"%item%&7" &bsana verildi.'
|
given-item: '&a%amount% &badet &7"%item%&7" &bsana verildi.'
|
||||||
give-item: '&b%player% adlı oyuncuya &a%amount% &badet &7"%item%&7" &bverdin.'
|
give-item: '&b%player% adlı oyuncuya &a%amount% &badet &7"%item%&7" &bverdin.'
|
||||||
not-valid-research: "&4%research% &cgeçerli bir araştırma değil!"
|
invalid-research: "&4%research% &cgeçerli bir araştırma değil!"
|
||||||
give-research: '&b%player% adlı oyuncu için bir araştırmayı açtın: &7"%research%&7"'
|
give-research: '&b%player% adlı oyuncu için bir araştırmayı açtın: &7"%research%&7"'
|
||||||
hungry: "&cBunu yapmak için çok açsın!"
|
hungry: "&cBunu yapmak için çok açsın!"
|
||||||
disabled-in-world: "&4&lBu eşya bu dünyada devre dışı bırakıldı."
|
disabled-in-world: "&4&lBu eşya bu dünyada devre dışı bırakıldı."
|
||||||
|
@ -84,12 +84,12 @@ messages:
|
|||||||
no-permission: "&4У Вас недостатньо прав для цього"
|
no-permission: "&4У Вас недостатньо прав для цього"
|
||||||
usage: "&4Використання: &c%usage%"
|
usage: "&4Використання: &c%usage%"
|
||||||
not-online: "&4%player% &cзараз не знаходиться у грі!"
|
not-online: "&4%player% &cзараз не знаходиться у грі!"
|
||||||
not-valid-item: "&4%item% &cне є достовірним предметом!"
|
invalid-item: "&4%item% &cне є достовірним предметом!"
|
||||||
not-valid-amount: "&4%amount% &cне є допустимою кількістю: значення повинно бути
|
invalid-amount: "&4%amount% &cне є допустимою кількістю: значення повинно бути
|
||||||
більшим за 0!"
|
більшим за 0!"
|
||||||
given-item: '&bВам видали &a%amount% &7"%item%&7"'
|
given-item: '&bВам видали &a%amount% &7"%item%&7"'
|
||||||
give-item: '&bВи видали гравцю %player% &a%amount% &7"%item%&7"'
|
give-item: '&bВи видали гравцю %player% &a%amount% &7"%item%&7"'
|
||||||
not-valid-research: "&4%research% &cне є правильним дослідженням!"
|
invalid-research: "&4%research% &cне є правильним дослідженням!"
|
||||||
give-research: '&bВи видали грацю %player% дослідження &7"%research%&7"'
|
give-research: '&bВи видали грацю %player% дослідження &7"%research%&7"'
|
||||||
hungry: "&cВи занадто голодні для цього!"
|
hungry: "&cВи занадто голодні для цього!"
|
||||||
mode-change: "&b%device% | Режим змінено на: &9%mode%"
|
mode-change: "&b%device% | Режим змінено на: &9%mode%"
|
||||||
|
@ -273,9 +273,9 @@ messages:
|
|||||||
no-tome-yourself: "&cBạn không thể sử dụng &4Bộ kiến thức &ccho chính bạn..."
|
no-tome-yourself: "&cBạn không thể sử dụng &4Bộ kiến thức &ccho chính bạn..."
|
||||||
not-online: "&4%player% &cđang không trực tuyến!"
|
not-online: "&4%player% &cđang không trực tuyến!"
|
||||||
not-researched: "&4Bạn không có đủ kiến thức để hiểu điều này"
|
not-researched: "&4Bạn không có đủ kiến thức để hiểu điều này"
|
||||||
not-valid-amount: "&4%amount% &ckhông hợp lệ : phải lớn hơn 0!"
|
invalid-amount: "&4%amount% &ckhông hợp lệ : phải lớn hơn 0!"
|
||||||
not-valid-item: "&4%item% &ckhông phải là vật phẩm hợp lệ!"
|
invalid-item: "&4%item% &ckhông phải là vật phẩm hợp lệ!"
|
||||||
not-valid-research: "&4%research% &ckhông phải là nghiên cứu hợp lệ!"
|
invalid-research: "&4%research% &ckhông phải là nghiên cứu hợp lệ!"
|
||||||
only-players: "&4Lệnh này chỉ dành cho người chơi"
|
only-players: "&4Lệnh này chỉ dành cho người chơi"
|
||||||
opening-backpack: "&bĐang mở ba lô, việc này có thể mất một vài giây..."
|
opening-backpack: "&bĐang mở ba lô, việc này có thể mất một vài giây..."
|
||||||
opening-guide: "&bĐang mở hướng dẫn, việc này có thể mất một vài giây..."
|
opening-guide: "&bĐang mở hướng dẫn, việc này có thể mất một vài giây..."
|
||||||
|
@ -106,11 +106,11 @@ messages:
|
|||||||
no-permission: "&4你没有足够的权限做这个"
|
no-permission: "&4你没有足够的权限做这个"
|
||||||
usage: "&4用法: &c%usage%"
|
usage: "&4用法: &c%usage%"
|
||||||
not-online: "&4%player% &c不在线"
|
not-online: "&4%player% &c不在线"
|
||||||
not-valid-item: "&4%item% &c不是一个有效的物品名!"
|
invalid-item: "&4%item% &c不是一个有效的物品名!"
|
||||||
not-valid-amount: "&4%amount% &ci不是一个有效的数字 : 它必须大于 0!"
|
invalid-amount: "&4%amount% &ci不是一个有效的数字 : 它必须大于 0!"
|
||||||
given-item: '&b你获得了 &a%amount% &7"%item%&7"'
|
given-item: '&b你获得了 &a%amount% &7"%item%&7"'
|
||||||
give-item: '&b成功给予玩家 %player% &a%amount% &7"%item%&7"'
|
give-item: '&b成功给予玩家 %player% &a%amount% &7"%item%&7"'
|
||||||
not-valid-research: "&4%research% &c不是一个有效的研究名!"
|
invalid-research: "&4%research% &c不是一个有效的研究名!"
|
||||||
give-research: '&b你成功解锁了玩家 %player% 的研究 &7"%research%&7"'
|
give-research: '&b你成功解锁了玩家 %player% 的研究 &7"%research%&7"'
|
||||||
hungry: "&c你太饿了, 先吃点东西再试试吧!"
|
hungry: "&c你太饿了, 先吃点东西再试试吧!"
|
||||||
disabled-in-world: "&4&l这个物品在此世界已被禁用"
|
disabled-in-world: "&4&l这个物品在此世界已被禁用"
|
||||||
|
@ -20,6 +20,10 @@ commands:
|
|||||||
player-never-joined: "&4找不到該ID的玩家"
|
player-never-joined: "&4找不到該ID的玩家"
|
||||||
backpack-does-not-exist: "&4該背包不存在!"
|
backpack-does-not-exist: "&4該背包不存在!"
|
||||||
restored-backpack-given: "&a你的背包已被修復並放到你的物品欄中!"
|
restored-backpack-given: "&a你的背包已被修復並放到你的物品欄中!"
|
||||||
|
charge:
|
||||||
|
description: 為你手中的物品充電
|
||||||
|
charge-success: 此物品以充電完成!
|
||||||
|
not-rechargeable: 此物品不可被充電!
|
||||||
guide:
|
guide:
|
||||||
search:
|
search:
|
||||||
message: "&c你要搜尋什麼?"
|
message: "&c你要搜尋什麼?"
|
||||||
@ -39,6 +43,12 @@ guide:
|
|||||||
select: 點擊選擇此語言
|
select: 點擊選擇此語言
|
||||||
select-default: 點擊選擇默認語言
|
select-default: 點擊選擇默認語言
|
||||||
selected-language: 當前選擇:
|
selected-language: 當前選擇:
|
||||||
|
change: 點擊以選取新語言
|
||||||
|
description:
|
||||||
|
- "&7你現在可以選擇 Slimefun"
|
||||||
|
- "&7介面的語言"
|
||||||
|
- "&7不過科技物品礙於技術"
|
||||||
|
- "&7暫時沒有辦法翻譯"
|
||||||
title:
|
title:
|
||||||
main: Slimefun指南
|
main: Slimefun指南
|
||||||
settings: 設置及資訊
|
settings: 設置及資訊
|
||||||
@ -48,6 +58,7 @@ guide:
|
|||||||
addons: Slimefun4的附加插件
|
addons: Slimefun4的附加插件
|
||||||
bugs: 錯誤報告
|
bugs: 錯誤報告
|
||||||
source: 來源代碼
|
source: 來源代碼
|
||||||
|
versions: 安裝版本
|
||||||
credits:
|
credits:
|
||||||
commit: 成員
|
commit: 成員
|
||||||
commits: 成員
|
commits: 成員
|
||||||
@ -57,6 +68,12 @@ guide:
|
|||||||
resourcepack: "&7資源包製作人員"
|
resourcepack: "&7資源包製作人員"
|
||||||
translator: "&9翻譯人員"
|
translator: "&9翻譯人員"
|
||||||
profile-link: 點擊觀看他們在GitHub上的個人資料
|
profile-link: 點擊觀看他們在GitHub上的個人資料
|
||||||
|
open: 點擊查看貢獻者
|
||||||
|
description:
|
||||||
|
- "&7Slimefun 是個開放性的計畫"
|
||||||
|
- "&7由一大群人一起開發和構想"
|
||||||
|
- "&7超過 &e%contributors% &7個人在這些年中"
|
||||||
|
- "&7花時間開發Slimefun"
|
||||||
pages:
|
pages:
|
||||||
previous: 上一頁
|
previous: 上一頁
|
||||||
next: 下一頁
|
next: 下一頁
|
||||||
@ -69,6 +86,7 @@ guide:
|
|||||||
miner: 此挖礦機可獲取的資源
|
miner: 此挖礦機可獲取的資源
|
||||||
generator: 可以使用的燃料
|
generator: 可以使用的燃料
|
||||||
gold-pan: 可以獲取的資源
|
gold-pan: 可以獲取的資源
|
||||||
|
climbing-pick: 你可以攀爬的平面材質
|
||||||
back:
|
back:
|
||||||
title: 上一頁
|
title: 上一頁
|
||||||
guide: 回到Slimefun指南
|
guide: 回到Slimefun指南
|
||||||
@ -78,6 +96,7 @@ guide:
|
|||||||
- 要解鎖此分類
|
- 要解鎖此分類
|
||||||
- 必須先解鎖下列分類
|
- 必須先解鎖下列分類
|
||||||
- 的所有物品
|
- 的所有物品
|
||||||
|
work-in-progress: 此功能尚未開發完成!
|
||||||
messages:
|
messages:
|
||||||
not-researched: "&4你太笨了"
|
not-researched: "&4你太笨了"
|
||||||
not-enough-xp: "&4你沒有足夠的經驗值用以解鎖這個"
|
not-enough-xp: "&4你沒有足夠的經驗值用以解鎖這個"
|
||||||
@ -87,14 +106,10 @@ messages:
|
|||||||
no-permission: "&4您沒有執行此動作所需的權限"
|
no-permission: "&4您沒有執行此動作所需的權限"
|
||||||
usage: "&4用法: &c%usage%"
|
usage: "&4用法: &c%usage%"
|
||||||
not-online: "&4%player% &c還未上線!"
|
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"'
|
given-item: '&b你已獲得 &a%amount% &7"%item%&7"'
|
||||||
give-item: '&b你已給予%player% &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"'
|
give-research: '&b你已給予%player% 研究項目&7"%research%&7"'
|
||||||
hungry: "&c你太餓了,做不了這個!"
|
hungry: "&c你太餓了,做不了這個!"
|
||||||
mode-change: "&b%device% 模式切換至: &9%mode%"
|
|
||||||
disabled-in-world: "&4&l此物品在此世界中已被禁用"
|
disabled-in-world: "&4&l此物品在此世界中已被禁用"
|
||||||
disabled-item: "&4&l此物品已被禁用!你到底是怎樣得到的?"
|
disabled-item: "&4&l此物品已被禁用!你到底是怎樣得到的?"
|
||||||
no-tome-yourself: "&c你不能在自己身上使用 &4知識之書&c..."
|
no-tome-yourself: "&c你不能在自己身上使用 &4知識之書&c..."
|
||||||
@ -113,6 +128,7 @@ messages:
|
|||||||
knight: "&a&o你的護身符給了你5秒的回復時間"
|
knight: "&a&o你的護身符給了你5秒的回復時間"
|
||||||
whirlwind: "&a&o你的護身符反射了投射物"
|
whirlwind: "&a&o你的護身符反射了投射物"
|
||||||
wizard: "&a&o你的護身符為你升高了幸運等級,但也降低了其他附魔等級"
|
wizard: "&a&o你的護身符為你升高了幸運等級,但也降低了其他附魔等級"
|
||||||
|
caveman: "&a&o你的護身符給了你挖掘加速效果"
|
||||||
soulbound-rune:
|
soulbound-rune:
|
||||||
fail: "&c你一次只能魂綁一個物品。"
|
fail: "&c你一次只能魂綁一個物品。"
|
||||||
success: "&a您已成功將此物品綁定魂綁!死後不會噴掉。"
|
success: "&a您已成功將此物品綁定魂綁!死後不會噴掉。"
|
||||||
@ -143,6 +159,26 @@ messages:
|
|||||||
- "&7永遠保持樂觀積極!"
|
- "&7永遠保持樂觀積極!"
|
||||||
- "&7這不是普通的餅乾"
|
- "&7這不是普通的餅乾"
|
||||||
- "&7霓虹燈好帥!"
|
- "&7霓虹燈好帥!"
|
||||||
|
piglin-barter: "&4你不能用 Slimefun 物品和豬布林交易"
|
||||||
|
enchantment-rune:
|
||||||
|
fail: "&c你無法附魔該物品"
|
||||||
|
no-enchantment: "&c找不到可以附在該物品上的附魔"
|
||||||
|
success: "&a你已成功地在該物品上附上了一個隨機的附魔"
|
||||||
|
tape-measure:
|
||||||
|
no-anchor: "&c你需要設錨點才能開始測量!"
|
||||||
|
wrong-world: "&c你的錨點在另外一個世界"
|
||||||
|
distance: "&7測量成功 &e距離: %distance%"
|
||||||
|
anchor-set: "&a成功設置錨點:&e %anchor%"
|
||||||
|
multi-tool:
|
||||||
|
mode-change: "&b%device% 模式切換成: &9%mode%"
|
||||||
|
not-shears: "&c不要把它當剪刀用!"
|
||||||
|
climbing-pick:
|
||||||
|
dual-wielding: "&4你需要雙手都握著攀爬鎬才能攀爬"
|
||||||
|
wrong-material: "&c你無法攀爬這種平面 使用你的科技書以獲取更多資訊"
|
||||||
|
invalid-item: "&4%item% &c不存在!"
|
||||||
|
invalid-amount: "&4%amount% &c不是有效數量:數值必須大於0!"
|
||||||
|
invalid-research: "&4%research% &c不存在!"
|
||||||
|
mode-change: "&b%device% 模式切換至: &9%mode%"
|
||||||
machines:
|
machines:
|
||||||
pattern-not-found: "&e查無此合成表 請確認使用的機器或合成表的材料"
|
pattern-not-found: "&e查無此合成表 請確認使用的機器或合成表的材料"
|
||||||
unknown-material: "&e這個機器不能處理這個物品 請確認使用的機器或合成表的材料"
|
unknown-material: "&e這個機器不能處理這個物品 請確認使用的機器或合成表的材料"
|
||||||
@ -192,6 +228,7 @@ machines:
|
|||||||
finished: "&e你的工業挖礦機已挖掘完畢 共挖到 %ores% 個!"
|
finished: "&e你的工業挖礦機已挖掘完畢 共挖到 %ores% 個!"
|
||||||
anvil:
|
anvil:
|
||||||
not-working: "&4科技物品需要用自動鐵砧+修理膠帶!"
|
not-working: "&4科技物品需要用自動鐵砧+修理膠帶!"
|
||||||
|
mcmmo-salvaging: "&4你不能回收利用 Slimefun 物品!"
|
||||||
backpack:
|
backpack:
|
||||||
already-open: "&c別人正在使用這個背包!"
|
already-open: "&c別人正在使用這個背包!"
|
||||||
no-stack: "&c背包不能疊!"
|
no-stack: "&c背包不能疊!"
|
||||||
@ -203,6 +240,7 @@ gps:
|
|||||||
new: "&e輸入傳送點名稱 &7(Color Codes supported!)"
|
new: "&e輸入傳送點名稱 &7(Color Codes supported!)"
|
||||||
added: "&a成功新增傳送點"
|
added: "&a成功新增傳送點"
|
||||||
max: "&4傳送點已達上限"
|
max: "&4傳送點已達上限"
|
||||||
|
duplicate: "&4已經有叫做 &f%waypoint% &4的傳送點了"
|
||||||
insufficient-complexity:
|
insufficient-complexity:
|
||||||
- "&4GPS信號不足 &c%complexity%"
|
- "&4GPS信號不足 &c%complexity%"
|
||||||
- "&4a) GPS基礎設施未放置"
|
- "&4a) GPS基礎設施未放置"
|
||||||
@ -274,6 +312,7 @@ languages:
|
|||||||
zh-CN: 中文(簡體)
|
zh-CN: 中文(簡體)
|
||||||
el: 希臘語
|
el: 希臘語
|
||||||
he: 希伯來語
|
he: 希伯來語
|
||||||
|
pt: 葡萄牙文(葡萄牙)
|
||||||
ar: 阿拉伯文
|
ar: 阿拉伯文
|
||||||
af: 南非語
|
af: 南非語
|
||||||
da: 丹麥文
|
da: 丹麥文
|
||||||
@ -285,7 +324,6 @@ languages:
|
|||||||
fa: 波斯語
|
fa: 波斯語
|
||||||
th: 泰語
|
th: 泰語
|
||||||
ro: 羅馬尼亞語
|
ro: 羅馬尼亞語
|
||||||
pt: 葡萄牙文(葡萄牙)
|
|
||||||
pt-BR: 葡萄牙文(巴西)
|
pt-BR: 葡萄牙文(巴西)
|
||||||
bg: 保加利亞語
|
bg: 保加利亞語
|
||||||
ko: 韓語
|
ko: 韓語
|
||||||
@ -295,5 +333,13 @@ languages:
|
|||||||
sr: 塞爾維亞語
|
sr: 塞爾維亞語
|
||||||
be: 白俄羅斯語
|
be: 白俄羅斯語
|
||||||
tl: 他加祿語
|
tl: 他加祿語
|
||||||
|
brewing_stand:
|
||||||
|
not-working: "&4你不能用 Slimefun 物品釀造!"
|
||||||
|
villagers:
|
||||||
|
no-trading: "&4你不能用 Slimefun 物品交易!"
|
||||||
|
cartography_table:
|
||||||
|
not-working: "&4你不能在製圖桌上使用 Slimefun 物品!"
|
||||||
|
cauldron:
|
||||||
|
no-discoloring: "&4你不能把 Slimefun 物品的顏色消除!"
|
||||||
miner:
|
miner:
|
||||||
no-ores: "&e附近沒礦了!"
|
no-ores: "&e附近沒礦了!"
|
||||||
|
@ -6,109 +6,109 @@ slimefun:
|
|||||||
- 표시된 구조를 설치
|
- 표시된 구조를 설치
|
||||||
- 보여진 바와 같이. 제작되지 않습니다.
|
- 보여진 바와 같이. 제작되지 않습니다.
|
||||||
enhanced_crafting_table:
|
enhanced_crafting_table:
|
||||||
|
name: '향상된 조합대 (Enhanced Crafting Table)'
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로 이 아이템을 제작하십시오
|
- 표시된대로 이 아이템을 제작하십시오
|
||||||
- 향상된 조합대(Enhanced Crafting Table) 내에서
|
- 향상된 조합대(Enhanced Crafting Table) 내에서
|
||||||
- 일반 조합대로는 충분하지 않습니다!
|
- 일반 조합대로는 충분하지 않습니다!
|
||||||
name: '향상된 조합대 (Enhanced Crafting Table) '
|
|
||||||
armor_forge:
|
armor_forge:
|
||||||
|
name: 갑옷 대장간 (Armor Forge)
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로 이 아이템을 제작하십시오
|
- 표시된대로 이 아이템을 제작하십시오
|
||||||
- 갑옷 대장간 (Armor Forge) 사용
|
- 갑옷 대장간 (Armor Forge) 사용
|
||||||
name: 갑옷 대장간 (Armor Forge
|
|
||||||
grind_stone:
|
grind_stone:
|
||||||
|
name: 맷돌 (Grind Stone)
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로이 아이템을 제작하십시오
|
- 표시된대로이 아이템을 제작하십시오
|
||||||
- 맷돌(Grind Stone) 사용
|
- 맷돌(Grind Stone) 사용
|
||||||
name: 맷돌 (Grind Stone)
|
|
||||||
smeltery:
|
smeltery:
|
||||||
|
name: 제련소 (Smeltery)
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로 이 아이템을 제작하십시오
|
- 표시된대로 이 아이템을 제작하십시오
|
||||||
- 제련소 (Smeltery) 사용
|
- 제련소 (Smeltery) 사용
|
||||||
name: 제련소 (Smeltery)
|
|
||||||
ore_crusher:
|
ore_crusher:
|
||||||
|
name: 광석 분쇄기 (Ore Crusher)
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로이 아이템을 제작하십시오
|
- 표시된대로이 아이템을 제작하십시오
|
||||||
- 광석 분쇄기 (Ore Crusher) 사용
|
- 광석 분쇄기 (Ore Crusher) 사용
|
||||||
name: 광석 분쇄기 (Ore Crusher)
|
|
||||||
mob_drop:
|
mob_drop:
|
||||||
name: 몹 드롭
|
name: 몹 드롭
|
||||||
lore:
|
lore:
|
||||||
- 몹을 처치하여
|
- 몹을 처치하여
|
||||||
- 이 아이템을 얻다
|
- 이 아이템을 얻다
|
||||||
gold_pan:
|
gold_pan:
|
||||||
|
name: 골드 판 (Gold Pan)
|
||||||
lore:
|
lore:
|
||||||
- 골드 판 (Gold Pan) 사용
|
- 골드 판 (Gold Pan) 사용
|
||||||
- 이 아이템을 얻다
|
- 이 아이템을 얻다
|
||||||
name: 골드 판 (Gold Pan)
|
|
||||||
compressor:
|
compressor:
|
||||||
|
name: 압축기 (Compressor)
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로 이 아이템을 제작하십시오
|
- 표시된대로 이 아이템을 제작하십시오
|
||||||
- 압축기(Compressor) 를 사용하여
|
- 압축기(Compressor) 를 사용하여
|
||||||
name: 압축기 (Compressor)
|
|
||||||
pressure_chamber:
|
pressure_chamber:
|
||||||
name: 압력 챔버
|
name: 압력 챔버
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로이 아이템을 제작하십시오
|
- 표시된대로이 아이템을 제작하십시오
|
||||||
- 압력 챔버를 사용하여
|
- 압력 챔버를 사용하여
|
||||||
ore_washer:
|
ore_washer:
|
||||||
|
name: 광물 세척기 (Ore Washer)
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로 이 아이템을 제작하십시오
|
- 표시된대로 이 아이템을 제작하십시오
|
||||||
- 광물 세척기를 사용하여
|
- 광물 세척기를 사용하여
|
||||||
name: 광물 세척기 (Ore Washer)
|
|
||||||
juicer:
|
juicer:
|
||||||
|
name: 주스기 (Juicer)
|
||||||
lore:
|
lore:
|
||||||
- 그림과 같이 주스를 만드십시오
|
- 그림과 같이 주스를 만드십시오
|
||||||
- 주스기 (Juicer) 를 사용하여
|
- 주스기 (Juicer) 를 사용하여
|
||||||
name: 주스기 (Juicer)
|
|
||||||
magic_workbench:
|
magic_workbench:
|
||||||
|
name: 마법 조합대 (Magic Workbench)
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로 이 아이템을 제작하십시오
|
- 표시된대로 이 아이템을 제작하십시오
|
||||||
- 마법 조합대 (Magic Workbench) 를 사용하여
|
- 마법 조합대 (Magic Workbench) 를 사용하여
|
||||||
name: 마법 조합대 (Magic Workbench)
|
|
||||||
ancient_altar:
|
ancient_altar:
|
||||||
|
name: 고대 제단 (Ancient Altar)
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로 이 아이템을 제작하십시오
|
- 표시된대로 이 아이템을 제작하십시오
|
||||||
- 고대 제단 (Ancient Altar) 을 사용하여
|
- 고대 제단 (Ancient Altar) 을 사용하여
|
||||||
- 자세한 정보는 고대 제단 (Ancient Altar) 을 찾아보십시오
|
- 자세한 정보는 고대 제단 (Ancient Altar) 을 찾아보십시오
|
||||||
name: 고대 제단 (Ancient Altar)
|
|
||||||
heated_pressure_chamber:
|
heated_pressure_chamber:
|
||||||
|
name: 가열 압력 챔버 (Heated Pressure Chamber)
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로 이 아이템을 제작하십시오
|
- 표시된대로 이 아이템을 제작하십시오
|
||||||
- 가열 압력 챔버 (Heated Pressure Chamber) 를 사용하여
|
- 가열 압력 챔버 (Heated Pressure Chamber) 를 사용하여
|
||||||
name: 가열 압력 챔버 (Heated Pressure Chamber)
|
|
||||||
food_fabricator:
|
food_fabricator:
|
||||||
|
name: 식품 제작기 (Food Fabricator)
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로 이 아이템을 제작하십시오
|
- 표시된대로 이 아이템을 제작하십시오
|
||||||
- 식품 제작기 (Food Fabricator) 를 사용하여
|
- 식품 제작기 (Food Fabricator) 를 사용하여
|
||||||
name: 식품 제작기 (Food Fabricator)
|
|
||||||
food_composter:
|
food_composter:
|
||||||
|
name: 식품 퇴비통 (Food Composter)
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로 이 아이템을 제작하십시오
|
- 표시된대로 이 아이템을 제작하십시오
|
||||||
- 식품 퇴비통 (Food Composter) 을 사용하여
|
- 식품 퇴비통 (Food Composter) 을 사용하여
|
||||||
name: 식품 퇴비통 (Food Composter)
|
|
||||||
freezer:
|
freezer:
|
||||||
|
name: 냉동고 (Freezer)
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로 이 아이템을 제작하십시오
|
- 표시된대로 이 아이템을 제작하십시오
|
||||||
- 냉동고 (Freezer) 를 사용하여
|
- 냉동고 (Freezer) 를 사용하여
|
||||||
name: 냉동고 (Freezer)
|
|
||||||
geo_miner:
|
geo_miner:
|
||||||
|
name: GEO 마이너 (GEO Miner)
|
||||||
lore:
|
lore:
|
||||||
- 채굴 할 수있는 아이템
|
- 채굴 할 수있는 아이템
|
||||||
- GEO 마이너 (Geo Miner) 를 사용하여
|
- GEO 마이너 (Geo Miner) 를 사용하여
|
||||||
name: GEO 마이너 (GEO Miner)
|
|
||||||
nuclear_reactor:
|
nuclear_reactor:
|
||||||
|
name: 원자로 (Nuclear Reactor)
|
||||||
lore:
|
lore:
|
||||||
- 이 아이템은 부산물입니다
|
- 이 아이템은 부산물입니다
|
||||||
- 원자로 (Nuclear Reactor) 운영
|
- 원자로 (Nuclear Reactor) 운영
|
||||||
name: 원자로 (Nuclear Reactor)
|
|
||||||
oil_pump:
|
oil_pump:
|
||||||
name: 오일 펌프 (Oil Pump)
|
name: 오일 펌프 (Oil Pump)
|
||||||
lore:
|
lore:
|
||||||
- 이 아이템은 수집 가능합니다.
|
- 이 아이템은 수집 가능합니다.
|
||||||
- 오일 펌프 (Oil Pump) 를 사용하여
|
- 오일 펌프 (Oil Pump) 를 사용하여
|
||||||
pickaxe_of_containment:
|
pickaxe_of_containment:
|
||||||
name: 억제의 곡괭이
|
name: 억제의 곡괭이 (Pickaxe of Containment)
|
||||||
lore:
|
lore:
|
||||||
- 이 블록을 얻을 수 있습니다
|
- 이 블록을 얻을 수 있습니다
|
||||||
- 를 통해 스포너를 채굴하여
|
- 를 통해 스포너를 채굴하여
|
||||||
@ -118,19 +118,24 @@ slimefun:
|
|||||||
lore:
|
lore:
|
||||||
- 표시된대로이 아이템을 제작하십시오
|
- 표시된대로이 아이템을 제작하십시오
|
||||||
- 정유 공장 (Refinery) 을 사용하여
|
- 정유 공장 (Refinery) 을 사용하여
|
||||||
|
barter_drop:
|
||||||
|
name: 피글린 물물 교환 드롭
|
||||||
|
lore:
|
||||||
|
- 다음을 사용하여 피글린과 물물 교환
|
||||||
|
- 이 아이템을 얻기위한 금괴
|
||||||
minecraft:
|
minecraft:
|
||||||
shaped:
|
shaped:
|
||||||
|
name: 유형 조합 조합법
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로 이 아이템을 제작하십시오
|
- 표시된대로 이 아이템을 제작하십시오
|
||||||
- 일반 조합대에서
|
- 일반 조합대에서
|
||||||
- 모양이 중요합니다.
|
- 모양이 중요합니다.
|
||||||
name: 유형 조합 조합법
|
|
||||||
shapeless:
|
shapeless:
|
||||||
|
name: 무형 조합 조합법
|
||||||
lore:
|
lore:
|
||||||
- 표시된대로 이 아이템을 제작하십시오
|
- 표시된대로 이 아이템을 제작하십시오
|
||||||
- 일반 조합대에서
|
- 일반 조합대에서
|
||||||
- 이 조합법은 형태가 없습니다.
|
- 이 조합법은 형태가 없습니다.
|
||||||
name: 무형 조합 조합법
|
|
||||||
furnace:
|
furnace:
|
||||||
name: 화로 조합법
|
name: 화로 조합법
|
||||||
lore:
|
lore:
|
||||||
@ -156,3 +161,8 @@ minecraft:
|
|||||||
lore:
|
lore:
|
||||||
- 표시된대로이 아이템을 제작하십시오
|
- 표시된대로이 아이템을 제작하십시오
|
||||||
- 석제 절단기를 사용하여
|
- 석제 절단기를 사용하여
|
||||||
|
smithing:
|
||||||
|
name: 스미팅 테이블 레시피
|
||||||
|
lore:
|
||||||
|
- 표시된대로 이 아이템을 제작하십시오
|
||||||
|
- 스미팅 테이블 사용
|
||||||
|
@ -122,6 +122,11 @@ slimefun:
|
|||||||
lore:
|
lore:
|
||||||
- 使用煉油廠
|
- 使用煉油廠
|
||||||
- 提煉該物品
|
- 提煉該物品
|
||||||
|
barter_drop:
|
||||||
|
name: 豬布林交易
|
||||||
|
lore:
|
||||||
|
- 用黃金和豬布林
|
||||||
|
- 交易以獲取此物品
|
||||||
minecraft:
|
minecraft:
|
||||||
shaped:
|
shaped:
|
||||||
name: 有序合成
|
name: 有序合成
|
||||||
|
@ -46,7 +46,7 @@ slimefun:
|
|||||||
damascus_steel_armor: 大馬士革鋼套裝
|
damascus_steel_armor: 大馬士革鋼套裝
|
||||||
reinforced_alloy: 強化合金錠
|
reinforced_alloy: 強化合金錠
|
||||||
carbonado: 黑鑽石
|
carbonado: 黑鑽石
|
||||||
magic_workbench: 魔術合成檯
|
magic_workbench: 魔法合成檯
|
||||||
wind_staff: 元素杖—風
|
wind_staff: 元素杖—風
|
||||||
reinforced_armor: 強化合金錠套裝
|
reinforced_armor: 強化合金錠套裝
|
||||||
ore_washer: 礦物洗滌機
|
ore_washer: 礦物洗滌機
|
||||||
@ -150,7 +150,7 @@ slimefun:
|
|||||||
electric_ore_grinding: 電動研磨
|
electric_ore_grinding: 電動研磨
|
||||||
heated_pressure_chamber: 高溫加壓室
|
heated_pressure_chamber: 高溫加壓室
|
||||||
coal_generator: 乾淨的煤
|
coal_generator: 乾淨的煤
|
||||||
bio_reactor: 生化反應爐
|
bio_reactor: 生質能反應爐
|
||||||
auto_enchanting: 附魔&退魔檯
|
auto_enchanting: 附魔&退魔檯
|
||||||
auto_anvil: 電動鐵砧
|
auto_anvil: 電動鐵砧
|
||||||
multimeter: 電力測量
|
multimeter: 電力測量
|
||||||
@ -172,7 +172,7 @@ slimefun:
|
|||||||
organic_food: 有機食品
|
organic_food: 有機食品
|
||||||
auto_breeder: 幫你餵動物
|
auto_breeder: 幫你餵動物
|
||||||
advanced_android: 進階機器人
|
advanced_android: 進階機器人
|
||||||
advanced_butcher_android: 進階機器人–屠夫
|
advanced_butcher_android: 進階機器人—屠夫
|
||||||
advanced_fisherman_android: 進階機器人—漁夫
|
advanced_fisherman_android: 進階機器人—漁夫
|
||||||
animal_growth_accelerator: 動物轉大人
|
animal_growth_accelerator: 動物轉大人
|
||||||
xp_collector: 經驗收集器
|
xp_collector: 經驗收集器
|
||||||
@ -199,7 +199,7 @@ slimefun:
|
|||||||
better_electric_furnace: 升級版電磁爐
|
better_electric_furnace: 升級版電磁爐
|
||||||
better_carbon_press: 升級版碳壓縮機
|
better_carbon_press: 升級版碳壓縮機
|
||||||
empowered_android: 頂級機器人
|
empowered_android: 頂級機器人
|
||||||
empowered_butcher_android: 頂級機器人-屠夫
|
empowered_butcher_android: 頂級機器人—屠夫
|
||||||
empowered_fisherman_android: 頂級機器人—漁夫
|
empowered_fisherman_android: 頂級機器人—漁夫
|
||||||
high_tier_carbon_press: 終極碳壓縮機
|
high_tier_carbon_press: 終極碳壓縮機
|
||||||
wither_assembler: 凋零農場
|
wither_assembler: 凋零農場
|
||||||
@ -233,10 +233,17 @@ slimefun:
|
|||||||
makeshift_smeltery: 自動冶煉
|
makeshift_smeltery: 自動冶煉
|
||||||
tree_growth_accelerator: 自動金坷垃
|
tree_growth_accelerator: 自動金坷垃
|
||||||
industrial_miner: 工業化採礦
|
industrial_miner: 工業化採礦
|
||||||
advanced_industrial_miner: 工業化採礦 - 改
|
advanced_industrial_miner: 工業化採礦—改
|
||||||
magical_zombie_pills: 救贖藥丸
|
magical_zombie_pills: 救贖藥丸
|
||||||
auto_brewer: 工業化釀造
|
auto_brewer: 工業化釀造
|
||||||
enchantment_rune: 古代附魔
|
enchantment_rune: 古代附魔
|
||||||
lead_clothing: 防輻射衣
|
lead_clothing: 防輻射衣
|
||||||
tape_measure: 捲尺
|
tape_measure: 捲尺
|
||||||
iron_golem_assembler: 鐵巨人召喚機
|
iron_golem_assembler: 鐵巨人召喚機
|
||||||
|
climbing_pick: 飛簷走壁
|
||||||
|
shulker_shell: 工業界伏殼
|
||||||
|
villager_rune: 讓村民失業
|
||||||
|
caveman_talisman: 穴居人護符
|
||||||
|
even_higher_tier_capacitors: 第三級電容器
|
||||||
|
elytra_cap: 體驗動能
|
||||||
|
energy_connectors: 電線
|
||||||
|
@ -14,11 +14,11 @@ resources:
|
|||||||
slimefunorechunks:
|
slimefunorechunks:
|
||||||
iron_ore_chunk: 鐵石塊
|
iron_ore_chunk: 鐵石塊
|
||||||
gold_ore_chunk: 金石塊
|
gold_ore_chunk: 金石塊
|
||||||
copper_ore_chunk: 銅礦塊
|
copper_ore_chunk: 銅石塊
|
||||||
tin_ore_chunk: 錫礦塊
|
tin_ore_chunk: 錫石塊
|
||||||
silver_ore_chunk: 銀石塊
|
silver_ore_chunk: 銀石塊
|
||||||
aluminum_ore_chunk: 鋁石塊
|
aluminum_ore_chunk: 鋁石塊
|
||||||
lead_ore_chunk: 鉛石塊
|
lead_ore_chunk: 鉛石塊
|
||||||
zinc_ore_chunk: 鋅礦塊
|
zinc_ore_chunk: 鋅石塊
|
||||||
nickel_ore_chunk: 鎳礦塊
|
nickel_ore_chunk: 鎳石塊
|
||||||
cobalt_ore_chunk: 鈷石塊
|
cobalt_ore_chunk: 鈷石塊
|
||||||
|
@ -5,6 +5,10 @@
|
|||||||
"required" : false
|
"required" : false
|
||||||
},
|
},
|
||||||
"minecraft:gold_ore",
|
"minecraft:gold_ore",
|
||||||
"minecraft:iron_ore"
|
"minecraft:iron_ore",
|
||||||
|
{
|
||||||
|
"id" : "minecraft:ancient_debris",
|
||||||
|
"required" : false
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user