Skip to content

Commit

Permalink
Версия 0.3.5
Browse files Browse the repository at this point in the history
- Фикс ошибки фильтра String index out of range
- Фикс бага, из-за которого гасты и ифриты стреляли файерболами, которые вызывали взрывы, как у файерболов Сталина
- Фикс бага, позволявшего обойти фильтр при некоторых донатах
- Фикс ошибки "this.streamerPlayersManager" is null
- Фикс оповещения HealPlayer
  • Loading branch information
link1107 committed Feb 12, 2022
1 parent 89c481f commit 8e4a78e
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 23 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>IgorLink</groupId>
<artifactId>DonationExecutor</artifactId>
<version>0.3.4</version>
<version>0.3.5</version>
<packaging>jar</packaging>

<name>DonationExecutor</name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,9 @@ public void onEnable() {
public void onDisable() {
try {
isRunningStatus = false;
streamerPlayersManager.stop();
if (CheckNameAndToken()) {
streamerPlayersManager.stop();
}
} catch (InterruptedException e) {
logToConsole("Какая-то ебаная ошибка, похуй на нее вообще");
}
Expand Down
7 changes: 4 additions & 3 deletions src/main/java/igorlink/donationexecutor/Executor.java
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ public static void nekoglai (Player player, String donationUsername) {

public static void killStalins (Player player, String donationUsername) {
//Remove Last Death Dropped Items
announce(donationUsername, "убил Сталиных вокруг тебя!", "убил Сталиных вокруг", player, true);
List<Entity> stalins = player.getNearbyEntities(200, 200, 200);
for (Entity e: stalins) {
if (e instanceof Giant) {
Expand Down Expand Up @@ -336,12 +337,12 @@ public static void giveIronSword (Player player, String donationUsername) {
}

public static void giveIronKirka (Player player, String donationUsername) {
announce(donationUsername, "дал тебе железный меч!", "дал железный меч", player, true);
announce(donationUsername, "дал тебе железную кирку!", "дал железную кирку", player, true);
ExecUtils.giveToPlayer(player, Material.IRON_AXE, 1, donationUsername);
}

public static void giveDiamondKirka (Player player, String donationUsername) {
announce(donationUsername, "дал тебе железный меч!", "дал железный меч", player, true);
announce(donationUsername, "дал тебе алмазную кирку!", "дал алмазную кирку", player, true);
ExecUtils.giveToPlayer(player, Material.DIAMOND_AXE, 1, donationUsername);
}

Expand Down Expand Up @@ -377,7 +378,7 @@ public static void spawnTamedCat (Player player, String donationUsername) {
}

public static void healPlayer (Player player, String donationUsername) {
announce(donationUsername, "подарил тебе котейку!", "подарил котейку", player, true);
announce(donationUsername, "полностью вас вылечил!", "полностью вылечил", player, true);
player.setHealth(Objects.requireNonNull(player.getAttribute(Attribute.GENERIC_MAX_HEALTH)).getValue());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.metadata.FixedMetadataValue;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.util.RayTraceResult;
import org.bukkit.util.Vector;
Expand Down Expand Up @@ -349,7 +350,7 @@ public void run() {
.add(0, -2, 0),
EntityType.FIREBALL);
stalinBall.setDirection(genVec(stalinBall.getLocation(), target.getLocation()).clone().multiply(2));

stalinBall.setMetadata("type", new FixedMetadataValue(DonationExecutor.getInstance(), "giantball"));
}

}.runTaskTimer(DonationExecutor.getInstance(), 0, 45);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,12 @@ public void onGiantMobDamage(EntityDamageEvent e){
//Обрабатываем попадание снежка и файербола
@EventHandler
public void onProjectileHit(ProjectileHitEvent e) {
if (e.getEntity() instanceof Snowball) {
if ( (e.getEntity() instanceof Snowball) && (((Snowball) e.getEntity()).getItem().getLore().contains("Stalinball")) ) {
//Урон от снежка
if ((e.getHitEntity()) instanceof LivingEntity) {
((LivingEntity) e.getHitEntity()).damage(1.0D);
}
} else if (e.getEntity() instanceof Fireball) {
} else if ( (e.getEntity() instanceof Fireball) && (e.getEntity().hasMetadata("type")) ) {
//Взрыв от файербола
if (!(e.getHitEntity() instanceof Giant)) {
e.getEntity().getWorld().createExplosion(e.getEntity().getLocation(), 2.0F, true);
Expand Down
20 changes: 9 additions & 11 deletions src/main/java/igorlink/service/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -170,12 +170,6 @@ public static Boolean isBlackListed(String text) {
return false;
}

// for (String ss : MainConfig.listOfWhiteListedSubstrings) {
// if (validationText.contains(ss)) {
// validationText = validationText.replace(ss, "");
// }
// }


if (!(validationText.matches("[a-zа-я0-9$!ё]*"))) {
return true;
Expand All @@ -188,22 +182,22 @@ public static Boolean isBlackListed(String text) {
for (int j = 0; j <= ss.length(); j++) {

if (j == ss.length()) {
//если мы прошли всю субстроку до конца - значит слово содержит субстроку из блеклиста
return true;
}

//Если текущая буква субстроки равна или синонимична текущей букве в слове, значит идем дальше смотреть следующий символ
if (validationText.charAt(tempi + j) == ss.charAt(j)) {
continue;
} else if ((mapOfSynonimousChars.containsKey(ss.charAt(j)))) {
if ((mapOfSynonimousChars.get(ss.charAt(j)).contains(validationText.charAt(tempi + j)))) {
continue;
}
} else if ((mapOfSynonimousChars.containsKey(ss.charAt(j))) && (mapOfSynonimousChars.get(ss.charAt(j)).contains(validationText.charAt(tempi + j)))) {
continue;
}

while (true) {
if (j==0) {
break;
}
if (!(validationText.charAt(tempi + j) == validationText.charAt(tempi + j - 1))) {
if (validationText.charAt(tempi + j) != validationText.charAt(tempi + j - 1)) {
if (!(mapOfSynonimousChars.containsKey(validationText.charAt(tempi + j)))) {
break;
} else if (!(mapOfSynonimousChars.get(validationText.charAt(tempi + j)).contains(validationText.charAt(tempi + j - 1)))) {
Expand All @@ -216,6 +210,10 @@ public static Boolean isBlackListed(String text) {
}
}

if ((validationText.length()-tempi-j) < (ss.length()-j)) {
break;
}

if (validationText.charAt(tempi + j) == ss.charAt(j)) {
continue;
} else if ((mapOfSynonimousChars.containsKey(ss.charAt(j)))) {
Expand Down
8 changes: 4 additions & 4 deletions src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: DonationExecutor
version: 0.3.4
version: 0.3.5
website: "https://github.com/link1107/DonationExecutor"
main: igorlink.donationexecutor.DonationExecutor
api-version: 1.18
Expand All @@ -20,8 +20,8 @@ commands:
aliases: [de]
description: "Позволяет имитировать донаты для тестов или для воспроизведения события вручную"
usage: "§c[DonationExecutor] §fДоступные команды: \n
§c/d §7donate §b<СУММА> <ИМЯ>§f - сымитировать донат\n
§c/d §7reload§f - перезагрузить настройки из конфига
§c/d §7filter §bON|OFF§f - включить/выключить фильтр никнеймов"
§c/de §7donate §b<СУММА> <ИМЯ>§f - сымитировать донат\n
§c/de §7reload§f - перезагрузить настройки из конфига
§c/de §7filter §bON|OFF§f - включить/выключить фильтр никнеймов"


0 comments on commit 8e4a78e

Please sign in to comment.