Gold Плагин Механика RPG/MMO Epidemic [1.7.8]

  • В этом обновлении добавлена поддержка Domain 1.10.0 с измененным API.
Других изменений нет
Автор: bobobo
Журнал изменений 1.7.7

Это небольшое изменение, которое добавляет только некоторые дополнительные значения PlaceholderAPI

Теперь вы можете использовать %epidemic_has_<ключ заболевания>%, чтобы вернуть true/false/unknown для определения наличия заболевания у игрока.

true = у игрока есть заболевание
false = у игрока нет заболевания
unknown = неизвестный недуг (возможно, опечатка).

Пример:
%epidemic_has_broken_leg%

Ailment key - это внутренний ключ для каждого недуга, так что вы можете иметь

%epidemic_has_rabies%, %epidemic_has_plague%, %epidemic_has_wound% и т.д. в зависимости от того, как настроен ваш сервер.
Автор: bobobo
Это обновление позволяет наделить игрока ограниченной по времени неуязвимостью. Но сначала немного истории.

Когда Epidemic только была написана, существовало разрешение epidemic.invincible - оно защищало игрока от любого вреда. Но люди продолжали оставлять себя в операционной и имели разрешение, поэтому никогда не заболевали. Вслед за Domain я изменил поведение, чтобы использовать режим обхода. Таким образом, сотрудник должен был активно вводить команду /epidemic bypass, чтобы стать неуязвимым.

Эта новая функциональность неуязвимости дает игрокам ограниченную по времени неуязвимость с помощью команды, она также включает опцию конфигурации, которая даст новым игрокам некоторое время на привыкание к серверу, прежде чем они заболеют. Это НЕ влияет на /epidemic bypass, который все еще используется.

Новые команды

Обе новые команды требуют разрешения epidemic.admin.

/epidemic invincible <Uuid или имя игрока (если он-лайн)> <количество дней>.

Если используется имя игрока, игрок ДОЛЖЕН быть онлайн в это время.

Количество дней - это количество дней от игровых дней - так, если сейчас 14-й день, а вы выбрали количество дней = 7, они не смогут быть поражены до 21-го дня.

/эпидемический день

Это просто возвращает внутриигровой день согласно Epidemic (это НЕ то же самое, что день сервера, потому что некоторые плагины перемещают его по мере расширения дней/сезонов/времени и т.д.) Это просто произвольный день, который Epidemic будет использовать для отслеживания игровых дней.

Изменения в конфигурации
СЕРЬЕЗНО, пожалуйста, проверьте это ДО того, как обращаться ко мне по поводу каких-либо проблем.

Если у вас нет файла plugins\Epidemic\config\server.yml, пожалуйста, создайте его следующим образом
Автор: bobobo
Журнал изменений 1.7.5
  • В этом обновлении исправлена одна ошибка, из-за которой расходуемые средства не могли быть потреблены, если они основаны на еде или питье.
  • Например, кипяченая вода имеет значение drink: true и item_consumed: true - но не считывала item_consumed и неправильно устанавливала значение false.
  • Это приводило к тому, что расходуемые предметы никогда не заканчивались.
  • Добавлена поддержка 1.20!
  • Очистка кода мутаций/вакцин и примечаний
  • Сильно уменьшен спам при запуске (раньше было по 1 строке на болезнь и лекарство - теперь разделены запятыми)
  • Горячие точки без частиц больше не выдают предупреждение при запуске
Автор: bobobo
Это обновление устраняет раздражающее предупреждение об ошибке null, которое игроки могут получить, если у них нет мира под названием "world".
Не удалось передать событие EntityDamageByEntityEvent в Epidemic v1.7.2
java.lang.NullPointerException: Cannot invoke "org.bukkit.World.getTime()" because the return value of "org.bukkit.Bukkit.getWorld(String)" is null

Чтобы решить эту проблему, установите последнюю версию jar (Epidemic_1_7_3.jar) и добавьте следующее в файл \plugins\Epidemic\config\server.yml (замените WORLDNAME на название вашего основного мира)

server.yml:
main_world: WORLDNAME
Автор: bobobo
Это обновление позволяет естественным образом лечить недуги (а также закладывает основу для вакцин).

До сих пор, если вы получали рану, ожог, простуду или любое другое заболевание, которое вы установили, вы оставались с ним до тех пор, пока либо не вылечивались, либо пока не срабатывал редкий шанс исцеления во время сна.

Это обновление добавляет новую опцию в файлы недугов, которая указывает максимальное количество дней, в течение которых игрок будет страдать от недуга.
Автор: bobobo
Горячие точки!

Что такое "горячая точка"?
- Горячая точка - это блок, от которого болезнь может распространяться на определенное расстояние.

Например, если на вашем сервере упал метеорит, вы можете установить горячую точку в центре кратера падения, и болезнь будет распространяться в радиусе 10-20 блоков, и каждый, кто окажется в этой зоне, может заболеть лучевой болезнью или космическим бешенством.

Обязательно ли использовать горячую точку?
- Нет, конечно, нет, если вы не хотите использовать горячие точки, просто не устанавливайте их.

Как пользователи узнают, где находится точка доступа?
- Сейчас, когда игрок приближается, (опционально) эффекты частиц могут показать центр хотспота. В будущем может появиться дополнительное сообщение на экране, но пока - только частицы, это будет приятным сюрпризом для них!

Игроки автоматически заболевают в этой области?
- Нет, вы настраиваете шанс болезни так же, как и для других болезней, если вы хотите, чтобы шанс заболеть в этой области был небольшим, установите низкий, если хотите, чтобы они всегда болели, установите высокий.

