1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00

Merge remote-tracking branch 'upstream/master' into chore/drop-low-version

# Conflicts:
#	src/main/java/io/github/thebusybiscuit/slimefun4/implementation/setup/SlimefunItemSetup.java
This commit is contained in:
ybw0014 2022-09-29 12:13:42 -04:00
commit 030b7ff5c4
No known key found for this signature in database
GPG Key ID: 04C1F3339F03F9EE
30 changed files with 316 additions and 118 deletions

View File

@ -20,7 +20,7 @@ jobs:
steps:
- name: Approve via actions
uses: hmarr/auto-approve-action@v2.2.1
uses: hmarr/auto-approve-action@v2.4.0
if: github.actor == 'TheBusyBot' || github.actor == 'renovate[bot]'
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@ -24,7 +24,7 @@ jobs:
uses: actions/checkout@v3.0.2
- name: Set up Java JDK 17
uses: actions/setup-java@v3.4.1
uses: actions/setup-java@v3.5.1
with:
distribution: 'adopt'
java-version: '17'

View File

@ -27,7 +27,7 @@ jobs:
uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3.4.1
uses: actions/setup-java@v3.5.1
with:
distribution: 'adopt'
java-version: '17'

View File

@ -24,7 +24,7 @@ jobs:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@v3.4.1
uses: actions/setup-java@v3.5.1
with:
distribution: 'adopt'
java-version: '17'

View File

@ -44,6 +44,8 @@
* (API) Added a method for item groups to allow addons to choose if they want to allow items from other addons
* Added a new option to Eletric Gold Pans: "override-output-limit"
* Added "Mud -> Clay" recipe to the Auto Drier
* Added a third tier for Freezers
* Added Glow Berry Juice
#### Changes
* Tree Growth Accelerators can now actually cause the Tree to fully grow (1.17+ only)
@ -51,12 +53,15 @@
* "Connected / Not connected" messages for cargo nodes are now sent via the actionbar
* "/sf stats" can no longer be used if researching is disabled
* "/sf research" can no longer be used if researching is disabled
* Removed the Hercules Pickaxe from Slimefun
#### Fixes
* Fixed #3597
* Fixed an issue related to "Bee Wings"
* Fixed #3573
* Fixed "round-robin" mode for cargo networks being very unreliable
* Fixed #3664
* Fixed #3651
## Release Candidate 32 (26 Jun 2022)
https://thebusybiscuit.github.io/builds/TheBusyBiscuit/Slimefun4/stable/#32

20
pom.xml
View File

@ -191,7 +191,7 @@
<!-- Dependency shading -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.3.0</version>
<version>3.4.0</version>
<configuration>
<!-- Relocate these to avoid clashes and conflicts -->
@ -239,7 +239,7 @@
<!-- Javadocs -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.4.0</version>
<version>3.4.1</version>
<configuration>
<reportOutputDirectory>${project.basedir}</reportOutputDirectory>
@ -366,7 +366,7 @@
<dependency>
<groupId>com.konghq</groupId>
<artifactId>unirest-java</artifactId>
<version>3.13.10</version>
<version>3.13.11</version>
<scope>compile</scope>
<exclusions>
@ -382,13 +382,13 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.9.0</version>
<version>5.9.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>4.6.1</version>
<version>4.8.0</version>
<scope>test</scope>
</dependency>
<dependency>
@ -411,7 +411,7 @@
<dependency>
<groupId>com.sk89q.worldedit</groupId>
<artifactId>worldedit-core</artifactId>
<version>7.2.11</version>
<version>7.2.12</version>
<scope>provided</scope>
<exclusions>
@ -425,7 +425,7 @@
<dependency>
<groupId>com.sk89q.worldedit</groupId>
<artifactId>worldedit-bukkit</artifactId>
<version>7.2.11</version>
<version>7.2.12</version>
<scope>provided</scope>
<exclusions>
@ -439,7 +439,7 @@
<dependency>
<groupId>com.gmail.nossr50.mcMMO</groupId>
<artifactId>mcMMO</artifactId>
<version>2.1.216</version>
<version>2.1.217</version>
<scope>provided</scope>
<exclusions>
@ -481,7 +481,7 @@
<dependency>
<groupId>com.github.LoneDev6</groupId>
<artifactId>itemsadder-api</artifactId>
<version>3.2.3c</version>
<version>3.2.3-r8</version>
<scope>provided</scope>
<exclusions>
@ -495,7 +495,7 @@
<dependency>
<groupId>net.imprex</groupId>
<artifactId>orebfuscator-api</artifactId>
<version>5.2.6</version>
<version>5.3.0</version>
<scope>provided</scope>
<exclusions>

View File

