Skip to content

Commit

Permalink
Added name param for action "spawn"
Browse files Browse the repository at this point in the history
  • Loading branch information
estintax committed Mar 27, 2020
1 parent 0e4872f commit d50b67f
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 9 deletions.
3 changes: 3 additions & 0 deletions DOCS_RU.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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 - максимальная высота для прыжка
Expand All @@ -47,6 +48,8 @@ rewards:
damage - случайный дамаг игрока
min - минимальный урон, который возможно получить
max - максимальный урон, который возможно получить
drop - выкидывает предмет из правой руки или весь инвентарь
inventory - true или false: выкинуть весь инвентарь или нет
options:
useDisplayNames - если true, будет использовать отображаемое имя пользователя на Twitch (с регистром, указанным пользователем) или китайский ник
- если false, будет использовать имя пользователя с исключительно нижним регистром
Expand Down
25 changes: 17 additions & 8 deletions src/in/pinig/ttvrewards/RewardsHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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;
Expand All @@ -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();
Expand Down Expand Up @@ -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));
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/plugin.yml
Original file line number Diff line number Diff line change
@@ -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:
Expand Down

0 comments on commit d50b67f

Please sign in to comment.