From bde226e7cdceefd244d415d0a0f10ca80aff9185 Mon Sep 17 00:00:00 2001 From: Jesse Boyd Date: Fri, 5 Aug 2016 10:31:16 +1000 Subject: [PATCH] Fix NPE --- core/src/main/java/com/boydti/fawe/Fawe.java | 3 +++ .../main/java/com/boydti/fawe/object/FawePlayer.java | 2 +- .../com/sk89q/worldedit/command/HistoryCommands.java | 10 ++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/com/boydti/fawe/Fawe.java b/core/src/main/java/com/boydti/fawe/Fawe.java index deb36d46..c4622e03 100644 --- a/core/src/main/java/com/boydti/fawe/Fawe.java +++ b/core/src/main/java/com/boydti/fawe/Fawe.java @@ -261,6 +261,9 @@ public class Fawe { private WorldEdit worldedit; public WorldEdit getWorldEdit() { + if (this.worldedit == null) { + return worldedit = WorldEdit.getInstance(); + } return this.worldedit; } diff --git a/core/src/main/java/com/boydti/fawe/object/FawePlayer.java b/core/src/main/java/com/boydti/fawe/object/FawePlayer.java index eda6af18..982d2e4d 100644 --- a/core/src/main/java/com/boydti/fawe/object/FawePlayer.java +++ b/core/src/main/java/com/boydti/fawe/object/FawePlayer.java @@ -302,7 +302,7 @@ public abstract class FawePlayer { * @return */ public LocalSession getSession() { - return (this.session != null || this.getPlayer() == null) ? this.session : (session = Fawe.get().getWorldEdit().getSession(this.getPlayer())); + return (this.session != null || this.getPlayer() == null || Fawe.get() == null) ? this.session : (session = Fawe.get().getWorldEdit().getSession(this.getPlayer())); } /** diff --git a/core/src/main/java/com/sk89q/worldedit/command/HistoryCommands.java b/core/src/main/java/com/sk89q/worldedit/command/HistoryCommands.java index 983a2ab3..4517687a 100644 --- a/core/src/main/java/com/sk89q/worldedit/command/HistoryCommands.java +++ b/core/src/main/java/com/sk89q/worldedit/command/HistoryCommands.java @@ -21,6 +21,9 @@ package com.sk89q.worldedit.command; import com.boydti.fawe.Fawe; import com.boydti.fawe.config.BBC; +import com.boydti.fawe.config.Settings; +import com.boydti.fawe.database.DBHandler; +import com.boydti.fawe.database.RollbackDatabase; import com.boydti.fawe.util.MainUtil; import com.sk89q.minecraft.util.commands.Command; import com.sk89q.minecraft.util.commands.CommandContext; @@ -64,6 +67,10 @@ public class HistoryCommands { ) @CommandPermissions("worldedit.history.undo") public void faweRollback(Player player, LocalSession session, String user, int radius, String time) throws WorldEditException { + if (!Settings.HISTORY.USE_DATABASE) { + BBC.SETTING_DISABLE.send(player, "history.use-database"); + return; + } UUID other = Fawe.imp().getUUID(user); if (other == null) { BBC.PLAYER_NOT_FOUND.send(player, user); @@ -79,6 +86,9 @@ public class HistoryCommands { WorldVector origin = player.getPosition(); Vector bot = origin.subtract(radius, radius, radius); Vector top = origin.add(radius, radius, radius); + RollbackDatabase database = DBHandler.IMP.getDatabase(Fawe.imp().getWorldName(world)); + + // TODO }