Skip to content

Commit

Permalink
Fixed dragon description/name is unknown
Browse files Browse the repository at this point in the history
  • Loading branch information
MetallicGoat committed Dec 25, 2023
1 parent 187ae07 commit feccead
Show file tree
Hide file tree
Showing 7 changed files with 67 additions and 12 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>me.metallicgoat</groupId>
<artifactId>MBedwarsTweaks</artifactId>
<version>3.2.0</version>
<version>3.3.0</version>

<repositories>
<repository>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
package me.metallicgoat.tweaksaddon;

import de.marcely.bedwars.api.BedwarsAddon;
import de.marcely.bedwars.api.GameAPI;
import de.marcely.bedwars.api.message.DefaultMessageMappings;
import de.marcely.bedwars.api.message.MessageAPI;
import me.metallicgoat.tweaksaddon.gentiers.dragons.SuddenDeathUpgrade;
import me.metallicgoat.tweaksaddon.integration.DependencyLoader;
import me.metallicgoat.tweaksaddon.tweaks.advancedswords.*;
import me.metallicgoat.tweaksaddon.tweaks.cosmetic.*;
Expand All @@ -21,7 +25,17 @@ public MBedwarsTweaksAddon(MBedwarsTweaksPlugin plugin) {
this.plugin = plugin;
}

