mirror of
https://gitlab.com/SamB440/rpgregions-2.git
synced 2025-12-28 03:09:14 +00:00
Add discovery title and sound
This commit is contained in:
@@ -11,6 +11,7 @@ import net.islandearth.rpgregions.managers.RPGRegionsManagers;
|
||||
import net.islandearth.rpgregions.translation.Translations;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
@@ -55,12 +56,17 @@ public final class RPGRegions extends JavaPlugin implements RPGRegionsAPI, Langu
|
||||
String eol = System.getProperty("line.separator");
|
||||
header = "This is the config for RPGRegions." + eol;
|
||||
config.options().header(header);
|
||||
config.addDefault("storage", "file");
|
||||
config.addDefault("sql.host", "localhost");
|
||||
config.addDefault("sql.port", 3306);
|
||||
config.addDefault("sql.db", "RPGRegions");
|
||||
config.addDefault("sql.user", "user");
|
||||
config.addDefault("sql.pass", "pass");
|
||||
config.addDefault("settings.storage.mode", "file");
|
||||
config.addDefault("settings.sql.host", "localhost");
|
||||
config.addDefault("settings.sql.port", 3306);
|
||||
config.addDefault("settings.sql.db", "RPGRegions");
|
||||
config.addDefault("settings.sql.user", "user");
|
||||
config.addDefault("settings.sql.pass", "pass");
|
||||
config.addDefault("settings.server.discoveries.discovered.title.fadein", 20);
|
||||
config.addDefault("settings.server.discoveries.discovered.title.stay", 60);
|
||||
config.addDefault("settings.server.discoveries.discovered.title.fadeout", 20);
|
||||
config.addDefault("settings.server.discoveries.discovered.sound.name", Sound.UI_TOAST_CHALLENGE_COMPLETE.toString());
|
||||
config.addDefault("settings.server.discoveries.discovered.sound.pitch", 1);
|
||||
config.options().copyDefaults(true);
|
||||
saveConfig();
|
||||
}
|
||||
|
||||
@@ -12,19 +12,21 @@ public class RegionDiscoverEvent extends Event {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
private final Player player;
|
||||
private final Set<ProtectedRegion> regions;
|
||||
private final String region;
|
||||
|
||||
public RegionDiscoverEvent(Player player, Set<ProtectedRegion> regions) {
|
||||
public RegionDiscoverEvent(Player player, String region) {
|
||||
this.player = player;
|
||||
this.regions = regions;
|
||||
this.region = region;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
||||
public Set<ProtectedRegion> getRegion() {
|
||||
return regions;
|
||||
@NotNull
|
||||
public String getRegion() {
|
||||
return region;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -19,10 +19,12 @@ public class RegionsEnterEvent extends Event {
|
||||
this.regions = regions;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Set<ProtectedRegion> getRegions() {
|
||||
return regions;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,9 @@ import net.islandearth.rpgregions.api.event.RegionDiscoverEvent;
|
||||
import net.islandearth.rpgregions.api.event.RegionsEnterEvent;
|
||||
import net.islandearth.rpgregions.managers.data.region.Discovery;
|
||||
import net.islandearth.rpgregions.managers.data.region.WorldDiscovery;
|
||||
import net.islandearth.rpgregions.translation.Translations;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
@@ -41,7 +43,7 @@ public class RegionListener implements Listener {
|
||||
|
||||
if (!has) {
|
||||
account.addDiscovery(new WorldDiscovery(Date.from(Instant.now()), region));
|
||||
Bukkit.getPluginManager().callEvent(new RegionDiscoverEvent(player, ree.getRegions()));
|
||||
Bukkit.getPluginManager().callEvent(new RegionDiscoverEvent(player, region));
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -49,5 +51,21 @@ public class RegionListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onDiscover(RegionDiscoverEvent rde) {
|
||||
Player player = rde.getPlayer();
|
||||
String region = rde.getRegion();
|
||||
player.sendTitle(
|
||||
Translations.DISCOVERED_TITLE.get(player, region),
|
||||
Translations.DISCOVERED_SUBTITLE.get(player, region),
|
||||
plugin.getConfig().getInt("settings.server.discoveries.discovered.title.fadein"),
|
||||
plugin.getConfig().getInt("settings.server.discoveries.discovered.title.stay"),
|
||||
plugin.getConfig().getInt("settings.server.discoveries.discovered.title.fadeout")
|
||||
);
|
||||
|
||||
player.playSound(
|
||||
player.getLocation(),
|
||||
Sound.valueOf(plugin.getConfig().getString("settings.server.discoveries.discovered.sound.name")),
|
||||
1,
|
||||
plugin.getConfig().getInt("settings.server.discoveries.discovered.sound.pitch")
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ public class RPGRegionsManagers {
|
||||
private IntegrationManager integrationManager;
|
||||
|
||||
public RPGRegionsManagers(RPGRegions plugin) {
|
||||
StorageType.valueOf(plugin.getConfig().getString("storage").toUpperCase())
|
||||
StorageType.valueOf(plugin.getConfig().getString("settings.storage.mode").toUpperCase())
|
||||
.get()
|
||||
.ifPresent(storageManager1 -> storageManager = storageManager1);
|
||||
if (storageManager == null) throw new IllegalStateException("Could not find StorageManager!");
|
||||
|
||||
@@ -12,7 +12,8 @@ import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
public enum Translations {
|
||||
DISCOVERED("Region discovered!");
|
||||
DISCOVERED_TITLE("&d%0 discovered!"),
|
||||
DISCOVERED_SUBTITLE("&fKeep exploring to discover more!");
|
||||
|
||||
private final String defaultValue;
|
||||
|
||||
@@ -68,6 +69,17 @@ public enum Translations {
|
||||
RPGRegions plugin = JavaPlugin.getPlugin(RPGRegions.class);
|
||||
return plugin.getTranslator().getTranslationFor(player, this.getPath());
|
||||
}
|
||||
|
||||
public String get(Player player, String... values) {
|
||||
RPGRegions plugin = JavaPlugin.getPlugin(RPGRegions.class);
|
||||
String message = plugin.getTranslator().getTranslationFor(player, this.getPath());
|
||||
for (int i = 0; i < 10; i++) {
|
||||
if (values.length > i) message = message.replaceAll("%" + i, values[i]);
|
||||
else break;
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
public List<String> getList(Player player) {
|
||||
RPGRegions plugin = JavaPlugin.getPlugin(RPGRegions.class);
|
||||
|
||||
Reference in New Issue
Block a user