mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-06-25 02:04:44 +02:00
Add NullEconHandler to avoid verbose null checks
This commit is contained in:

committed by
Alexander Söderberg

parent
a5dea9e7f6
commit
551d1d9f1a
@ -337,9 +337,7 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
|
||||
TaskManager.runTask(() -> {
|
||||
this.getPermissionHandler().initialize();
|
||||
final EconHandler econHandler = getInjector().getInstance(EconHandler.class);
|
||||
if (econHandler != null) {
|
||||
econHandler.init();
|
||||
}
|
||||
econHandler.init();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -107,14 +107,14 @@ public class BukkitModule extends AbstractModule {
|
||||
install(new FactoryModuleBuilder().build(ChunkCoordinatorBuilderFactory.class));
|
||||
}
|
||||
|
||||
@Provides @Singleton @Nullable EconHandler provideEconHandler() {
|
||||
@Provides @Singleton @Nonnull EconHandler provideEconHandler() {
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("Vault")) {
|
||||
try {
|
||||
return new BukkitEconHandler();
|
||||
} catch (final Exception ignored) {
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return EconHandler.nullEconHandler();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -36,7 +36,6 @@ import com.plotsquared.core.permissions.PermissionHandler;
|
||||
import com.plotsquared.core.player.PlotPlayer;
|
||||
import com.plotsquared.core.plot.PlotWeather;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import com.plotsquared.core.util.EconHandler;
|
||||
import com.plotsquared.core.util.EventDispatcher;
|
||||
import com.plotsquared.core.util.MathMan;
|
||||
import com.sk89q.worldedit.bukkit.BukkitAdapter;
|
||||
@ -58,7 +57,6 @@ import org.bukkit.plugin.RegisteredListener;
|
||||
import javax.annotation.Nonnegative;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.Arrays;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
@ -81,19 +79,18 @@ public class BukkitPlayer extends PlotPlayer<Player> {
|
||||
* @param plotAreaManager PlotAreaManager instance
|
||||
* @param eventDispatcher EventDispatcher instance
|
||||
* @param player Bukkit player instance
|
||||
* @param econHandler EconHandler instance
|
||||
* @param permissionHandler PermissionHandler instance
|
||||
*/
|
||||
public BukkitPlayer(@Nonnull final PlotAreaManager plotAreaManager, @Nonnull final EventDispatcher eventDispatcher,
|
||||
@Nonnull final Player player, @Nullable final EconHandler econHandler, @Nonnull final PermissionHandler permissionHandler) {
|
||||
this(plotAreaManager, eventDispatcher, player, false, econHandler, permissionHandler);
|
||||
@Nonnull final Player player, @Nonnull final PermissionHandler permissionHandler) {
|
||||
this(plotAreaManager, eventDispatcher, player, false, permissionHandler);
|
||||
}
|
||||
|
||||
public BukkitPlayer(@Nonnull final PlotAreaManager plotAreaManager, @Nonnull final
|
||||
EventDispatcher eventDispatcher, @Nonnull final Player player,
|
||||
final boolean realPlayer, @Nullable final EconHandler econHandler,
|
||||
@Nonnull final PermissionHandler permissionHandler) {
|
||||
super(plotAreaManager, eventDispatcher, econHandler, permissionHandler);
|
||||
EventDispatcher eventDispatcher, @Nonnull final Player player,
|
||||
final boolean realPlayer,
|
||||
@Nonnull final PermissionHandler permissionHandler) {
|
||||
super(plotAreaManager, eventDispatcher, permissionHandler);
|
||||
this.player = player;
|
||||
this.setupPermissionProfile();
|
||||
if (realPlayer) {
|
||||
|
@ -29,7 +29,6 @@ import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
import com.plotsquared.core.permissions.PermissionHandler;
|
||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||
import com.plotsquared.core.util.EconHandler;
|
||||
import com.plotsquared.core.util.EventDispatcher;
|
||||
import com.plotsquared.core.util.PlayerManager;
|
||||
import org.bukkit.Bukkit;
|
||||
@ -46,16 +45,13 @@ import java.util.UUID;
|
||||
|
||||
private final PlotAreaManager plotAreaManager;
|
||||
private final EventDispatcher eventDispatcher;
|
||||
private final EconHandler econHandler;
|
||||
private final PermissionHandler permissionHandler;
|
||||
|
||||
@Inject public BukkitPlayerManager(@Nonnull final PlotAreaManager plotAreaManager,
|
||||
@Nonnull final EventDispatcher eventDispatcher,
|
||||
@Nullable final EconHandler econHandler,
|
||||
@Nonnull final PermissionHandler permissionHandler) {
|
||||
this.plotAreaManager = plotAreaManager;
|
||||
this.eventDispatcher = eventDispatcher;
|
||||
this.econHandler = econHandler;
|
||||
this.permissionHandler = permissionHandler;
|
||||
}
|
||||
|
||||
@ -66,7 +62,7 @@ import java.util.UUID;
|
||||
try {
|
||||
return getPlayer(object.getUniqueId());
|
||||
} catch (final NoSuchPlayerException exception) {
|
||||
return new BukkitPlayer(this.plotAreaManager, this.eventDispatcher, object, false, this.econHandler, this.permissionHandler);
|
||||
return new BukkitPlayer(this.plotAreaManager, this.eventDispatcher, object, false, this.permissionHandler);
|
||||
}
|
||||
}
|
||||
|
||||
@ -75,7 +71,7 @@ import java.util.UUID;
|
||||
if (player == null || !player.isOnline()) {
|
||||
throw new NoSuchPlayerException(uuid);
|
||||
}
|
||||
return new BukkitPlayer(this.plotAreaManager, this.eventDispatcher, player, this.econHandler, this.permissionHandler);
|
||||
return new BukkitPlayer(this.plotAreaManager, this.eventDispatcher, player, this.permissionHandler);
|
||||
}
|
||||
|
||||
@Nullable @Override public BukkitOfflinePlayer getOfflinePlayer(@Nullable final UUID uuid) {
|
||||
|
@ -30,13 +30,13 @@ import com.plotsquared.bukkit.player.BukkitOfflinePlayer;
|
||||
import com.plotsquared.bukkit.player.BukkitPlayer;
|
||||
import com.plotsquared.core.player.OfflinePlotPlayer;
|
||||
import com.plotsquared.core.player.PlotPlayer;
|
||||
import com.plotsquared.core.plot.PlotArea;
|
||||
import com.plotsquared.core.util.EconHandler;
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@Singleton public class BukkitEconHandler extends EconHandler {
|
||||
|
||||
private Economy econ;
|
||||
@ -62,25 +62,39 @@ import javax.annotation.Nullable;
|
||||
@Override public double getMoney(PlotPlayer<?> player) {
|
||||
double bal = super.getMoney(player);
|
||||
if (Double.isNaN(bal)) {
|
||||
return this.econ.getBalance(((BukkitPlayer) player).player);
|
||||
return this.econ.getBalance(getBukkitOfflinePlayer(player));
|
||||
}
|
||||
return bal;
|
||||
}
|
||||
|
||||
@Override public void withdrawMoney(PlotPlayer<?> player, double amount) {
|
||||
this.econ.withdrawPlayer(((BukkitPlayer) player).player, amount);
|
||||
this.econ.withdrawPlayer(getBukkitOfflinePlayer(player), amount);
|
||||
}
|
||||
|
||||
@Override public void depositMoney(PlotPlayer<?> player, double amount) {
|
||||
this.econ.depositPlayer(((BukkitPlayer) player).player, amount);
|
||||
this.econ.depositPlayer(getBukkitOfflinePlayer(player), amount);
|
||||
}
|
||||
|
||||
@Override public void depositMoney(OfflinePlotPlayer player, double amount) {
|
||||
this.econ.depositPlayer(((BukkitOfflinePlayer) player).player, amount);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEnabled(PlotArea plotArea) {
|
||||
return plotArea.useEconomy();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSupported() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override public double getBalance(PlotPlayer<?> player) {
|
||||
return this.econ.getBalance(player.getName());
|
||||
return this.econ.getBalance(getBukkitOfflinePlayer(player));
|
||||
}
|
||||
|
||||
private static OfflinePlayer getBukkitOfflinePlayer(PlotPlayer<?> plotPlayer) {
|
||||
return ((BukkitPlayer) plotPlayer).player;
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user