9
0
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:
Sam
2019-12-30 12:27:35 +00:00
parent af145252ed
commit fa6804b45d
6 changed files with 54 additions and 14 deletions

View File

@@ -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();
}

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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")
);
}
}

View File

@@ -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!");

View File

@@ -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);