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

Merge branch 'master' into chore/has-unlocked

This commit is contained in:
svr333 2021-01-16 16:04:21 +01:00 committed by GitHub
commit f8b135592d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 395 additions and 13 deletions

View File

@ -27,6 +27,7 @@
## Release Candidate 20 (TBD)
#### Additions
* Added a new language: Bulgarian
#### Changes
@ -41,6 +42,7 @@
* Fixed #2662
* Fixed #2728
* Fixed some backpack opening issues
* Fixed Infused Hopper picking up items with a max pickup delay
## Release Candidate 19 (11 Jan 2021)

View File

@ -327,7 +327,7 @@
<dependency>
<groupId>com.github.seeseemelk</groupId>
<artifactId>MockBukkit-v1.16</artifactId>
<version>0.20.0</version>
<version>0.21.0</version>
<scope>test</scope>
<exclusions>
<exclusion>
@ -341,7 +341,7 @@
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.7.0</version>
<version>3.7.7</version>
<scope>test</scope>
</dependency>

View File

@ -83,7 +83,7 @@ public class SlimefunCommand implements CommandExecutor, Listener {
sendHelp(sender);
/**
/*
* We could just return true here, but if there's no subcommands,
* then something went horribly wrong anyway.
* This will also stop sonarcloud from nagging about

View File

@ -33,7 +33,7 @@ enum SupportedLanguage {
NORWEGIAN("no", false, "e0596e165ec3f389b59cfdda93dd6e363e97d9c6456e7c2e123973fa6c5fda"),
CZECH("cs", true, "48152b7334d7ecf335e47a4f35defbd2eb6957fc7bfe94212642d62f46e61e"),
ROMANIAN("ro", false, "dceb1708d5404ef326103e7b60559c9178f3dce729007ac9a0b498bdebe46107"),
BULGARIAN("bg", false, "19039e1fd88c78d9d7adc5aad5ab16e356be13464934ed9e2b0cef2051c5b534"),
BULGARIAN("bg", true, "19039e1fd88c78d9d7adc5aad5ab16e356be13464934ed9e2b0cef2051c5b534"),
PORTUGUESE_PORTUGAL("pt", false, "ebd51f4693af174e6fe1979233d23a40bb987398e3891665fafd2ba567b5a53a"),
PORTUGUESE_BRAZIL("pt-BR", true, "9a46475d5dcc815f6c5f2859edbb10611f3e861c0eb14f088161b3c0ccb2b0d9"),
HUNGARIAN("hu", true, "4a9c3c4b6c5031332dd2bfece5e31e999f8deff55474065cc86993d7bdcdbd0"),
@ -51,7 +51,7 @@ enum SupportedLanguage {
ARABIC("ar", true, "a4be759a9cf7f0a19a7e8e62f23789ad1d21cebae38af9d9541676a3db001572"),
TURKISH("tr", true, "9852b9aba3482348514c1034d0affe73545c9de679ae4647f99562b5e5f47d09"),
PERSIAN("fa", false, "5cd9badf1972583b663b44b1e027255de8f275aa1e89defcf77782ba6fcc652"),
SERBIA("sr", false, "5b0483a4f0ddf4fbbc977b127b3d294d7a869f995366e3f50f6b05a70f522510"),
SERBIAN("sr", false, "5b0483a4f0ddf4fbbc977b127b3d294d7a869f995366e3f50f6b05a70f522510"),
AFRIKAANS("af", false, "961a1eacc10524d1f45f23b0e487bb2fc33948d9676b418b19a3da0b109d0e3c"),
MALAY("ms", false, "754b9041dea6db6db44750f1385a743adf653767b4b8802cad4c585dd3f5be46"),
THAI("th", true, "2a7916e4a852f7e6f3f3de19c7fb57686a37bce834bd54684a7dbef8d53fb"),
@ -89,6 +89,14 @@ enum SupportedLanguage {
return releaseReady;
}
/**
* This returns the texture hash for this language.
* This will be the flag of the corresponding country.
* (Not accurate I know, but better than having all languages
* look the same by using the same items)
*
* @return The texture hash of this language
*/
@Nonnull
public String getTexture() {
return textureHash;

View File

@ -28,13 +28,12 @@ import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
/**
* The {@link InfusedHopper} is a special kind of {@link Hopper} which teleports any
* neaby {@link Item} to itself.
* nearby {@link Item} to itself.
* The radius can be configured in the config.
*
* @author TheBusyBiscuit
*
* @author Walshy
* @see InfusedMagnet
*
*/
public class InfusedHopper extends SimpleSlimefunItem<BlockTicker> {
@ -65,7 +64,7 @@ public class InfusedHopper extends SimpleSlimefunItem<BlockTicker> {
if (toggleable.getValue()) {
Hopper hopper = (Hopper) b.getBlockData();
/**
/*
* If the Hopper was disabled by a redstone signal,
* we just don't do anything.
*/
@ -85,7 +84,7 @@ public class InfusedHopper extends SimpleSlimefunItem<BlockTicker> {
playSound = true;
}
/**
/*
* Play a sound if at least one item was teleported and
* the "silent" setting is set to false.
*/
@ -104,7 +103,10 @@ public class InfusedHopper extends SimpleSlimefunItem<BlockTicker> {
private boolean isValidItem(@Nonnull Location l, @Nonnull Entity entity) {
if (entity instanceof Item && entity.isValid()) {
Item item = (Item) entity;
return !SlimefunUtils.hasNoPickupFlag(item) && item.getLocation().distanceSquared(l) > 0.25;
// Check if the item cannot be picked up or has the "no pickup" metadata
return item.getPickupDelay() <= 0
&& !SlimefunUtils.hasNoPickupFlag(item)
&& item.getLocation().distanceSquared(l) > 0.25;
}
return false;

View File

@ -0,0 +1,370 @@
---
commands:
help: Показва този помощен екран
guide: Дава ви Slimefun Ръководство
teleporter: Вижте пътни точки от други играчи
cheat: Позволява Ви да чийтвате Предмети
give: Позволява Ви да давате на някого Slimefun Предмети
versions: Лист с всички инсталирани Добавки
search: Претърсва вашето Ръководство за даден термин / предмет
open_guide: Отваря Ви Slimefun Ръководството без да използвате книгата
stats: Показва Статистики относно даден Играч
research:
description: Отключва/Рестартира проучванията на даден играч
reset: "&cВие рестартирахте Познанията на %player%"
reset-target: "&cВашите Познания бяха рестартирани"
backpack:
description: Вземете копие на съществуваща раница
invalid-id: "&4Id-то трябва да бъде положително число! (Най-вероятно без минус
пред него)"
player-never-joined: "&4Не може да бъде намерен играч с това име!"
backpack-does-not-exist: "&4Специфичната раница не съществува!"
restored-backpack-given: "&aВашата раница беше възстановена и добавена към вашия
инвентар!"
charge:
description: Зарежда предмета, който държите
charge-success: Предмета е зареден!
not-rechargeable: Този предмет не може да бъде зареждан
timings:
description: Timings относно Slimefun и неговите добавки
please-wait: "&eМоля изчакайте няколко секунди... Резултатите се обработват!"
verbose-player: "&4Verbose флага не може да бъде използван от Играч!"
unknown-flag: "&4Непознат флаг: &c%flag%"
guide:
search:
message: "&bКакво желаете да търсите?"
name: "&7Търсене..."
tooltip: "&bНатисни, за да търсиш предмет"
inventory: 'Търсене за: %item%'
cheat:
no-multiblocks: "&4Не може да чийтвате в Multiblocks, ще трябва да ги построите!"
languages:
updated: "&aВашия език бе успешно зададен на: &b%lang%"
translations:
name: "&aНещо липсва?"
lore: Натиснете, за да добавите собствен превод
select: Натиснете, за да изберете този език
select-default: Натиснете, за да изберете езика по подразбиране
selected-language: 'Избран в момента:'
change: Натисни, за да избереш нов език
description:
- "&7Сега имаш опцията да промениш"
- "&7езика, на който е Slimefun"
- "&7той ще се промени само за теб. Предметите"
- "&7не могат да бъдат преведени за момента."
title:
main: Slimefun Ръководство
settings: Настройки & Информация
languages: Изберете вашия предпочитан език
credits: Slimefun4 Контрибутори
wiki: Slimefun4 Уики
addons: Добавки за Slimefun4
bugs: Бъг Доклади
source: Програмен Код
versions: Инсталирани версии
credits:
commit: Помогни на проекта
commits: Помогнали на проекта
roles:
developer: "&6Девелопър"
wiki: "&3Уики Редактатор"
resourcepack: "&cАртист на Ресурсни Пакети"
translator: "&9Преводач"
profile-link: Натиснете, за да видите техния профил в GitHub
open: Натисни, за да видиш нашите контрибутори
description:
- "&7Slimefun е проект с отворен код"
- "&7и е поддържан от голямо общество от хора."
- "&7Над &e%contributors% &7хора са работили върху"
- "&7Slimefun през всички тези години."
pages:
previous: Предишна страница
next: Следваща страница
tooltips:
open-category: Натиснете, за да отворите
versions-notice: Тези са много важни, когато докладвате бъгове!
wiki: Вижте този Предмет в официалното Уики на Slimefun
recipes:
machine: Рецепти направени в тази Машина
miner: Ресурси, които може да получите с този Копач
generator: Налични средства гориво
gold-pan: Ресурси, които може да получите
climbing-pick: Повърхности, по които можете да се изкачвате
back:
title: Обратно
guide: Върнете се обратно в Slimefun Ръководството
settings: Върнете се обратно в Панела с Настройки(Settings Panel)
locked: ЗАКЛЮЧЕНО
locked-category:
- За да отключите тази категория
- ще трябва да отключите всички предмети от
- следните категории
work-in-progress: Тази функция не е завършена все още!
messages:
not-researched: "&4Нямате достатъчно познания, за да разберете това"
not-enough-xp: "&4Нямате достатъчно XP, за да отключите това"
unlocked: '&bТи отключи &7"%research%"'
only-players: "&4Тази команда е само за Играчи"
unknown-player: "&4Непознат Играч: &c%player%"
no-permission: "&4Нямате нужните права, за да използвате това"
usage: "&4Употреба: &c%usage%"
not-online: "&4%player% &cне е онлайн!"
given-item: '&bБеше Ви даден &a%amount% от &7"%item%&7"'
give-item: '&bВие дадохте на %player% &a%amount% от &7"%item%&7"'
give-research: '&bВие дадохте на %player% проучването &7"%research%&7"'
hungry: "&cВие сте прекалено гладен, за да използвате/правите това!"
disabled-in-world: "&4&lТози Предмет е изключен в този свят"
disabled-item: "&4&lТози Предмет е изключен! Как изобщо сте го взели?"
no-tome-yourself: "&cНе може да използвате &4Tome of Knowledge &cвърху себе си..."
multimeter: "&bСкладирана Енергия: &3%stored% &b/ &3%capacity%"
talisman:
anvil: "&a&oВашия Талисман спаси инструмента Ви от счупването му"
miner: "&a&oВашия Талисман удвой предметите, които ще получавате от копаене"
hunter: "&a&oВашия Талисман удвой предметите, които ще получавате от убиване на
мобове"
lava: "&a&oВашия Талисман Ви спаси от изгаряне до смърт"
water: "&a&oВашия Талисман Ви спаси от удавяне"
angel: "&a&oВашия Талисман Ви спаси от нараняване при падане"
fire: "&a&oВашия Талисман Ви спаси от изгарянето в пламъци"
magician: "&a&oВашия Талисман Ви даде допълнителен Enchantment"
traveller: "&a&oВашия Талисман Ви даде по-бързо ходене"
warrior: "&a&oВашия Талисман подобри вашата Сила за Малко"
knight: "&a&oВашия Талисман Ви даде 5 Секунди Регенерация"
whirlwind: "&a&oВашия Талисман рефлектира Изстрела"
wizard: "&a&oВашия Талисман Ви даде по-добро Ниво Fortune, но може да е намалило
Нивата на някои от другите Ви Enchantment-и"
caveman: "&a&oВашия Талисман Ви дава haste или познато, като бързо чупене"
soulbound-rune:
fail: "& cМожете да свържете само един елемент с душата си наведнъж."
success: "&aВие успешно свързахте този предмет с душата си! Когато умрете Вие
ще го запазите в инвентара си."
research:
start: "&7Древните Сили прошепнаха мистериозни думи в ухото Ви!"
progress: "&7Вие започнахте да се чудите относно &b%research% &e(%progress%)"
fire-extinguish: "& 7Вие се самоугасихте"
cannot-place: "&cНе може да поставите този блок там!"
no-pvp: "&cНе може да се биете тук!"
radiation: "&4Вие бяхте изложени на смъртоносна радиация! &cОтървете се от радиоактивния
предмет или облечете целия hazmat костюм!"
opening-guide: "&bОтваряме ръководството, това може да отнеме няколко секунди..."
opening-backpack: "&bОтваряме раницата Ви, това може да отнеме няколко секунди..."
no-iron-golem-heal: "&cТова не е Iron Ingot(Железно Кюлче). Не може да лекувате
Iron Golem-и(Железни Големи) с него!"
link-prompt: "&eНатиснете тук:"
diet-cookie: "&eЗапочнахте да се чувствате доста лекичък..."
fortune-cookie:
- "&7Помогнете ми, аз съм затворен в Фабрика за Късметлийски Бисквитки!"
- "&7Утре Вие ще умрете... от Creeper"
- "&7В някакъв момент от живота Ви нещо лошо ще се случи!!!"
- "&7Следващата седмица ще забележите, че това не е реалния свят, а всъщност Вие
сте в компютърна игра"
- "&7Тази бисквитка ще стане вкусна в следващите няколко секунди"
- '&7Последната дума, която ще чуете ще бъде "УНИЩОЖЕТЕ!!!"'
- "&7Каквото и да правите никога, ама никога не прегръщайте Creeper... Аз опитах.
Доста добре е, но не си заслужава."
- "&742. Отговорът е 42."
- "&7Walshy веднъж на ден ще пази неприятностите далече."
- "&7Никога не копайте право надолу!"
- "&7Туй е само плътна рана!"
- "&7Винаги гледайте от към хубавата страна на живота!"
- "&7Това беше Бисквитка, а не Курабийка"
- "&7Неоновите табели светят!"
piglin-barter: "&4Не може да разменяте предмети с Пиглините използвайки предмети
от Slimefun"
enchantment-rune:
fail: "&cНе може да enchant-нете този предмет."
no-enchantment: "&cНе може да бъде намерен Enchantment за този предмет."
success: "&aВие успешно сте сложили случаен Enchantment на този предмет."
tape-measure:
no-anchor: "&cТрябва първо да сложите Anchor преди да започнете да мерите!"
wrong-world: "&cИзглежда, че вашия Anchor е в различен свят!"
distance: "&7Мерките са взети. &eДистанция: %distance%"
anchor-set: "&aУспешно сложен Anchor:&e %anchor%"
multi-tool:
mode-change: "&b%device% режим на устройството променен на: &9%mode%"
not-shears: "&cMulti Tool не може да бъде използван, като ножици!"
climbing-pick:
dual-wielding: "&4Трябва да държите Climbing Picks и в двете си ръце, за да ги
използвате!"
wrong-material: "&cНе може да се изкачвате по тази повърхност. Проверете вашето
Slimefun Ръководство за повече информация!"
invalid-item: "&4%item% &cне е валиден Предмет!"
invalid-amount: "&4%amount% &cне е валидна бройка : трябва да бъде по-голяма от
0!"
invalid-research: "&4%research% &cне е валидно Проучване!"
bee-suit-slow-fall: "&eВашите Bee Wings ще Ви помогнат да стигнете до земята безопасно
и бавно."
machines:
pattern-not-found: "&eСъжалявам, не мога да разпозная тази Рецепта. Моля поставете
Предметите по коректния начин в Dispenser-а."
unknown-material: "&eСъжалявам, не мога да разпознаят Предмета в моя dispenser.
Моля сложете нещо, което ще мога да разпозная."
wrong-item: "&eСъжалявам, не мога да разпознаят Предмета, с който ме натиснахте(right-click).
Проверете Рецептите и вижте кои Предмети може да използвате."
full-inventory: "&eСъжалявам, моя инвентар е прекалено пълен!"
in-use: "&cИнвентара на този блок в момента е отворен от друг Играч."
ignition-chamber-no-flint: "&cНа Запалителната Камера и липсват Flint and Steal(Запалка)."
ANCIENT_ALTAR:
not-enough-pedestals: "&4Олтара не е обграден с нужния брой Пиадестали &c(%pedestals%
/ 8)"
unknown-catalyst: "&4Непознат Катализатор! &cИзползвайте коректната Рецепта!"
unknown-recipe: "&4Непозната Рецепта! &cИзползвайте коректната Рецепта!"
ANCIENT_PEDESTAL:
obstructed: "&4Някой от Пиадесталите е възпрепятстван от нещо! &cПремахнете, това
което е над Пиадестала!"
HOLOGRAM_PROJECTOR:
enter-text: "&7Моля въведете желания текст за Хологрмата във вашият чат. &r(Цветовите
Кодове са поддържани!)"
inventory-title: Редактор на Холограми
ELEVATOR:
no-destinations: "&4Нямаше намерени дестинации"
pick-a-floor: "&3- Изберете Етаж -"
current-floor: "&eТова е етажа, на който сте в момента:"
click-to-teleport: "&eНатиснете&7, за да се телепортирате до този етаж:"
enter-name: "&7Моля въведете името на желания етаж във вашият чат. &r(Цветовите
Кодове са поддържани!)"
named: "&2Успешно именувахте този етаж: &r%floor%"
TELEPORTER:
teleporting: "&3Телепортиране..."
teleported: "&3Телепортиран/а сте!"
cancelled: "&4Телепортацията е отказана!"
invulnerability: "&b&lБяха Ви дадени 30 секунди Неуязвимост!"
gui:
title: Вашите Локации
tooltip: Натисни, за да се телепортираш
time: Очаквано време
CARGO_NODES:
must-be-placed: "&4Трябва да бъде поставено върху сандък или машина!"
GPS_CONTROL_PANEL:
title: GPS - Контролен Панел
transmitters: Преглед на Предавателя
waypoints: Преглед на Точката
INDUSTRIAL_MINER:
no-fuel: "&cВашия Индустриален Копач няма гориво! Сложете горивото си в сандъка
над него."
piston-facing: "&cВашия Индустриален Копач изисква piston-ите(буталата) да гледат
нагоре!"
piston-space: "&cДвата piston-а(бутала) не трябва да имат празен блок над тях!"
destroyed: "&cИзглежда, че вашия Индустриален Копаче е бил разрушен."
already-running: "&cТози Индустриален Копач вече работи!"
full-chest: "&cСандъка на вашия Индустриален Копач е вече пълен!"
no-permission: "&4Изглежда, че нямате право да работите с Индустриален Копач тук!"
finished: "&eВашия Индустриален Копач прикючи своята работа! Той е събрал общо
%ores% руда(и)!"
anvil:
not-working: "&4Не може да използвате Slimefun предмети в обикновенна наковалния!"
mcmmo-salvaging: "&4Не може да разглобявате Slimefun предмети на mcMMO наковалнията!"
backpack:
already-open: "&cСъжалявам, но тази Раница е отворена някъде другаде!"
no-stack: "&cНе може да стаквате Раници"
workbench:
not-enhanced: "&4Не може да използвате Slimefun предмети в нормална работна маса"
gps:
deathpoint: "&4Локация на Умиране &7%date%"
waypoint:
new: "&eМоля напишете име за новата Ви локация в чата. &7(Цветовите Кодове са
поддържани!)"
added: "&aУспешно добавихте нова локация"
max: "&4Достигнахте максималната бройка локации"
duplicate: "&4Вие вече сте създал локация на име: &f%waypoint%"
insufficient-complexity:
- "&4Недостатъчна Сложност на GPS Мрежата: &c%complexity%"
- "&4a) Все още нямате направена GPS Мрежа"
- "&4b) Вашата GPS Мрежа не е достатъчно сложна"
geo:
scan-required: "&4GEO-Scan изискан! &cПърво сканирайте този чънк използвайки GEO-Scanner!"
inventory:
no-access: "&4Не Ви е разрешен достъпа до този блок"
android:
started: "&7Вашият Андроид продължи да изпълнява своя скрипт"
stopped: "&7Вашия Андроид паузира изпълнението на своя скрипт"
scripts:
already-uploaded: "&4Този скрипт вече е бил качен."
instructions:
START: "&2Започни Скрипт"
REPEAT: "&9Повтаряй Скрипт"
WAIT: "&eИзчакай 0.5с"
GO_FORWARD: "&7Движи се напред"
GO_UP: "&7Движи се нагоре"
GO_DOWN: "&7Движи се надолу"
TURN_LEFT: "&7Завърти се на ляво"
TURN_RIGHT: "&7Завърти се на дясно"
DIG_UP: "&bКопай нагоре"
DIG_FORWARD: "&bКопай напред"
DIG_DOWN: "&bКопай надолу"
MOVE_AND_DIG_UP: "&bДвижи се & Копай нагоре"
MOVE_AND_DIG_FORWARD: "&bДвижи се & Копай напред"
MOVE_AND_DIG_DOWN: "&bДвижи се & Копай надолу"
ATTACK_MOBS_ANIMALS: "&4Атакувай &c(Агресивни Мобове & Животни)"
ATTACK_MOBS: "&4Атакувай &c(Агресивни Мобове)"
ATTACK_ANIMALS: "&4Атакувай &c(Животни)"
ATTACK_ANIMALS_ADULT: "&4Атакувай &c(Животни &7[Само Възрастни]&c)"
CHOP_TREE: "&cИзрежи и Засади наново"
CATCH_FISH: "&bХвани Риба"
FARM_FORWARD: "&bСъбери Реколтата и Засади наново"
FARM_DOWN: "&bСъбери Реколтата и Засади наново &7(Блок отдолу)"
FARM_EXOTIC_FORWARD: "&bРазширено Събиране на Реколта и Засаждане наново"
FARM_EXOTIC_DOWN: "&bРазширено Събиране на Реколта и Засаждане наново &7(Блок
отдолу)"
INTERFACE_ITEMS: "&9Изпратни съдаржанието на Инвентара към лицевия Интерфейс"
INTERFACE_FUEL: "&cИзвадете Гориво от лицевия Интерфейс"
enter-name:
-
- "&eМоля въведете име за скрипта си"
uploaded:
- "&bКачване..."
- "&aУспешно качихме твоя скрипт!"
rating:
own: "&4Не може да оцените собствения си скрипт!"
already: "&4Вие вече сте оставили рейтинг за този скрипт!"
editor: Редактор на Скрипт
languages:
default: Server-Default
en: Английски
de: Немски
fr: Френски
it: Италиански
es: Испански
pl: Полски
sv: Шведски
nl: Холандски
cs: Чешки
hu: Унгарски
lv: Латвийски
ru: Руски
sk: Словашки
zh-TW: Китайски (Тайван)
vi: Виетнамски
id: Индонезийски
zh-CN: Китайски (Китай)
el: Гръцки
he: Иврит
ar: Арабски
af: Африкански
da: Датски
fi: Финландски
uk: Украински
ms: Малайски
'no': Норвежки
ja: Японски
fa: Персийски
th: Тайландски
ro: Румънски
pt: Португалски (Португалия)
pt-BR: Португалски (Бразилия)
bg: Български
ko: Корейски
tr: Турски
hr: Хърватски
mk: Македонски
sr: Сръбски
be: Беларуски
tl: Тагалог
brewing_stand:
not-working: "&4Не може да използвате Slimefun предмети в brewing stand!"
villagers:
no-trading: "&4Не може да търгувате Slimefun предмети със Селяните!"
cartography_table:
not-working: "&4Не може да използвате Slimefun предмети в картографска маса!"
cauldron:
no-discoloring: "&4Не можете да обезцветявате Slimefun брони"