HTTPS
https://git.nageyqma.icu/nageyqma/blade-addons-next.git
SSH
git@git.nageyqma.icu:nageyqma/blade-addons-next.git
HTTPS 链接可直接 git clone;推送代码请使用 SSH。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
package blade.addon.features.dungeon;
import blade.addon.utils.Location;
import blade.addon.utils.Misc;
import blade.addon.utils.config.values.Dungeons;
import blade.addon.utils.dungeon.Phase;
import blade.addon.utils.events.Events;
import java.text.DecimalFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import net.minecraft.network.chat.Component;
public class ExplosiveShot {
private static final Pattern PATTERN = Pattern.compile("^Your Explosive Shot hit (\\d+) enemies for ([\\d,?.]+) damage\\.$");
private static final DecimalFormat FORMAT = new DecimalFormat("###,###,###,###");
public static void init() {
Events.ON_GAME_MESSAGE.register(message -> {
if (!Location.inDungeon() || !Dungeons.calculateCriticalHit) return false;
if (Dungeons.onlyInBoss && !Phase.inBoss()) return false;
String string = message.getString();
Matcher matcher = PATTERN.matcher(string);
if (matcher.matches()) {
String count = matcher.group(1);
String amount = matcher.group(2);
try {
int countNum = Integer.parseInt(count);
double amountNum = Double.parseDouble(amount.replace(",", ""));
double damagePerEntity = amountNum / countNum;
Misc.addChatMessage(Component.literal("§aExplosive shot did §e" + FORMAT.format(damagePerEntity) +"§a damage per enemy."));
} catch (NumberFormatException ignored) {
}
}
return false;
});
}
}