From d50b67fc33b50a69002f1784f2e017b7693e39f9 Mon Sep 17 00:00:00 2001 From: Maksim Pinigin Date: Fri, 27 Mar 2020 22:47:16 +0700 Subject: [PATCH] Added name param for action "spawn" --- DOCS_RU.txt | 3 +++ src/in/pinig/ttvrewards/RewardsHandler.java | 25 ++++++++++++++------- src/plugin.yml | 2 +- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/DOCS_RU.txt b/DOCS_RU.txt index 10de7d7..15c0fe6 100644 --- a/DOCS_RU.txt +++ b/DOCS_RU.txt @@ -25,6 +25,7 @@ rewards: kill - убийство игрока, привязанного к каналу чата. Не имеет отдельных параметров spawn - создание сущности возле игрока mob - название сущности. Список сущностей: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html + name - off, message или username: какое имя выдавать сущности. По умолчанию: off jump - телепортация игрока на случайную высоту min - минимальная высота для прыжка max - максимальная высота для прыжка @@ -47,6 +48,8 @@ rewards: damage - случайный дамаг игрока min - минимальный урон, который возможно получить max - максимальный урон, который возможно получить + drop - выкидывает предмет из правой руки или весь инвентарь + inventory - true или false: выкинуть весь инвентарь или нет options: useDisplayNames - если true, будет использовать отображаемое имя пользователя на Twitch (с регистром, указанным пользователем) или китайский ник - если false, будет использовать имя пользователя с исключительно нижним регистром diff --git a/src/in/pinig/ttvrewards/RewardsHandler.java b/src/in/pinig/ttvrewards/RewardsHandler.java index 0791bd6..1f4bf14 100644 --- a/src/in/pinig/ttvrewards/RewardsHandler.java +++ b/src/in/pinig/ttvrewards/RewardsHandler.java @@ -6,6 +6,7 @@ import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; +import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; @@ -43,6 +44,11 @@ public void run() { if(player == null) return; String rewardName = Main.config.getString("rewards." + rewardId + ".name", null); + try { + message = new String(message.getBytes(), "UTF8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } if (rewardName != null) { String action = Main.config.getString("rewards." + rewardId + ".action", null); @@ -74,6 +80,7 @@ public void run() { break; case "spawn": String mobName = Main.config.getString("rewards." + rewardId + ".spawn.mob", null); + String mobHeadName = Main.config.getString("rewards." + rewardId + ".spawn.name", "off"); if(mobName == null) { player.sendMessage(Main.config.getString("strings.prefix") + Main.config.getString("strings.err_missarg").replace("{reward_name}", rewardName)); return; @@ -85,7 +92,15 @@ public void run() { Location playerLoc = player.getLocation(); playerLoc.setY(playerLoc.getY()+1.0); playerLoc.setZ(playerLoc.getZ()+2.0); - player.getWorld().spawnEntity(playerLoc, entityType); + Entity mob = player.getWorld().spawnEntity(playerLoc, entityType); + if(mobHeadName.equals("username")) { + mob.setCustomName(username); + } else if(mobHeadName.equals("message")) { + if(mobHeadName.length() < 40) + mob.setCustomName(message); + else + mob.setCustomName(username); + } } catch(IllegalArgumentException ex) { player.sendMessage(Main.config.getString("strings.prefix") + Main.config.getString("strings.err_unknownmob").replace("{mob_name}", mobName)); ex.printStackTrace(); @@ -227,13 +242,7 @@ public void run() { player.sendMessage(Main.config.getString("strings.prefix") + Main.config.getString("strings.receive_reward").replace("{name}", username).replace("{reward_name}", rewardName)); if(message != null) { - String converted = null; - try { - converted = new String(message.getBytes(), "UTF8"); - } catch (UnsupportedEncodingException e) { - converted = message; - } - player.sendMessage(Main.config.getString("strings.prefix") + Main.config.getString("strings.receive_message").replace("{message}", converted)); + player.sendMessage(Main.config.getString("strings.prefix") + Main.config.getString("strings.receive_message").replace("{message}", message)); } } } diff --git a/src/plugin.yml b/src/plugin.yml index d326e93..6bf9ac4 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -1,7 +1,7 @@ name: TTVRewards main: in.pinig.ttvrewards.Main description: Use channel points rewards to interact with MC world -version: "1.0.1" +version: "1.0.1.1" author: Estintax permissions: ttvrewards.manage: