Fix new bundle creation error.
Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1561
This commit is contained in:
parent
423a29de0e
commit
66a28b420a
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue