- Player Statistics - Access player fishing statistics and data
- Tournament Management - Start, stop, and manage tournaments
- Event Management - Control fishing events and multipliers
- Fish Data Access - Retrieve fish and rarity information
- Player Data Manipulation - Modify player levels, XP, and fish scales
- Custom Integration - Add custom fish, rarities, and enchants
- Event Listening - Listen to fishing events and actions
¶ Getting Plugin Instance and Managers
// Get the main plugin instance
MrUltimateFishing plugin = (MrUltimateFishing) Bukkit.getPluginManager().getPlugin("MrUltimateFishing");
// Access various managers
TournamentManager tournamentManager = plugin.getTournamentManager();
EventManager eventManager = plugin.getEventManager();
FishingManager fishingManager = plugin.getFishingManager();
PlayerDataManager playerDataManager = plugin.getPlayerDataManager();
ConfigManager configManager = plugin.getConfigManager();
// Get player statistics
PlayerDataManager.PlayerData data = playerDataManager.getPlayerData(player);
// Get specific player stats
int level = playerDataManager.getLevel(player);
int xp = playerDataManager.getXP(player);
int fishScales = playerDataManager.getFishScale(player);
int upgradePoints = playerDataManager.getUpgradePoints(player);
// Modify player data
playerDataManager.addXP(player, 100);
playerDataManager.addLevel(player, 2);
playerDataManager.addFishScale(player, 50);
playerDataManager.addUpgradePoints(player, 10);
// Remove resources (returns boolean for success)
boolean success = playerDataManager.removeFishScale(player, 25);
boolean success = playerDataManager.removeUpgradePoints(player, 5);
// Start specific or random tournaments
tournamentManager.startTournament(1);
tournamentManager.startRandomTournament();
// End active tournament
tournamentManager.endTournament();
// Check tournament status
boolean isActive = tournamentManager.isTournamentActive();
// Get available tournaments
List<String> ids = tournamentManager.getAvailableTournamentIds();
// Start specific or random events
eventManager.startEvent(1);
eventManager.startRandomEvent();
// End active event
eventManager.endEvent();
// Check event status
boolean isActive = eventManager.isEventActive();
// Get event multipliers
EventManager.ActiveEvent activeEvent = eventManager.getActiveEvent();
double sellBoost = fishingManager.getSellBoostMultiplier();
double fishScaleBoost = fishingManager.getFishScaleBoostMultiplier();
double gutBoost = fishingManager.getGutBoostMultiplier();
double xpBoost = fishingManager.getXpLevelBoostMultiplier();
// Add custom fish programmatically
ConfigurationSection fishConfig = new MemoryConfiguration();
fishConfig.set("Fish.name", "My Custom Fish");
fishConfig.set("Fish.rarity", "LEGENDARY");
fishConfig.set("Fish.material", "COD");
// ... set other properties
configManager.addFish("my_custom_fish", fishConfig);
// Listen to fish catch events
@EventHandler
public void onFishCatch(FishCatchEvent event) {
Player player = event.getPlayer();
String fishId = event.getFishId();
String rarity = event.getRarity();
// Do something when a player catches a fish
player.sendMessage("You caught a " + fishId + "!");
}
// Listen to tournament events
@EventHandler
public void onTournamentStart(TournamentStartEvent event) {
int tournamentId = event.getTournamentId();
TournamentManager.TournamentType type = event.getType();
// Do something when a tournament starts
Bukkit.broadcastMessage("Tournament " + tournamentId + " has started!");
}
<repository>
<id>mrneznamy-releases</id>
<url>https://depency.mrneznamy.eu/repository/maven-releases/</url>
</repository>
<dependency>
<groupId>eu.mrneznamy</groupId>
<artifactId>MrUltimateFishing</artifactId>
<version>1.0.4</version>
<scope>provided</scope>
</dependency>