@ -1,10 +1,13 @@
package io.github.thebusybiscuit.slimefun4.api.player;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import javax.annotation.Nonnull;
import org.bukkit.Bukkit;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
@ -132,6 +135,20 @@ public class PlayerBackpack {
});
}
/**
* This will close the {@link Inventory} of this backpack for every {@link Player}
* that has opened it.
*/
public void closeForAll() {
Slimefun.runSync(() -> {
Iterator<HumanEntity> iterator = new ArrayList<>(inventory.getViewers()).iterator();
while (iterator.hasNext()) {
iterator.next().closeInventory();
}
});
}
/**
* This will change the current size of this Backpack to the specified size.
*

View File

@ -55,6 +55,7 @@ public class RecipeType implements Keyed {
public static final RecipeType MOB_DROP = new RecipeType(new NamespacedKey(Slimefun.instance(), "mob_drop"), new CustomItemStack(Material.IRON_SWORD, "&bMob Drop"), RecipeType::registerMobDrop, "", "&rKill the specified Mob to obtain this Item");
public static final RecipeType BARTER_DROP = new RecipeType(new NamespacedKey(Slimefun.instance(), "barter_drop"), new CustomItemStack(Material.GOLD_INGOT, "&bBarter Drop"), RecipeType::registerBarterDrop, "&aBarter with piglins for a chance", "&ato obtain this item");
public static final RecipeType INTERACT = new RecipeType(new NamespacedKey(Slimefun.instance(), "interact"), new CustomItemStack(Material.PLAYER_HEAD, "&bInteract", "", "&a&oRight click with this item"));
public static final RecipeType HEATED_PRESSURE_CHAMBER = new RecipeType(new NamespacedKey(Slimefun.instance(), "heated_pressure_chamber"), SlimefunItems.HEATED_PRESSURE_CHAMBER);
public static final RecipeType FOOD_FABRICATOR = new RecipeType(new NamespacedKey(Slimefun.instance(), "food_fabricator"), SlimefunItems.FOOD_FABRICATOR);

View File

@ -149,7 +149,6 @@ public class MultiBlock {
public boolean isSymmetric() {
return isSymmetric;
}
@Override
public String toString() {
return "MultiBlock (" + item.getId() + ") {" + Arrays.toString(blocks) + "}";

View File

@ -148,6 +148,7 @@ public final class SlimefunItems {
public static final SlimefunItemStack CARROT_JUICE = new SlimefunItemStack("CARROT_JUICE", Color.ORANGE, new PotionEffect(PotionEffectType.SATURATION, 5, 0), "&6Carrot Juice", "", LoreBuilder.hunger(3));
public static final SlimefunItemStack PUMPKIN_JUICE = new SlimefunItemStack("PUMPKIN_JUICE", Color.ORANGE, new PotionEffect(PotionEffectType.SATURATION, 5, 0), "&6Pumpkin Juice", "", LoreBuilder.hunger(3));
public static final SlimefunItemStack SWEET_BERRY_JUICE = new SlimefunItemStack("SWEET_BERRY_JUICE", Color.RED, new PotionEffect(PotionEffectType.SATURATION, 5, 0), "&cSweet Berry Juice", "", LoreBuilder.hunger(3));
public static final SlimefunItemStack GLOW_BERRY_JUICE = new SlimefunItemStack("GLOW_BERRY_JUICE", Color.ORANGE, new PotionEffect(PotionEffectType.SATURATION, 5, 0), "&6Glow Berry Juice", "", LoreBuilder.hunger(3));
public static final SlimefunItemStack GOLDEN_APPLE_JUICE = new SlimefunItemStack("GOLDEN_APPLE_JUICE", Color.YELLOW, new PotionEffect(PotionEffectType.ABSORPTION, 20 * 20, 0), "&bGolden Apple Juice");
public static final SlimefunItemStack BEEF_JERKY = new SlimefunItemStack("BEEF_JERKY", Material.COOKED_BEEF, "&6Beef Jerky", "", "&fExtra saturating!");
@ -203,7 +204,6 @@ public final class SlimefunItems {
public static final SlimefunItemStack SMELTERS_PICKAXE = new SlimefunItemStack("SMELTERS_PICKAXE", Material.DIAMOND_PICKAXE, "&6Smelter's Pickaxe", "&c&lAuto-Smelting", "", "&9Works with Fortune");
public static final SlimefunItemStack LUMBER_AXE = new SlimefunItemStack("LUMBER_AXE", Material.DIAMOND_AXE, "&6Lumber Axe", "&a&oCuts down the whole Tree...");
public static final SlimefunItemStack PICKAXE_OF_CONTAINMENT = new SlimefunItemStack("PICKAXE_OF_CONTAINMENT", Material.IRON_PICKAXE, "&cPickaxe of Containment", "", "&9Can pickup Spawners");
public static final SlimefunItemStack HERCULES_PICKAXE = new SlimefunItemStack("HERCULES_PICKAXE", Material.IRON_PICKAXE, "&9Hercules' Pickaxe", "", "&4DEPRECATED - Will be removed soon", "", "&fSo powerful that it", "&fcrushes all mined Ores", "&finto Dust...");
public static final SlimefunItemStack EXPLOSIVE_PICKAXE = new SlimefunItemStack("EXPLOSIVE_PICKAXE", Material.DIAMOND_PICKAXE, "&eExplosive Pickaxe", "", "&fAllows you to mine a good bit", "&fof Blocks at once...", "", "&9Works with Fortune");
public static final SlimefunItemStack EXPLOSIVE_SHOVEL = new SlimefunItemStack("EXPLOSIVE_SHOVEL", Material.DIAMOND_SHOVEL, "&eExplosive Shovel", "", "&fAllows you to mine a good bit", "&fof diggable Blocks at once...");
public static final SlimefunItemStack PICKAXE_OF_THE_SEEKER = new SlimefunItemStack("PICKAXE_OF_THE_SEEKER", Material.DIAMOND_PICKAXE, "&aPickaxe of the Seeker", "&fWill always point you to the nearest Ore", "&fbut might get damaged when doing it", "", "&7&eRight Click&7 to be pointed to the nearest Ore");
@ -212,9 +212,6 @@ public final class SlimefunItems {
public static final SlimefunItemStack CLIMBING_PICK = new SlimefunItemStack("CLIMBING_PICK", Material.IRON_PICKAXE, "&bClimbing Pick", "", "&fAllows you to climb certain surfaces", "&fby right-clicking.", "&fEnchant this pick with Efficiency to", "&fclimb even faster!");
static {
HERCULES_PICKAXE.addUnsafeEnchantment(Enchantment.DURABILITY, 5);
HERCULES_PICKAXE.addUnsafeEnchantment(Enchantment.DIG_SPEED, 3);
COBALT_PICKAXE.addUnsafeEnchantment(Enchantment.DURABILITY, 10);
COBALT_PICKAXE.addUnsafeEnchantment(Enchantment.DIG_SPEED, 6);
}
@ -831,6 +828,7 @@ public final class SlimefunItems {
public static final SlimefunItemStack FREEZER = new SlimefunItemStack("FREEZER", Material.LIGHT_BLUE_STAINED_GLASS, "&bFreezer", "", LoreBuilder.machine(MachineTier.ADVANCED, MachineType.MACHINE), LoreBuilder.speed(1), LoreBuilder.powerBuffer(256), LoreBuilder.powerPerSecond(18));
public static final SlimefunItemStack FREEZER_2 = new SlimefunItemStack("FREEZER_2", Material.LIGHT_BLUE_STAINED_GLASS, "&bFreezer &7(&eII&7)", "", LoreBuilder.machine(MachineTier.END_GAME, MachineType.MACHINE), LoreBuilder.speed(2), LoreBuilder.powerBuffer(256), LoreBuilder.powerPerSecond(30));
public static final SlimefunItemStack FREEZER_3 = new SlimefunItemStack("FREEZER_3", Material.LIGHT_GRAY_STAINED_GLASS, "&bFreezer &7(&eIII&7)", "", LoreBuilder.machine(MachineTier.END_GAME, MachineType.MACHINE), LoreBuilder.speed(3), LoreBuilder.powerBuffer(256), LoreBuilder.powerPerSecond(42));
public static final SlimefunItemStack ELECTRIC_GOLD_PAN = new SlimefunItemStack("ELECTRIC_GOLD_PAN", Material.BROWN_TERRACOTTA, "&6Electric Gold Pan", "", LoreBuilder.machine(MachineTier.BASIC, MachineType.MACHINE), LoreBuilder.speed(1), LoreBuilder.powerPerSecond(2));
public static final SlimefunItemStack ELECTRIC_GOLD_PAN_2 = new SlimefunItemStack("ELECTRIC_GOLD_PAN_2", Material.BROWN_TERRACOTTA, "&6Electric Gold Pan &7(&eII&7)", "", LoreBuilder.machine(MachineTier.BASIC, MachineType.MACHINE), LoreBuilder.speed(3), LoreBuilder.powerPerSecond(4));

View File

@ -0,0 +1,27 @@
package io.github.thebusybiscuit.slimefun4.implementation.items;
import javax.annotation.ParametersAreNonnullByDefault;
import org.bukkit.inventory.ItemStack;
import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup;
import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem;
import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItemStack;
import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType;
import io.github.thebusybiscuit.slimefun4.core.attributes.NotConfigurable;
/**
* The {@link HiddenItem} is a {@link NotConfigurable} {@link SlimefunItem}
* that is hidden from the Slimefun guide.
*
* @author char321
*
*/
public class HiddenItem extends SlimefunItem implements NotConfigurable {
@ParametersAreNonnullByDefault
public HiddenItem(ItemGroup itemGroup, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) {
super(itemGroup, item, recipeType, recipe);
this.setHidden(true);
}
}