public static void registerEvents() {
public void registerMessageMappings() {
try {
MessageAPI.get().registerDefaultMappings(
DefaultMessageMappings.loadInternalYAML(this.plugin, this.plugin.getResource("messages.yml"))
);
} catch (Exception e) {
e.printStackTrace();
}
}

public void registerEvents() {
final MBedwarsTweaksPlugin plugin = MBedwarsTweaksPlugin.getInstance();
final PluginManager manager = plugin.getServer().getPluginManager();

Expand Down Expand Up @@ -80,6 +94,10 @@ public static void registerEvents() {
manager.registerEvents(new DependencyLoader(), plugin);
}

public void registerUpgrades() {
GameAPI.get().registerUpgradeTriggerHandler(new SuddenDeathUpgrade());
}

@Override
public String getName() {
return plugin.getName();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ public class MBedwarsTweaksPlugin extends JavaPlugin {
private static MBedwarsTweaksAddon addon;

public void onEnable() {

instance = this;

if (!checkMBedwars())
Expand All @@ -36,7 +35,9 @@ public void onEnable() {

new Metrics(this, 11928);

MBedwarsTweaksAddon.registerEvents();
addon.registerMessageMappings();
addon.registerEvents();
addon.registerUpgrades();

final PluginDescriptionFile pdf = this.getDescription();

Expand All @@ -52,7 +53,6 @@ public void onEnable() {
DependencyLoader.loadAll();
ConfigLoader.loadTweaksConfigs(this);
ToolSwordHelper.load();
GameAPI.get().registerUpgradeTriggerHandler(new SuddenDeathUpgrade());

// Check Update Async
if (MainConfig.check_update_on_load)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ public static DragonFollowTask init(Arena arena, @Nullable Team team) {
final XYZ min = arena.getMinRegionCorner();

if (min == null || max == null)
throw new RuntimeException("Failed to find spot to spawn in a dragon");
throw new RuntimeException("Failed to find spot to spawn in a dragon. This is a bug");

location = new Location(
world,
Expand Down Expand Up @@ -214,11 +214,16 @@ private Location generateRandomLocation() {
final XYZ min = this.arena.getMinRegionCorner();

if (min == null || max == null)
throw new RuntimeException("Failed to find spot to spawn in a dragon");
throw new RuntimeException("Failed to find spot to spawn in a dragon. This is a bug");

final int x = random.nextInt((int) Math.abs(max.getX() - min.getX()));
final int y = random.nextInt((int) Math.abs(max.getY() - min.getY()));
final int z = random.nextInt((int) Math.abs(max.getZ() - min.getZ()));
final double xBound = Math.abs(max.getX() - min.getX());
final double yBound = Math.abs(max.getY() - min.getY());
final double zBound = Math.abs(max.getZ() - min.getZ());

// Dont go all the way to the border
final double x = random.nextDouble(xBound * 0.8) + (xBound * 0.1);
final double y = random.nextDouble(yBound * 0.6) + (yBound * 0.3); // Shift upwards
final double z = random.nextDouble(zBound * 0.8) + (zBound * 0.1);

return new Location(
this.world,
Expand All @@ -243,7 +248,7 @@ private List<Location> getPlayerTargets() {
public void run() {
final Location dragonLocation = this.dragon.getLocation().clone();
// The dragon has reached its target + tricks so it does not get in an 'orbit' around the target
if (this.targetLocation == null || dragonLocation.distance(this.targetLocation) < 10 || this.distanceTraveled > this.distanceToTarget + (this.distanceToTarget * 0.1))
if (this.targetLocation == null || dragonLocation.distance(this.targetLocation) < 10 || this.distanceTraveled > this.distanceToTarget * 1.2)
updateTarget();

final Vector toTarget = this.targetLocation.clone().subtract(dragonLocation).toVector().normalize();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,16 @@

import de.marcely.bedwars.api.event.player.PlayerTriggerUpgradeEvent;
import de.marcely.bedwars.api.game.upgrade.UpgradeTriggerHandler;
import de.marcely.bedwars.api.message.Message;
import me.metallicgoat.tweaksaddon.MBedwarsTweaksPlugin;
import me.metallicgoat.tweaksaddon.config.MainConfig;
import me.metallicgoat.tweaksaddon.gentiers.GenTiers;
import me.metallicgoat.tweaksaddon.utils.Util;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;

import java.util.ArrayList;
import java.util.List;

public class SuddenDeathUpgrade extends UpgradeTriggerHandler {
public SuddenDeathUpgrade() {
Expand All @@ -17,11 +23,23 @@ public void onTrigger(PlayerTriggerUpgradeEvent event) {
if (event.isCancelled())
return;

if (!MainConfig.sudden_death_dragons_enabled){
if (!MainConfig.sudden_death_dragons_enabled) {
event.getPlayer().sendMessage(ChatColor.RED + "WARNING: Sudden death dragons are disabled in the tweaks config! Report this issue to the server admin!");
return;
}

GenTiers.getState(event.getArena()).addDragonTeam(event.getTeam());
}

@Override
public String getName(CommandSender sender) {
return Message.buildByKey("Tweaks_SuddenDeath_Upgrade_Name").done(sender, false);
}

@Override
public List<String> getDescriptionLines(CommandSender sender) {
final String msg = Message.buildByKey("Tweaks_SuddenDeath_Upgrade_Description").done(sender, false);

return msg != null ? Util.getLines(msg) : new ArrayList<>();
}
}
9 changes: 9 additions & 0 deletions src/main/java/me/metallicgoat/tweaksaddon/utils/Util.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,12 @@
import de.marcely.bedwars.api.arena.Arena;
import de.marcely.bedwars.api.arena.picker.ArenaPickerAPI;
import de.marcely.bedwars.api.game.spawner.DropType;

import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;

import org.jetbrains.annotations.Nullable;

public class Util {
Expand Down Expand Up @@ -54,4 +58,9 @@ public static boolean isInteger(String s) {
return false;
}
}

public static List<String> getLines(String string) {
final String[] parts = string.split("\\\\n");
return Arrays.asList(parts);
}
}
5 changes: 5 additions & 0 deletions src/main/resources/messages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Tweaks_SuddenDeath_Upgrade_Name: "Sudden Death"
Tweaks_SuddenDeath_Upgrade_Description:
- "After all beds are destroyed"
- "a dragon will spawn in to"
- "help defend your team"

0 comments on commit feccead

Please sign in to comment.