Каким видом болезни они болеют?
- Любую, какую вы захотите установить - для примера я включил радиационную болезнь - это заболевание нельзя получить никаким другим способом, кроме как в горячей точке, однако вы можете дать им любое заболевание по своему выбору.

Как вы можете излечиться от болезней горячей точки?
- Точно так же, как и сейчас, создайте средство (в примере - йодистый калий).

Почему именно горячие точки, а не вакцины?
- Код вакцины занимает больше времени, чем мне хотелось бы (потому что он замечательный, кстати), а код горячих точек уже готов, поэтому мы выпускаем 1.7.1 как краткосрочное обновление, а вакцины будут!

Как настроить точку доступа?
- Если вы новый пользователь, создается пустой файл хотспота

\plugins\Epidemic\config.hotspots.yml

Если вы новый пользователь, вам может понадобиться создать папку и файл вручную - пример показан ниже
YAML:
# Every hotspot is listed under hotspots, with the location as the key
# <world name>:<x>:<y>:<z>
hotspots:
  world:-78:64:41:
   # ailment is the ailment to apply, this ailment key MUST exist
    ailment: radiation
    # chance of getting the ailment
    chance: 90000
    # distance from the hotspot location that the player can be impacted
    distance: 10
    # If you wish to show particles, set show to true, pick the RGB values, the particle size and count
    particles:
      show: true
      red: 2
      green: 135
      blue: 20
      size: 1
      count: 6
  world_nether:300:22:14:
Я также включил файлы radiation и potassium_iodide, которые находятся в папках ailments и remedy
\plugins\Epidemic\ailments\radiation.yml
YAML:
v: 1.1
internal_name: "radiation"
display_name: "Radiation Sickness"
infectious: false
infectious_chance: 0
non_infectious_chance: 0
contagious_chance_boost: 0
deliberate_transmission_chance: 0
biome_infectious_chance: []
max_immunity: 0
immunity_modifier: 0
report_before_symptoms: true
warn_on_afflicted: false
afflicted_text: ""
symptom_text: "You're hot and can barely see straight"
infected_other_text: ""
healed_text: "The swelling has gone down and you're starting to feel more like yourself"
natural_cure_text: ""
time_to_symptoms: 300
is_fatal: true
damage: 3
cure_with_sleep_chance: 0
cure_with_sleep_message: ""
fever: true
chills: false
display_vomit: true
display_bleeding:
  face: false
  head: false
  chest: false
  back: false
  left_arm: false
  right_arm: false
  left_leg: false
  right_leg: false
display_bowel: false
display_urinate: false
display_sweat: false
display_contagious: false
display_injury: false
insomnia: false
hallucination: true
gibberish: false
food_rot: false
remove_xp: 0
rust: false
rust_amount: 0
clumsy: false
sudden_death_chance: 100
sudden_death_message: "Your cells broke down too much"
caused_by_fall: false
caused_by_injury: false
caused_by_weapon_injury: false
caused_by_explosion: false
caused_by_fire: false
caused_by_water: false
caused_by_consume: false
caused_by_magic: false
caused_by_entity: []
ailment_effects:
  CONFUSION:
    time: 10
    amplifier: 3
  WEAKNESS:
    time: 20
    amplifier: 3
particle_on_heal: VILLAGER_HAPPY
sound_on_heal: BREWING_STAND_BREW
can_syringe: true
can_vaccinate: true
can_gain_immunity: true
is_active: true
\plugins\Epidemic\remedy\potassium_iodide.yml
YAML:
v: 1.0
key: "potassium_iodide"
display_name: "&bPotassium Iodide"
lore:
 - "&fA pill that helps your radiation sickness"
used_text: "You take the pills and hope for the best"
base_item: PUMPKIN_SEEDS
return_item: AIR
enchanted_glow: false
recipe:
  craft:
    top:
      left: POTATO
      center: POTATO
      right: POTATO
    middle:
      left: COD
      center: BEETROOT
      right: COD
    bottom:
      left: KELP
      center: EGG
      right: KELP
  amount: 1
  require_craft_perm: false
food: false
drink: false
item_consumed: true
cures:
 - radiation
remove_effects:
  CONFUSION:
    time: 10
    amplifier: 1
  WEAKNESS:
    time: 10
    amplifier: 1
health: 2
hunger: 1
thirst: 0
symptom_relief_seconds: 0
cold_relief_seconds: 0
heat_relief_seconds: 0

Какие еще изменения?​

- Только одно незначительное исправление, которое переносит файл broken_leg.yml с версии 1.2 на 1.1 (файлы версии 1.2 не загружаются).
Если вы являетесь текущим пользователем, проверьте свой файл broken_leg.yml и обновите его при необходимости!
Как всегда, по любым вопросам обращайтесь ко мне в Discord, и я буду рад помочь!
Автор: bobobo
Журнал изменений

Номер версии не изменился по сравнению с последней копией

В некоторых случаях при запуске плагин мог неправильно указать себя как Trial copy. Это никак не влияло на функциональность, а просто неправильно выводилось в консоль.

Нет необходимости загружать новую копию, если это вас не беспокоит!
Автор: bobobo
  • Это обновление устраняет ошибку, из-за которой предмет снимался с игрока, которого лечит другой игрок, вместо того, чтобы снимать средство с того, кто его применяет.

Для этого обновления не требуется изменение конфигурации

ПРИМЕЧАНИЕ! - При запуске в консоли это обновление может неправильно указать, что это пробная копия - пожалуйста, не обращайте внимания. Позже я опубликую обновленную копию, в которой будет удалено это некорректное уведомление.
Автор: bobobo
ВерхНиз