Fix new bundle creation error.

Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1561
This commit is contained in:
tastybento 2020-11-07 18:58:24 -08:00
parent 423a29de0e
commit 66a28b420a
3 changed files with 12 additions and 6 deletions

View File

@ -6,6 +6,8 @@ import org.bukkit.conversations.ConversationContext;
import org.bukkit.conversations.Prompt;
import org.bukkit.conversations.StringPrompt;
import org.bukkit.entity.Player;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import net.md_5.bungee.api.ChatColor;
import world.bentobox.bentobox.api.addons.GameModeAddon;
@ -17,15 +19,17 @@ import world.bentobox.bentobox.managers.BlueprintsManager;
public class NamePrompt extends StringPrompt {
private GameModeAddon addon;
@Nullable
private BlueprintBundle bb;
@Nullable
private Blueprint bp;
public NamePrompt(GameModeAddon addon, BlueprintBundle bb) {
public NamePrompt(@NonNull GameModeAddon addon, @Nullable BlueprintBundle bb) {
this.addon = addon;
this.bb = bb;
}
public NamePrompt(GameModeAddon addon, Blueprint bp, BlueprintBundle bb) {
public NamePrompt(@NonNull GameModeAddon addon, @Nullable Blueprint bp, @Nullable BlueprintBundle bb) {
this.addon = addon;
this.bp = bp;
this.bb = bb;
@ -46,7 +50,7 @@ public class NamePrompt extends StringPrompt {
context.getForWhom().sendRawMessage("Too long");
return this;
}
if (!bb.getUniqueId().equals(BlueprintsManager.DEFAULT_BUNDLE_NAME)) {
if (bb == null || !bb.getUniqueId().equals(BlueprintsManager.DEFAULT_BUNDLE_NAME)) {
// Make a uniqueid
StringBuilder uniqueId = new StringBuilder(ChatColor.stripColor(input).toLowerCase(Locale.ENGLISH).replace(" ", "_"));
// Check if this name is unique
@ -61,7 +65,7 @@ public class NamePrompt extends StringPrompt {
context.setSessionData("uniqueId", uniqueId.toString());
} else {
// Default stays as default
context.setSessionData("uniqueId", bb.getUniqueId());
context.setSessionData("uniqueId", bb.getUniqueId());
}
context.setSessionData("name", input);
return new NameSuccessPrompt(addon, bb, bp);

View File

@ -5,6 +5,8 @@ import org.bukkit.conversations.ConversationContext;
import org.bukkit.conversations.MessagePrompt;
import org.bukkit.conversations.Prompt;
import org.bukkit.entity.Player;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import world.bentobox.bentobox.BentoBox;
import world.bentobox.bentobox.api.addons.GameModeAddon;
@ -25,7 +27,7 @@ public class NameSuccessPrompt extends MessagePrompt {
* @param bb - Blueprint Bundle
* @param bp - blueprint
*/
public NameSuccessPrompt(GameModeAddon addon, BlueprintBundle bb, Blueprint bp) {
public NameSuccessPrompt(@NonNull GameModeAddon addon, @Nullable BlueprintBundle bb, @Nullable Blueprint bp) {
this.addon = addon;
this.bb = bb;
this.bp = bp;

View File

@ -115,7 +115,7 @@ public class IslandCache {
grids.putIfAbsent(island.getWorld(), new IslandGrid());
return grids.get(island.getWorld()).removeFromGrid(island);
}
/**
* Delete island from the cache by ID. Does not remove blocks.
* @param uniqueId - island unique ID