View File

@ -123,7 +123,11 @@ abstract class AbstractCraftingTable extends MultiBlockMachine {
PlayerProfile.fromUUID(UUID.fromString(idSplit[0]), profile -> {
Optional<PlayerBackpack> optional = profile.getBackpack(Integer.parseInt(idSplit[1]));
optional.ifPresent(playerBackpack -> playerBackpack.setSize(size));
optional.ifPresent(playerBackpack -> {
// Safety feature for Issue #3664
playerBackpack.closeForAll();
playerBackpack.setSize(size);
});
});
return Optional.of(id);

View File

@ -44,7 +44,13 @@ public class TableSaw extends MultiBlockMachine {
@ParametersAreNonnullByDefault
public TableSaw(ItemGroup group, SlimefunItemStack item) {
super(group, item, new ItemStack[] { null, null, null, new ItemStack(Material.SMOOTH_STONE_SLAB), new ItemStack(Material.STONECUTTER), new ItemStack(Material.SMOOTH_STONE_SLAB), null, new ItemStack(Material.IRON_BLOCK), null }, BlockFace.SELF);
// @formatter:off
super(group, item, new ItemStack[] {
null, null, null,
new ItemStack(Material.SMOOTH_STONE_SLAB), new ItemStack(Material.STONECUTTER), new ItemStack(Material.SMOOTH_STONE_SLAB),
null, new ItemStack(Material.IRON_BLOCK), null
}, BlockFace.SELF);
// @formatter:on
for (Material log : Tag.LOGS.getValues()) {
Optional<Material> planks = getPlanks(log);
@ -61,10 +67,29 @@ public class TableSaw extends MultiBlockMachine {
}
}
/**
* This method returns the corresponding plank {@link Material} for a given wood {@link Material}.
* The result is wrapped by an {@link Optional}.
* <p>
* {@literal Material.OAK_LOG} for example will return {@literal Material.OAK_PLANKS}.
*
* @param log
* The log type.
*
* @return An {@link Optional} containing the corresponding plank type (or an empty {@link Optional})
*/
private @Nonnull Optional<Material> getPlanks(@Nonnull Material log) {
String materialName = log.name().replace("STRIPPED_", "");
materialName = materialName.substring(0, materialName.lastIndexOf('_')) + "_PLANKS";
int endIndex = materialName.lastIndexOf('_');
if (endIndex > 0) {
materialName = materialName.substring(0, endIndex) + "_PLANKS";
return Optional.ofNullable(Material.getMaterial(materialName));
} else {
// Fixed #3651 - Do not panic because of one weird wood type.
warn("Could not find a corresponding plank for wood type: '" + log.name() + "'");
return Optional.empty();
}
}
@Override

View File

@ -1,71 +0,0 @@
package io.github.thebusybiscuit.slimefun4.implementation.items.tools;
import javax.annotation.Nonnull;
import javax.annotation.ParametersAreNonnullByDefault;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import io.github.bakedlibs.dough.items.CustomItemStack;
import io.github.thebusybiscuit.slimefun4.api.MinecraftVersion;
import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup;
import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItemStack;
import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType;
import io.github.thebusybiscuit.slimefun4.core.handlers.ToolUseHandler;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
import io.github.thebusybiscuit.slimefun4.implementation.items.SimpleSlimefunItem;
import io.github.thebusybiscuit.slimefun4.utils.tags.SlimefunTag;
@Deprecated
public class HerculesPickaxe extends SimpleSlimefunItem<ToolUseHandler> {
@ParametersAreNonnullByDefault
public HerculesPickaxe(ItemGroup itemGroup, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) {
super(itemGroup, item, recipeType, recipe);
}
@Override
public @Nonnull ToolUseHandler getItemHandler() {
return (e, tool, fortune, drops) -> {
sendDeprecationWarning(e.getPlayer());
Material mat = e.getBlock().getType();
if (SlimefunTag.ORES.isTagged(mat)) {
if (Slimefun.getMinecraftVersion().isAtLeast(MinecraftVersion.MINECRAFT_1_17)) {
switch (mat) {
case DEEPSLATE_IRON_ORE:
drops.add(new CustomItemStack(SlimefunItems.IRON_DUST, 2));
break;
case DEEPSLATE_GOLD_ORE:
drops.add(new CustomItemStack(SlimefunItems.GOLD_DUST, 2));
break;
case COPPER_ORE:
case DEEPSLATE_COPPER_ORE:
drops.add(new CustomItemStack(SlimefunItems.COPPER_DUST, 2));
break;
default:
break;
}
}
switch (mat) {
case IRON_ORE:
drops.add(new CustomItemStack(SlimefunItems.IRON_DUST, 2));
break;
case GOLD_ORE:
drops.add(new CustomItemStack(SlimefunItems.GOLD_DUST, 2));
break;
default:
for (ItemStack drop : e.getBlock().getDrops(tool)) {
drops.add(new CustomItemStack(drop, drop.getAmount() * 2));
}
break;
}
}
};
}
}

View File

@ -96,6 +96,7 @@ public class BackpackListener implements Listener {
if (backpack instanceof SlimefunBackpack slimefunBackpack) {
if (e.getClick() == ClickType.NUMBER_KEY) {
// Prevent disallowed items from being moved using number keys.
if (e.getClickedInventory().getType() != InventoryType.PLAYER) {
ItemStack hotbarItem = e.getWhoClicked().getInventory().getItem(e.getHotbarButton());
@ -103,13 +104,20 @@ public class BackpackListener implements Listener {
e.setCancelled(true);
}
}
} else if (e.getClick() == ClickType.SWAP_OFFHAND && e.getClickedInventory().getType() != InventoryType.PLAYER) {
// Fixes #3265
} else if (e.getClick() == ClickType.SWAP_OFFHAND) {
if (e.getClickedInventory().getType() != InventoryType.PLAYER) {
// Fixes #3265 - Don't move disallowed items using the off hand.
ItemStack offHandItem = e.getWhoClicked().getInventory().getItemInOffHand();
if (!isAllowed(slimefunBackpack, offHandItem)) {
e.setCancelled(true);
}
} else {
// Fixes #3664 - Do not swap the backpack to your off hand.
if (e.getCurrentItem() != null && e.getCurrentItem().isSimilar(item)) {
e.setCancelled(true);
}
}
} else if (!isAllowed(slimefunBackpack, e.getCurrentItem())) {
e.setCancelled(true);
}

View File

@ -113,7 +113,6 @@ public final class ResearchSetup {
register("gold_armor", 87, "Shiny Armor", 13, SlimefunItems.GOLDEN_HELMET_12K, SlimefunItems.GOLDEN_CHESTPLATE_12K, SlimefunItems.GOLDEN_LEGGINGS_12K, SlimefunItems.GOLDEN_BOOTS_12K);
register("night_vision_googles", 89, "Night Vision Goggles", 10, SlimefunItems.NIGHT_VISION_GOGGLES);
register("pickaxe_of_containment", 90, "Pickaxe of Containment", 14, SlimefunItems.PICKAXE_OF_CONTAINMENT, SlimefunItems.BROKEN_SPAWNER);
register("hercules_pickaxe", 91, "Hercules Pickaxe", 28, SlimefunItems.HERCULES_PICKAXE);
register("table_saw", 92, "Table Saw", 4, SlimefunItems.TABLE_SAW);
register("slime_steel_armor", 93, "Slimy Steel Armor", 27, SlimefunItems.SLIME_HELMET_STEEL, SlimefunItems.SLIME_CHESTPLATE_STEEL, SlimefunItems.SLIME_LEGGINGS_STEEL, SlimefunItems.SLIME_BOOTS_STEEL);
register("blade_of_vampires", 94, "Blade of Vampires", 26, SlimefunItems.BLADE_OF_VAMPIRES);
@ -144,7 +143,7 @@ public final class ResearchSetup {
register("bound_weapons", 125, "Soulbound Weapons", 29, SlimefunItems.SOULBOUND_SWORD, SlimefunItems.SOULBOUND_BOW, SlimefunItems.SOULBOUND_TRIDENT);
register("bound_tools", 126, "Soulbound Tools", 29, SlimefunItems.SOULBOUND_PICKAXE, SlimefunItems.SOULBOUND_AXE, SlimefunItems.SOULBOUND_SHOVEL, SlimefunItems.SOULBOUND_HOE);
register("bound_armor", 127, "Soulbound Armor", 29, SlimefunItems.SOULBOUND_HELMET, SlimefunItems.SOULBOUND_CHESTPLATE, SlimefunItems.SOULBOUND_LEGGINGS, SlimefunItems.SOULBOUND_BOOTS);
register("juicer", 129, "Delicious Drinks", 29, SlimefunItems.JUICER, SlimefunItems.APPLE_JUICE, SlimefunItems.MELON_JUICE, SlimefunItems.CARROT_JUICE, SlimefunItems.PUMPKIN_JUICE, SlimefunItems.SWEET_BERRY_JUICE);
register("juicer", 129, "Delicious Drinks", 29, SlimefunItems.JUICER, SlimefunItems.APPLE_JUICE, SlimefunItems.MELON_JUICE, SlimefunItems.CARROT_JUICE, SlimefunItems.PUMPKIN_JUICE, SlimefunItems.SWEET_BERRY_JUICE, SlimefunItems.GLOW_BERRY_JUICE);
register("repaired_spawner", 130, "Repairing Spawners", 15, SlimefunItems.REPAIRED_SPAWNER);
register("enhanced_furnace", 132, "Enhanced Furnace", 7, SlimefunItems.ENHANCED_FURNACE, SlimefunItems.ENHANCED_FURNACE_2);
register("more_enhanced_furnaces", 133, "Better Furnaces", 18, SlimefunItems.ENHANCED_FURNACE_3, SlimefunItems.ENHANCED_FURNACE_4, SlimefunItems.ENHANCED_FURNACE_5, SlimefunItems.ENHANCED_FURNACE_6, SlimefunItems.ENHANCED_FURNACE_7);
@ -221,7 +220,7 @@ public final class ResearchSetup {
register("better_food_fabricator", 211, "Upgraded Food Fabrication", 28, SlimefunItems.FOOD_FABRICATOR_2, SlimefunItems.FOOD_COMPOSTER_2);
register("reactor_access_port", 212, "Reactor Interaction", 18, SlimefunItems.REACTOR_ACCESS_PORT);
register("fluid_pump", 213, "Fluid Pump", 28, SlimefunItems.FLUID_PUMP);
register("better_freezer", 214, "Upgraded Freezer", 29, SlimefunItems.FREEZER_2);
register("better_freezer", 214, "Upgraded Freezer", 29, SlimefunItems.FREEZER_2, SlimefunItems.FREEZER_3);
register("boosted_uranium", 215, "Never-Ending Circle", 30, SlimefunItems.BOOSTED_URANIUM);
register("trash_can", 216, "Trash", 8, SlimefunItems.TRASH_CAN);
register("advanced_output_node", 217, "Advanced Output Node", 24, SlimefunItems.CARGO_OUTPUT_NODE_2);

View File

@ -26,6 +26,7 @@ import io.github.thebusybiscuit.slimefun4.core.attributes.Radioactivity;
import io.github.thebusybiscuit.slimefun4.core.handlers.RainbowTickHandler;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
import io.github.thebusybiscuit.slimefun4.implementation.items.HiddenItem;
import io.github.thebusybiscuit.slimefun4.implementation.items.RadioactiveItem;
import io.github.thebusybiscuit.slimefun4.implementation.items.VanillaItem;
import io.github.thebusybiscuit.slimefun4.implementation.items.altar.AncientAltar;
@ -195,7 +196,6 @@ import io.github.thebusybiscuit.slimefun4.implementation.items.tools.ExplosivePi
import io.github.thebusybiscuit.slimefun4.implementation.items.tools.ExplosiveShovel;
import io.github.thebusybiscuit.slimefun4.implementation.items.tools.GoldPan;
import io.github.thebusybiscuit.slimefun4.implementation.items.tools.GrapplingHook;
import io.github.thebusybiscuit.slimefun4.implementation.items.tools.HerculesPickaxe;
import io.github.thebusybiscuit.slimefun4.implementation.items.tools.LumberAxe;
import io.github.thebusybiscuit.slimefun4.implementation.items.tools.NetherGoldPan;
import io.github.thebusybiscuit.slimefun4.implementation.items.tools.PickaxeOfContainment;
@ -532,11 +532,11 @@ public final class SlimefunItemSetup {
new ItemStack[] {SlimefunItems.SIFTED_ORE, null, null, null, null, null, null, null, null})
.register(plugin);
new SlimefunItem(itemGroups.resources, SlimefunItems.LEAD_DUST, RecipeType.ORE_WASHER,
new SlimefunItem(itemGroups.resources, SlimefunItems.SILVER_DUST, RecipeType.ORE_WASHER,
new ItemStack[] {SlimefunItems.SIFTED_ORE, null, null, null, null, null, null, null, null})
.register(plugin);
new SlimefunItem(itemGroups.resources, SlimefunItems.SILVER_DUST, RecipeType.ORE_WASHER,
new SlimefunItem(itemGroups.resources, SlimefunItems.LEAD_DUST, RecipeType.ORE_WASHER,
new ItemStack[] {SlimefunItems.SIFTED_ORE, null, null, null, null, null, null, null, null})
.register(plugin);
@ -1032,10 +1032,6 @@ public final class SlimefunItemSetup {
new ItemStack[] {SlimefunItems.FERROSILICON, SlimefunItems.FERROSILICON, SlimefunItems.FERROSILICON, null, SlimefunItems.GILDED_IRON, null, null, SlimefunItems.GILDED_IRON, null})
.register(plugin);
new HerculesPickaxe(itemGroups.tools, SlimefunItems.HERCULES_PICKAXE, RecipeType.MAGIC_WORKBENCH,
new ItemStack[] {SlimefunItems.HARDENED_METAL_INGOT, SlimefunItems.HARDENED_METAL_INGOT, SlimefunItems.HARDENED_METAL_INGOT, null, SlimefunItems.FERROSILICON, null, null, SlimefunItems.FERROSILICON, null})
.register(plugin);
new TableSaw(itemGroups.basicMachines, SlimefunItems.TABLE_SAW).register(plugin);
new SlimefunArmorPiece(itemGroups.magicalArmor, SlimefunItems.SLIME_HELMET_STEEL, RecipeType.ARMOR_FORGE,
@ -1376,6 +1372,10 @@ public final class SlimefunItemSetup {
new SlimefunItemStack(SlimefunItems.FLASK_OF_KNOWLEDGE, 8))
.register(plugin);
new HiddenItem(itemGroups.magicalGadgets, SlimefunItems.FILLED_FLASK_OF_KNOWLEDGE, RecipeType.INTERACT,
new ItemStack[] {SlimefunItems.FLASK_OF_KNOWLEDGE, null, null, null, null, null, null, null, null})
.register(plugin);
new BirthdayCake(itemGroups.birthday, new SlimefunItemStack("BIRTHDAY_CAKE", Material.CAKE, "&bBirthday Cake"), RecipeType.ENHANCED_CRAFTING_TABLE,
new ItemStack[] {null, new ItemStack(Material.TORCH), null, new ItemStack(Material.SUGAR), new ItemStack(Material.CAKE), new ItemStack(Material.SUGAR), null, null, null})
.register(plugin);
@ -2444,6 +2444,13 @@ public final class SlimefunItemSetup {
.setProcessingSpeed(2)
.register(plugin);
new Freezer(itemGroups.electricity, SlimefunItems.FREEZER_3, RecipeType.ENHANCED_CRAFTING_TABLE,
new ItemStack[] {SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.ELECTRO_MAGNET, SlimefunItems.FREEZER_2, SlimefunItems.ELECTRO_MAGNET, SlimefunItems.COOLING_UNIT, SlimefunItems.COOLING_UNIT, SlimefunItems.COOLING_UNIT})
.setCapacity(256)
.setEnergyConsumption(21)
.setProcessingSpeed(3)
.register(plugin);
new CoolantCell(itemGroups.technicalComponents, SlimefunItems.REACTOR_COOLANT_CELL, RecipeType.FREEZER,
new ItemStack[] {new ItemStack(Material.BLUE_ICE), null, null, null, null, null, null, null, null})
.register(plugin);
@ -2610,6 +2617,12 @@ public final class SlimefunItemSetup {
new ItemStack[] {null, null, null, null, new CustomItemStack(HeadTexture.PIGLIN_HEAD.getAsItemStack(), "&fPiglin"), null, null, null, null})
.register(plugin);
if (minecraftVersion.isAtLeast(MinecraftVersion.MINECRAFT_1_17)) {
new Juice(itemGroups.food, SlimefunItems.GLOW_BERRY_JUICE, RecipeType.JUICER,
new ItemStack[] {new ItemStack(Material.GLOW_BERRIES), null, null, null, null, null, null, null, null})
.register(plugin);
}
new ElytraCap(itemGroups.magicalArmor, SlimefunItems.ELYTRA_CAP, RecipeType.ARMOR_FORGE,
new ItemStack[] {new ItemStack(Material.SLIME_BALL), new ItemStack(Material.SLIME_BALL), new ItemStack(Material.SLIME_BALL), SlimefunItems.ELYTRA_SCALE, SlimefunItems.ELYTRA_SCALE, SlimefunItems.ELYTRA_SCALE, new ItemStack(Material.SLIME_BALL), new ItemStack(Material.LEATHER_HELMET), new ItemStack(Material.SLIME_BALL)})
.register(plugin);

View File

@ -9,6 +9,7 @@ import org.bukkit.Color;
import org.bukkit.FireworkEffect;
import org.bukkit.FireworkEffect.Type;
import org.bukkit.Material;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.FireworkEffectMeta;
@ -42,6 +43,8 @@ public class ColoredFireworkStar extends CustomItemStack {
im.setLore(lines);
}
im.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS);
});
}

View File

@ -1,5 +1,7 @@
---
commands:
research:
reset-target: '&cدانش شما بازنشانی شده است'
debug:
description: 'ثبت اشکال زدایی را برای توسعه دهندگان اجرا کنید'
disabled: '&7حالت اشکال زدایی غیرفعال شد.'
@ -8,6 +10,10 @@ placeholderapi:
guide:
locked: 'قفل شده است'
work-in-progress: 'اين قابليت هنوز کامل نشده!'
locked-itemgroup:
- 'براي باز کردن اين گروه شما بايد'
- 'نیاز به باز کردن قفل همه موارد از'
- 'دسته های زیر'
search:
message: '&bدوست دارید دنبال چه چیزی بگردید?'
name: '&7جست و جو...'
@ -16,6 +22,7 @@ guide:
tooltips:
open-itemgroup: 'براي باز کردن کليک کنيد'
versions-notice: 'این موارد هنگام گزارش باگ بسیار مهم هستند!'
wiki: 'این آیتم را در ویکی رسمی Slimefun مشاهده کنید'
pages:
previous: 'صفحه ي قبل'
next: 'صفحه ی بعد'
@ -23,7 +30,17 @@ guide:
title: 'برگشت'
settings: 'به صفحه تنظیمات بازگرد'
languages:
selected-language: 'در حال حاضر انتخاب شده:'
select: 'برای انتخاب این زبان کلیک کنید'
select-default: 'برای انتخاب زبان پیش فرض کلیک کنید'
change: 'برای انتخاب زبان جدید کلیک کنید'
description:
- '&7اکنون این گزینه را دارید که تغییر دهید'
- '&7زبان در Slimefun'
- '&7به شما ارائه خواهد شد. آیتم ها'
- '&7فعلا قابل ترجمه نیست.'
translations:
name: '&aچیزی فراموش شده است?'
lore: 'برای افزودن ترجمه خود کلیک کنید'
title:
main: 'راهنمای Slimefun'
@ -32,16 +49,28 @@ guide:
source: 'کد منبع'
credits:
roles:
developer: '&6توسعه دهندگان'
wiki: '&3ویرایش کننده ویکی'
resourcepack: '&cهنرمند بسته منابع'
translator: '&9مترجم'
messages:
hungry: '&cشما برای انجام این کار زیادی گرسنه هستید! برای انجام آن نوار گرسنگی خود را پر کنید!'
disabled-in-world: '&4&lاين آيتم در این جهان غير فعال شده است'
soulbound-rune:
fail: '&cشما نمی توانید چند وسیله را به طور همزمان به روح خود متصل کنید.'
success: '&aشما با موفقیت این مورد را به روح خود متصل کردید! در صورت مردن شما این وسیله را از دست نمی دهید.'
tape-measure:
distance: '&7اندازه گیری انجام شده. &eفاصله: %distance%'
no-pvp: '&cشما نمی توانید در اینجا مبارزه کنید!'
link-prompt: '&eاینجا کلیک کنید:'
machines:
ELEVATOR:
no-destinations: '&4مقصدی پیدا نشد'
TELEPORTER:
teleporting: '&3درحال جا به جایی...'
teleported: '&3جا به جا شدی!'
gui:
time: 'زمان تخمین زده شده'
CARGO_NODES:
connected: '&2وصل است!'
not-connected: '&4وصل نیست!'
@ -61,9 +90,16 @@ languages:
it: 'ایتالیایی'
es: 'اسپانیایی'
nl: 'هلندی'
cs: 'کشور چک'
hu: 'مجارستانی'
ru: 'روسی'
zh-TW: 'چینی (تایوان)'
vi: 'ویتنامی'
id: 'اندونزیایی'
el: 'یونانی'
he: 'عبری'
pt: 'پرتغالی (پرتغال)'
pt-BR: 'پرتغالی (برزیل)'
ar: 'عربی'
da: 'دانمارکی'
fi: 'فنلاندی'
@ -72,3 +108,6 @@ languages:
'no': 'نروژی'
ja: 'ژاپنی'
fa: 'فارسی'
th: 'تایلندی'
tl: 'تاگالوگی'
ro: 'رومانیایی'

View File

@ -18,7 +18,9 @@ slimefun:
solar_panel_and_helmet: نیروی خورشیدی
cactus_armor: کت و شلوار کاکتوس
slimefun_metals: فلزات جدید
magic_workbench: میز کار جادویی
gold_carats: طلای خالص
lava_crystal: موقعیت آتشین
gilded_iron: آهن براق
synthetic_emerald: جواهر تقلبی
hazmat_suit: لباس ضد آتش
@ -28,6 +30,7 @@ slimefun:
24k_gold_block: شهر طلایی
backpacks: کوله پشتی ها
juicer: نوشیدنی های خوشمزه
more_enhanced_furnaces: کوره های بهتر
carbonado_furnace: کوره لبه دار کربونادو
block_placer: بلوک گذار
scroll_of_dimensional_teleposition: چرخاندن چیزها
@ -44,12 +47,20 @@ slimefun:
oil: نفت
fuel: سوخت
hologram_projector: هولوگرام ها
solar_generators: نیروگاه خورشیدی
electric_furnaces: کوره برقی
electric_ore_grinding: خرد کردن و آسیاب کردن
bio_reactor: راکتور زیستی
elevator: آسانسورها
nuclear_reactor: نیروگاه هسته ای
trash_can: اشغال
elytra: بال
special_elytras: بال مخصوص
trident: نیزه سه شاخه
lava_generator: مولد گدازه
auto_drier: یک روز خشک
diet_cookie: کوکی رژیمی
tree_growth_accelerator: درختان سریعتر
lead_clothing: لباس سرب
tape_measure: نوار اندازه گیری
bee_armor: زره زنبوری

View File

@ -146,6 +146,8 @@ messages:
multimeter: '&bאחסון אנרגיה: &3%stored% &b/ &3%capacity%'
piglin-barter: 'אתה לא יכול לסחור עם חזירונים באמצעות חפצי סליים פאן'
bee-suit-slow-fall: '&eכנפי הדבורה שלך יעזרו לך להגיע לקרקע בצורה איטית ובטוחה'
deprecated-item: '&4פריט זה מיושן ויוסר מסליים פאן בקרוב.'
researching-is-disabled: '&cמחקר לא פעיל בשרת זה. לפי ברירת מחדל הכול פתוח!'
multi-tool:
mode-change: '&b%device% &9: המצב השתנה ל: %mode%'
not-shears: '&c מולטי טול לא יכול לשמש כמזמרה!'
@ -256,6 +258,9 @@ machines:
pick-a-floor: '&3- בחר קומה -'
current-floor: '&e אתה נמצא כרגע על קומה:'
click-to-teleport: '&eלחץ &7 כדי להשתגר לקומה:'
enter-name: '&7אנא הכנס את שם הרצפה הרצוי לצ''אט שלך. &f(קודי צבע נתמכים!)'
named: '&2 בהצלחה נקבע שם קומה זאת: &f%floor%'
editor-title: 'הגדר מעלית זו'
TELEPORTER:
teleporting: '&3משתגר....'
teleported: '&3שוגר!'
@ -271,6 +276,8 @@ machines:
waypoints: 'סקירת נקודות דרך'
CARGO_NODES:
must-be-placed: '&4חייב להיות מונח על תיבה או מכונה!'
connected: '&2מחובר!'
not-connected: '&4לא מחובר!'
INDUSTRIAL_MINER:
no-fuel: 'לכורה התעשייתית שלך אזל הדלק! שים את הדלק שלך בתיבה מעל.'
piston-facing: '&cהכורה התעשייתי שלך דורש בוכנות מופנות כלפי מעלה!'
@ -300,6 +307,8 @@ cauldron:
no-discoloring: '&4אתה לא יכול לשנות את הצבע של שריון סליים פאן'
gps:
deathpoint: "&4נקודת מוות\n&7%date%"
status-online: 'מקוון'
status-offline: 'לא מקוון'
waypoint:
new: '&eהקלד שם לנקודת הדרך החדשה שלך בצ''אט. (קודי צבע נתמכים!)'
added: '&a נוסף בהצלחה נקודת דרך חדשה'
@ -399,3 +408,5 @@ languages:
mk: 'מקדונית'
sr: 'סרבית'
be: 'בלארוסית'
si-LK: 'סינהאלית'
lt: 'ליטאית'

View File

@ -147,6 +147,7 @@ messages:
piglin-barter: '&4Slimefunアイテムはピグリンとの物々交換に使用できません'
bee-suit-slow-fall: '&e蜂の羽が着地を安全でゆっくりにした'
deprecated-item: '&4このアイテムは廃止予定です。近日中にSlimefunから削除されます。'
researching-is-disabled: '%cこのサーバーではリサーチが無効化されていました。すべてがデフォルトでアンロックされました'
multi-tool:
mode-change: '&b%device% モード変更: &9%mode%'
not-shears: '&cMulti Toolはハサミとして利用できません'
@ -257,6 +258,7 @@ machines:
pick-a-floor: '&3- 行先の選択 -'
current-floor: '&e現在の階:'
click-to-teleport: '&eクリック&7でこの階に移動:'
editor-title: 'エレベーターの設定'
TELEPORTER:
teleporting: '&3テレポート中…'
teleported: '&3テレポート完了'
@ -272,6 +274,7 @@ machines:
waypoints: 'ウェイポイント一覧'
CARGO_NODES:
must-be-placed: '&4チェストや機械に対して設置してください'
not-connected: '&4接続されていません!'
INDUSTRIAL_MINER:
no-fuel: '&cIndustrial Minerは燃料切れです上のチェストに燃料を補充してください。'
piston-facing: '&cIndustrial Minerのピストンは上向きに設置してください'
@ -301,6 +304,8 @@ cauldron:
no-discoloring: '&4Slimefunアイテムの脱色はできません'
gps:
deathpoint: '&4死亡地点 &7%date%'
status-online: 'オンライン'
status-offline: 'オフライン'
waypoint:
new: '&eウェイポイント名をチャットで入力してください&7カラーコード対応'
added: '&a新しいウェイポイントを登録しました'

View File

@ -153,10 +153,10 @@ slimefun:
electric_ore_grinding: 粉砕粉砕
heated_pressure_chamber: 加熱圧力室Ⅰ
coal_generator: 火力発電所
bio_reactor: バイオマス発電所
bio_reactor: バイオリアクター
auto_enchanting: エンチャント操作術
auto_anvil: 電動修理術
multimeter: マルチメーター
auto_anvil: 自動金床
multimeter: 電力計測
gps_setup: GPS時代の夜明け
gps_emergency_transmitter: 緊急戦線復帰
programmable_androids: アンドロイド
@ -250,7 +250,7 @@ slimefun:
iron_golem_assembler: 人造アイアンゴーレム
villager_rune: 村人の初期化
elytra_cap: 衝撃緩和装備
bee_armor: 蜂アーマー
bee_armor: 養蜂用防護服
book_binder: エンチャントの本の製本
auto_crafting: 自動クラフト
produce_collector: 自動搾乳

View File

@ -1 +1,21 @@
---
slimefun:
fortune_cookie: Bolinho da sorte
portable_dustbin: Caixote do Lixo Portátil
meat_jerky: Jerky de Carne
magic_sugar: Açúcar Mágico
monster_jerky: Jerky de Monstro
slime_armor: Armadura de Slime
sword_of_beheading: Espada da Decapitação
parachute: Pára-quedas
grappling_hook: Gancho-arpão
jetpacks: Jetpack
slimefun_metals: Metais Novos
carbonado: Diamantes Negros
synthetic_emerald: Jóia Falsa
chainmail_armor: Armadura de Malha
uranium: Radioativo
crushed_ore: Purificação de Minérios
first_aid: Primeiros socorros
gold_armor: Armadura Brilhante
backpacks: Mochilas

View File

@ -1 +1,23 @@
---
slimefun:
weapons: 'Arme'
food: 'Mâncare'
basic_machines: 'Maşinarii de bază'
electricity: 'Energie şi electricitate'
androids: 'Androizi programabili'
gps: 'Mașinarii GPS'
armor: 'Armură'
magical_items: 'Obiecte Magice'
magical_gadgets: 'Gadget-uri Magice'
misc: 'Obiecte Diverse'
technical_gadgets: 'Gadget-uri Tehnice'
resources: 'Resurse'
tech_misc: 'Componente Tehnice'
magical_armor: 'Armură Magică'
talismans: 'Talismane (nivelul I)'
ender_talismans: 'Talismane Ender (nivelul II)'
christmas: 'Crăciun (decembrie)'
valentines_day: 'Ziua Îndrăgostiților (14 februarie)'
easter: 'Paște (Aprilie)'
birthday: 'Ziua de naștere a lui TheBusyBiscuit (26 octombrie)'
halloween: 'Halloween (31 octombrie)'

View File

@ -1,4 +1,7 @@
---
commands:
timings:
please-wait: '&eTe rugam sa astepti o secunda... Rezultatele se incarca!'
placeholderapi:
profile-loading: 'Se încarcă...'
guide:
@ -8,38 +11,90 @@ guide:
name: '&7Cauta...'
tooltip: '&bClick pentru a căuta un obiect'
inventory: 'Caută pentru: %item%'
tooltips:
versions-notice: 'Acestea sunt foarte importante atunci când raportezi problemele!'
wiki: 'Vezi acest articol pe Wiki-ul Slimefun Oficial'
pages:
previous: 'Pagina anterioară'
next: 'Pagina următoare'
back:
guide: 'Inapoi la Ghidul Slimefun'
languages:
selected-language: 'Selectare actuală:'
select: 'Click pentru a selecta această limbă'
select-default: 'Click pentru a selecta limba implicita'
change: 'Click pentru a selecta o nouă limbă'
translations:
name: '&aLipseste ceva?'
lore: 'Click pentru a adăuga propria ta traducere'
title:
main: 'Ghid Slimefun'
settings: 'Setări și informații'
languages: 'Selectați limba preferată'
credits: 'Contribuitori Slimefun4'
wiki: 'Wiki Slimefun4'
addons: 'Addons pentru Slimefun4'
bugs: 'Raportare Buguri'
source: 'Cod sursă'
versions: 'Versiuni instalate'
credits:
commit: 'Commit'
commits: 'Commit-uri'
profile-link: 'Faceți clic pentru a le vizita profilul pe GitHub'
open: 'Click pentru a vedea contribuitorii noștri'
roles:
developer: '&6Dezvoltator'
wiki: '&3Editor Wiki'
resourcepack: '&cArtist Resurse'
translator: '&9Traducator'
messages:
not-researched: '&4Nu ai suficiente cunostinte pentru a intelege acest obiect. &cVa trebui sa deblochezi &f"%item%&f"'
not-enough-xp: '&4Nu ai suficient XP pentru a debloca acest obiect'
unlocked: '&bAi deblocat &7"%research%"'
only-players: '&4Aceasta comanda este doar pentru jucatori'
link-prompt: '&eClick aici:'
machines:
TELEPORTER:
teleporting: '&3Teleportare...'
teleported: '&3Teleportat!'
cancelled: '&4Teleportare anulata!'
invulnerability: '&b&lAi primit 30 de secunde de Invulnerabilitate!'
gui:
title: 'Punctele tale de referinta'
tooltip: 'Click pentru teleportare'
time: 'Timp estimat'
languages:
en: 'Engleză'
de: 'Germană'
fr: 'Franceză'
it: 'Italiană'
es: 'Spaniolă'
pl: 'Poloneză'
sv: 'Suedeză'
nl: 'Olandeză'
cs: 'Cehă'
hu: 'Maghiară'
lv: 'Letonă'
ru: 'Rusă'
sk: 'Slovacă'
zh-CN: 'Chineză (China)'
zh-TW: 'Chineză (Taiwan)'
vi: 'Vietnameză'
id: 'Indoneziană'
el: 'Greacă'
he: 'Ebraică'
pt: 'Portugheză (Portugalia)'
ar: 'Arabă'
fi: 'Finlandeză'
uk: 'Ucraineană'
ja: 'Japoneză'
fa: 'Persiană'
th: 'Tailandeza'
tl: 'Tagalog'
ro: 'Română'
bg: 'Bulgară'
ko: 'Coreeană'
hr: 'Croată'
mk: 'Macedoneană'
sr: 'Sârbă'
be: 'Belarusă'

View File

@ -1 +1,7 @@
---
slimefun:
walking_sticks: Baston
portable_crafter: Masă de fabricare portabilă
portable_dustbin: Dustbin portabil
meat_jerky: Bucati de carne uscata
armor_forge: Masa de fabricare Armuri

View File

@ -1,7 +1,7 @@
---
slimefun:
walking_sticks: Vychádzkové paličky
portable_crafter: Prenosný crafter
portable_crafter: Prenosný pracovný stôl
fortune_cookie: Koláčik šťastia
portable_dustbin: Prenosný kôš
meat_jerky: Sušené mäso
@ -13,14 +13,14 @@ slimefun:
magic_eye_of_ender: Magiké Oko Endu
magic_sugar: Magický cukor
monster_jerky: Sušené mäso z monštier
slime_armor: Slime brnenie
slime_armor: Slizové brnenie
sword_of_beheading: Meč popráv
basic_circuit_board: Základná obvodová doska
advanced_circuit_board: Pokročilá obvodová doska
smeltery: Taviareň
steel: Vek ocele
misc_power_items: Dôležité veci súvisiace s energiou
battery: Tvoja prvá baterka
battery: Tvoja prvá batéria
steel_plate: Oceľové pokovovanie
steel_thruster: Oceľová tryska
parachute: Padák

View File

@ -22,10 +22,10 @@ slimefun:
- '如合成表所示'
- '使用磨石制作'
smeltery:
name: '冶炼 (Smeltery)'
name: '冶炼 (Smeltery)'
lore:
- '如合成表所示'
- '用冶炼合成'
- '用冶炼合成'
ore_crusher:
name: '矿石粉碎机 (Ore Crusher)'
lore:

View File

@ -215,6 +215,7 @@
"GILDED_IRON_CHESTPLATE" : "Armor",
"GILDED_IRON_HELMET" : "Armor",
"GILDED_IRON_LEGGINGS" : "Armor",
"GLOW_BERRY_JUICE" : "Juices",
"GLOWSTONE_BOOTS" : "Magical-Armor",
"GLOWSTONE_CHESTPLATE" : "Magical-Armor",
"GLOWSTONE_HELMET" : "Magical-Armor",