chore: pushing everything
This commit is contained in:
parent
708d14d5d2
commit
d9ad5b330b
|
@ -1,10 +1,12 @@
|
|||
package world.bentobox.bentobox;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.apache.commons.lang.exception.ExceptionUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.server.ServerCommandEvent;
|
||||
|
@ -33,6 +35,7 @@ import world.bentobox.bentobox.listeners.JoinLeaveListener;
|
|||
import world.bentobox.bentobox.listeners.PanelListenerManager;
|
||||
import world.bentobox.bentobox.listeners.PrimaryIslandListener;
|
||||
import world.bentobox.bentobox.listeners.StandardSpawnProtectionListener;
|
||||
import world.bentobox.bentobox.listeners.flags.clicklisteners.CommandRankClickListener;
|
||||
import world.bentobox.bentobox.listeners.teleports.EntityTeleportListener;
|
||||
import world.bentobox.bentobox.listeners.teleports.PlayerTeleportListener;
|
||||
import world.bentobox.bentobox.managers.AddonsManager;
|
||||
|
@ -594,4 +597,16 @@ public class BentoBox extends JavaPlugin implements Listener {
|
|||
public boolean isShutdown() {
|
||||
return shutdown;
|
||||
}
|
||||
|
||||
public List<String> getCommands(World world) {
|
||||
List<String> result = new ArrayList<>();
|
||||
getCommandsManager().getCommands().values().stream()
|
||||
.filter(c -> c.getWorld() != null && c.getWorld().equals(world))
|
||||
.forEach(c -> result.addAll(CommandRankClickListener.getCmdRecursively("/", c)));
|
||||
if (result.size() > 49) {
|
||||
logError("Number of rank setting commands is too big for GUI");
|
||||
result.subList(49, result.size()).clear();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -107,7 +107,7 @@ public class AddonClassLoader extends URLClassLoader {
|
|||
throw new InvalidAddonDescriptionException("Missing 'authors' tag. At least one author must be listed in addon.yml");
|
||||
}
|
||||
|
||||
AddonDescription.Builder builder = new AddonDescription.Builder(
|
||||
AddonDescriptionBuilder builder = new AddonDescriptionBuilder(
|
||||
// Mandatory elements
|
||||
Objects.requireNonNull(data.getString("main")),
|
||||
Objects.requireNonNull(data.getString("name")),
|
||||
|
|
|
@ -45,7 +45,7 @@ public final class AddonDescription {
|
|||
*/
|
||||
private final @NonNull String apiVersion;
|
||||
|
||||
private AddonDescription(@NonNull Builder builder) {
|
||||
AddonDescription(@NonNull AddonDescriptionBuilder builder) {
|
||||
this.main = builder.main;
|
||||
this.name = builder.name;
|
||||
this.version = builder.version;
|
||||
|
@ -163,124 +163,124 @@ public final class AddonDescription {
|
|||
return permissions;
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
@NonNull
|
||||
private final String main;
|
||||
@NonNull
|
||||
private final String name;
|
||||
@NonNull
|
||||
private final String version;
|
||||
@NonNull
|
||||
private String description = "";
|
||||
@NonNull
|
||||
private List<String> authors = new ArrayList<>();
|
||||
@NonNull
|
||||
private List<String> dependencies = new ArrayList<>();
|
||||
@NonNull
|
||||
private List<String> softDependencies = new ArrayList<>();
|
||||
private boolean metrics = true;
|
||||
@NonNull
|
||||
private String repository = "";
|
||||
@NonNull
|
||||
private Material icon = Material.PAPER;
|
||||
@NonNull
|
||||
private String apiVersion = "1";
|
||||
@Nullable
|
||||
private ConfigurationSection permissions;
|
||||
|
||||
/**
|
||||
* @since 1.1
|
||||
*/
|
||||
public Builder(@NonNull String main, @NonNull String name, @NonNull String version) {
|
||||
this.main = main;
|
||||
this.name = name;
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public Builder description(@NonNull String description) {
|
||||
this.description = description;
|
||||
return this;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public Builder authors(@NonNull String... authors) {
|
||||
this.authors = Arrays.asList(authors);
|
||||
return this;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public Builder dependencies(@NonNull List<String> dependencies) {
|
||||
this.dependencies = dependencies;
|
||||
return this;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public Builder softDependencies(@NonNull List<String> softDependencies) {
|
||||
this.softDependencies = softDependencies;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 1.1
|
||||
*/
|
||||
@NonNull
|
||||
public Builder metrics(boolean metrics) {
|
||||
this.metrics = metrics;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the name of the GitHub repository.
|
||||
* Must follow the {@code Owner/Name} format.
|
||||
* @since 1.3.0
|
||||
*/
|
||||
@NonNull
|
||||
public Builder repository(@NonNull String repository) {
|
||||
this.repository = repository;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the icon representing the addon.
|
||||
* @param icon Material to set as the icon. Default is {@link Material#PAPER}.
|
||||
* @since 1.5.0
|
||||
*/
|
||||
@NonNull
|
||||
public Builder icon(@NonNull Material icon) {
|
||||
this.icon = icon;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the minimum BentoBox version this addon requires in order to work properly.
|
||||
* @param apiVersion the minimum BentoBox version this addon requires in order to work properly.
|
||||
* @since 1.11.0
|
||||
* @see AddonDescription#getApiVersion()
|
||||
*/
|
||||
@NonNull
|
||||
public Builder apiVersion(@NonNull String apiVersion) {
|
||||
this.apiVersion = apiVersion;
|
||||
return this;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public AddonDescription build() {
|
||||
return new AddonDescription(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the permission config section. Taken from the addon.yml
|
||||
* @param permissions - YAML configuration section
|
||||
* @return Builder
|
||||
* @since 1.13.0
|
||||
*/
|
||||
@NonNull
|
||||
public Builder permissions(ConfigurationSection permissions) {
|
||||
this.permissions = permissions;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
// public static class Builder {
|
||||
// @NonNull
|
||||
// private final String main;
|
||||
// @NonNull
|
||||
// private final String name;
|
||||
// @NonNull
|
||||
// private final String version;
|
||||
// @NonNull
|
||||
// private String description = "";
|
||||
// @NonNull
|
||||
// private List<String> authors = new ArrayList<>();
|
||||
// @NonNull
|
||||
// private List<String> dependencies = new ArrayList<>();
|
||||
// @NonNull
|
||||
// private List<String> softDependencies = new ArrayList<>();
|
||||
// private boolean metrics = true;
|
||||
// @NonNull
|
||||
// private String repository = "";
|
||||
// @NonNull
|
||||
// private Material icon = Material.PAPER;
|
||||
// @NonNull
|
||||
// private String apiVersion = "1";
|
||||
// @Nullable
|
||||
// private ConfigurationSection permissions;
|
||||
//
|
||||
// /**
|
||||
// * @since 1.1
|
||||
// */
|
||||
// public Builder(@NonNull String main, @NonNull String name, @NonNull String version) {
|
||||
// this.main = main;
|
||||
// this.name = name;
|
||||
// this.version = version;
|
||||
// }
|
||||
//
|
||||
// @NonNull
|
||||
// public Builder description(@NonNull String description) {
|
||||
// this.description = description;
|
||||
// return this;
|
||||
// }
|
||||
//
|
||||
// @NonNull
|
||||
// public Builder authors(@NonNull String... authors) {
|
||||
// this.authors = Arrays.asList(authors);
|
||||
// return this;
|
||||
// }
|
||||
//
|
||||
// @NonNull
|
||||
// public Builder dependencies(@NonNull List<String> dependencies) {
|
||||
// this.dependencies = dependencies;
|
||||
// return this;
|
||||
// }
|
||||
//
|
||||
// @NonNull
|
||||
// public Builder softDependencies(@NonNull List<String> softDependencies) {
|
||||
// this.softDependencies = softDependencies;
|
||||
// return this;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * @since 1.1
|
||||
// */
|
||||
// @NonNull
|
||||
// public Builder metrics(boolean metrics) {
|
||||
// this.metrics = metrics;
|
||||
// return this;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Sets the name of the GitHub repository.
|
||||
// * Must follow the {@code Owner/Name} format.
|
||||
// * @since 1.3.0
|
||||
// */
|
||||
// @NonNull
|
||||
// public Builder repository(@NonNull String repository) {
|
||||
// this.repository = repository;
|
||||
// return this;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Sets the icon representing the addon.
|
||||
// * @param icon Material to set as the icon. Default is {@link Material#PAPER}.
|
||||
// * @since 1.5.0
|
||||
// */
|
||||
// @NonNull
|
||||
// public Builder icon(@NonNull Material icon) {
|
||||
// this.icon = icon;
|
||||
// return this;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Sets the minimum BentoBox version this addon requires in order to work properly.
|
||||
// * @param apiVersion the minimum BentoBox version this addon requires in order to work properly.
|
||||
// * @since 1.11.0
|
||||
// * @see AddonDescription#getApiVersion()
|
||||
// */
|
||||
// @NonNull
|
||||
// public Builder apiVersion(@NonNull String apiVersion) {
|
||||
// this.apiVersion = apiVersion;
|
||||
// return this;
|
||||
// }
|
||||
//
|
||||
// @NonNull
|
||||
// public AddonDescription build() {
|
||||
// return new AddonDescription(this);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Sets the permission config section. Taken from the addon.yml
|
||||
// * @param permissions - YAML configuration section
|
||||
// * @return Builder
|
||||
// * @since 1.13.0
|
||||
// */
|
||||
// @NonNull
|
||||
// public Builder permissions(ConfigurationSection permissions) {
|
||||
// this.permissions = permissions;
|
||||
// return this;
|
||||
// }
|
||||
// }
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
|
|
|
@ -0,0 +1,129 @@
|
|||
package world.bentobox.bentobox.api.addons;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.eclipse.jdt.annotation.NonNull;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class AddonDescriptionBuilder {
|
||||
@NonNull
|
||||
final String main;
|
||||
@NonNull
|
||||
final String name;
|
||||
@NonNull
|
||||
final String version;
|
||||
@NonNull
|
||||
String description = "";
|
||||
@NonNull
|
||||
List<String> authors = new ArrayList<>();
|
||||
@NonNull
|
||||
List<String> dependencies = new ArrayList<>();
|
||||
@NonNull
|
||||
List<String> softDependencies = new ArrayList<>();
|
||||
boolean metrics = true;
|
||||
@NonNull
|
||||
String repository = "";
|
||||
@NonNull
|
||||
Material icon = Material.PAPER;
|
||||
@NonNull
|
||||
String apiVersion = "1";
|
||||
@Nullable
|
||||
ConfigurationSection permissions;
|
||||
|
||||
/**
|
||||
* @since 1.1
|
||||
*/
|
||||
public AddonDescriptionBuilder(@NonNull String main, @NonNull String name, @NonNull String version) {
|
||||
this.main = main;
|
||||
this.name = name;
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public AddonDescriptionBuilder description(@NonNull String description) {
|
||||
this.description = description;
|
||||
return this;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public AddonDescriptionBuilder authors(@NonNull String... authors) {
|
||||
this.authors = Arrays.asList(authors);
|
||||
return this;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public AddonDescriptionBuilder dependencies(@NonNull List<String> dependencies) {
|
||||
this.dependencies = dependencies;
|
||||
return this;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public AddonDescriptionBuilder softDependencies(@NonNull List<String> softDependencies) {
|
||||
this.softDependencies = softDependencies;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 1.1
|
||||
*/
|
||||
@NonNull
|
||||
public AddonDescriptionBuilder metrics(boolean metrics) {
|
||||
this.metrics = metrics;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the name of the GitHub repository.
|
||||
* Must follow the {@code Owner/Name} format.
|
||||
* @since 1.3.0
|
||||
*/
|
||||
@NonNull
|
||||
public AddonDescriptionBuilder repository(@NonNull String repository) {
|
||||
this.repository = repository;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the icon representing the addon.
|
||||
* @param icon Material to set as the icon. Default is {@link Material#PAPER}.
|
||||
* @since 1.5.0
|
||||
*/
|
||||
@NonNull
|
||||
public AddonDescriptionBuilder icon(@NonNull Material icon) {
|
||||
this.icon = icon;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the minimum BentoBox version this addon requires in order to work properly.
|
||||
* @param apiVersion the minimum BentoBox version this addon requires in order to work properly.
|
||||
* @since 1.11.0
|
||||
* @see AddonDescription#getApiVersion()
|
||||
*/
|
||||
@NonNull
|
||||
public AddonDescriptionBuilder apiVersion(@NonNull String apiVersion) {
|
||||
this.apiVersion = apiVersion;
|
||||
return this;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public AddonDescription build() {
|
||||
return new AddonDescription(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the permission config section. Taken from the addon.yml
|
||||
* @param permissions - YAML configuration section
|
||||
* @return Builder
|
||||
* @since 1.13.0
|
||||
*/
|
||||
@NonNull
|
||||
public AddonDescriptionBuilder permissions(ConfigurationSection permissions) {
|
||||
this.permissions = permissions;
|
||||
return this;
|
||||
}
|
||||
}
|
|
@ -77,7 +77,7 @@ public class CommandRankClickListener implements ClickHandler {
|
|||
if (panel.getName().equals(panelName)) {
|
||||
// This is a click on the panel
|
||||
// Slot relates to the command
|
||||
String c = getCommands(panel.getWorld().orElse(user.getWorld())).get(slot);
|
||||
String c = plugin.getCommands(panel.getWorld().orElse(user.getWorld())).get(slot);
|
||||
// Apply change to panel
|
||||
panel.getInventory().setItem(slot, getPanelItem(c, user, panel.getWorld().orElse(user.getWorld())).getItem());
|
||||
} else {
|
||||
|
@ -94,7 +94,7 @@ public class CommandRankClickListener implements ClickHandler {
|
|||
PanelBuilder pb = new PanelBuilder();
|
||||
pb.user(user).name(panelName).world(world);
|
||||
// Make panel items
|
||||
getCommands(world).forEach(c -> pb.item(getPanelItem(c, user, world)));
|
||||
plugin.getCommands(world).forEach(c -> pb.item(getPanelItem(c, user, world)));
|
||||
pb.build();
|
||||
|
||||
}
|
||||
|
@ -126,17 +126,7 @@ public class CommandRankClickListener implements ClickHandler {
|
|||
return pib.build();
|
||||
}
|
||||
|
||||
private List<String> getCommands(World world) {
|
||||
List<String> result = new ArrayList<>();
|
||||
plugin.getCommandsManager().getCommands().values().stream()
|
||||
.filter(c -> c.getWorld() != null && c.getWorld().equals(world))
|
||||
.forEach(c -> result.addAll(getCmdRecursively("/", c)));
|
||||
if (result.size() > 49) {
|
||||
plugin.logError("Number of rank setting commands is too big for GUI");
|
||||
result.subList(49, result.size()).clear();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Recursively traverses the command tree looking for any configurable rank command and returns a string list of commands
|
||||
|
@ -144,7 +134,7 @@ public class CommandRankClickListener implements ClickHandler {
|
|||
* @param cc - composite command
|
||||
* @return string list of commands
|
||||
*/
|
||||
private List<String> getCmdRecursively(String labels, CompositeCommand cc) {
|
||||
public static List<String> getCmdRecursively(String labels, CompositeCommand cc) {
|
||||
List<String> result = new ArrayList<>();
|
||||
String newLabel = labels + cc.getName();
|
||||
if (cc.isConfigurableRankCommand()) {
|
||||
|
|
|
@ -29,7 +29,7 @@ public class AddonDescriptionTest {
|
|||
@Before
|
||||
public void setUp() throws Exception {
|
||||
configSec = new YamlConfiguration();
|
||||
ad = new AddonDescription.Builder("main", "name", "version")
|
||||
ad = new AddonDescriptionBuilder("main", "name", "version")
|
||||
.apiVersion("api")
|
||||
.authors("tastybento", "poslovitch")
|
||||
.dependencies(List.of("dep1", "dep2"))
|
||||
|
|
|
@ -172,7 +172,7 @@ public class AddonTest {
|
|||
|
||||
@Test
|
||||
public void testGetDescription() {
|
||||
AddonDescription d = new AddonDescription.Builder("main", "name", "1.0").build();
|
||||
AddonDescription d = new AddonDescriptionBuilder("main", "name", "1.0").build();
|
||||
assertNull(test.getDescription());
|
||||
test.setDescription(d);
|
||||
assertEquals(d, test.getDescription());
|
||||
|
@ -262,7 +262,7 @@ public class AddonTest {
|
|||
|
||||
@Test
|
||||
public void testSetDescription() {
|
||||
AddonDescription desc = new AddonDescription.Builder("main", "name", "2.0").build();
|
||||
AddonDescription desc = new AddonDescriptionBuilder("main", "name", "2.0").build();
|
||||
test.setDescription(desc);
|
||||
assertEquals(desc, test.getDescription());
|
||||
}
|
||||
|
|
|
@ -42,6 +42,7 @@ import com.google.common.collect.ImmutableSet.Builder;
|
|||
import world.bentobox.bentobox.BentoBox;
|
||||
import world.bentobox.bentobox.Settings;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescription;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescriptionBuilder;
|
||||
import world.bentobox.bentobox.api.addons.GameModeAddon;
|
||||
import world.bentobox.bentobox.api.commands.CompositeCommand;
|
||||
import world.bentobox.bentobox.api.events.IslandBaseEvent;
|
||||
|
@ -181,7 +182,7 @@ public class IslandResetCommandTest {
|
|||
|
||||
// Addon
|
||||
GameModeAddon addon1 = mock(GameModeAddon.class);
|
||||
AddonDescription desc = new AddonDescription.Builder("main", "BSkyBlock", "1.0.0").build();
|
||||
AddonDescription desc = new AddonDescriptionBuilder("main", "BSkyBlock", "1.0.0").build();
|
||||
when(addon1.getDescription()).thenReturn(desc);
|
||||
when(ic.getAddon()).thenReturn(addon1);
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@ import world.bentobox.bentobox.BentoBox;
|
|||
import world.bentobox.bentobox.Settings;
|
||||
import world.bentobox.bentobox.api.addons.Addon;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescription;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescriptionBuilder;
|
||||
import world.bentobox.bentobox.api.commands.CompositeCommand;
|
||||
import world.bentobox.bentobox.api.localization.TextVariables;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
|
@ -128,7 +129,7 @@ public class IslandTeamKickCommandTest extends RanksManagerBeforeClassTest {
|
|||
Optional<CompositeCommand> optionalCommand = Optional.of(subCommand);
|
||||
when(ic.getSubCommand(Mockito.anyString())).thenReturn(optionalCommand);
|
||||
when(ic.getAddon()).thenReturn(addon);
|
||||
AddonDescription desc = new AddonDescription.Builder("main", "name", "version").build();
|
||||
AddonDescription desc = new AddonDescriptionBuilder("main", "name", "version").build();
|
||||
when(addon.getDescription()).thenReturn(desc);
|
||||
when(ic.getWorld()).thenReturn(world);
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ import world.bentobox.bentobox.BentoBox;
|
|||
import world.bentobox.bentobox.Settings;
|
||||
import world.bentobox.bentobox.api.addons.Addon;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescription;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescription.Builder;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescriptionBuilder;
|
||||
import world.bentobox.bentobox.api.addons.GameModeAddon;
|
||||
import world.bentobox.bentobox.api.metadata.MetaDataValue;
|
||||
import world.bentobox.bentobox.database.objects.Players;
|
||||
|
@ -335,7 +335,7 @@ public class UserTest {
|
|||
@Test
|
||||
public void testSendMessageOverrideWithAddon() {
|
||||
GameModeAddon addon = mock(GameModeAddon.class);
|
||||
AddonDescription desc = new AddonDescription.Builder("mock", "name", "1.0").build();
|
||||
AddonDescription desc = new AddonDescriptionBuilder("mock", "name", "1.0").build();
|
||||
when(addon.getDescription()).thenReturn(desc);
|
||||
// Set addon context
|
||||
user.setAddon(addon);
|
||||
|
@ -743,7 +743,7 @@ public class UserTest {
|
|||
World world = mock(World.class);
|
||||
|
||||
GameModeAddon gameAddon = mock(GameModeAddon.class);
|
||||
AddonDescription desc = new Builder("main", "gameAddon", "1.0").build();
|
||||
AddonDescription desc = new AddonDescriptionBuilder("main", "gameAddon", "1.0").build();
|
||||
when(gameAddon.getDescription()).thenReturn(desc);
|
||||
when(iwm.getAddon(any(World.class))).thenReturn(Optional.of(gameAddon));
|
||||
assertEquals("mock §atranslation §btastybento", p.getTranslation(world, "test.ref", "[test]", "tastybento"));
|
||||
|
@ -785,7 +785,7 @@ public class UserTest {
|
|||
World world = mock(World.class);
|
||||
|
||||
GameModeAddon gameAddon = mock(GameModeAddon.class);
|
||||
AddonDescription desc = new Builder("main", "gameAddon", "1.0").build();
|
||||
AddonDescription desc = new AddonDescriptionBuilder("main", "gameAddon", "1.0").build();
|
||||
when(gameAddon.getDescription()).thenReturn(desc);
|
||||
when(iwm.getAddon(any(World.class))).thenReturn(Optional.of(gameAddon));
|
||||
p.notify(world, TEST_TRANSLATION, "[test]", "tastybento");
|
||||
|
@ -927,7 +927,7 @@ public class UserTest {
|
|||
User.clearUsers();
|
||||
User p = User.getInstance(player);
|
||||
Addon addon = mock(Addon.class);
|
||||
when(addon.getDescription()).thenReturn(new Builder("main", "gameAddon", "1.0").build());
|
||||
when(addon.getDescription()).thenReturn(new AddonDescriptionBuilder("main", "gameAddon", "1.0").build());
|
||||
p.setAddon(addon);
|
||||
p.getTranslation(TEST_TRANSLATION);
|
||||
verify(addon).getDescription();
|
||||
|
|
|
@ -28,6 +28,7 @@ import world.bentobox.bentobox.BentoBox;
|
|||
import world.bentobox.bentobox.Settings;
|
||||
import world.bentobox.bentobox.api.addons.Addon;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescription;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescriptionBuilder;
|
||||
import world.bentobox.bentobox.api.commands.CompositeCommand;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
import world.bentobox.bentobox.listeners.PanelListenerManager;
|
||||
|
@ -71,10 +72,10 @@ public class BentoBoxReloadCommandTest {
|
|||
when(plugin.getAddonsManager()).thenReturn(am);
|
||||
// Addons
|
||||
Addon addon1 = mock(Addon.class);
|
||||
AddonDescription desc = new AddonDescription.Builder("main", "BSkyBlock", "1.0.0").build();
|
||||
AddonDescription desc = new AddonDescriptionBuilder("main", "BSkyBlock", "1.0.0").build();
|
||||
when(addon1.getDescription()).thenReturn(desc);
|
||||
Addon addon2 = mock(Addon.class);
|
||||
AddonDescription desc2 = new AddonDescription.Builder("main", "AcidIsland", "1.0.0").build();
|
||||
AddonDescription desc2 = new AddonDescriptionBuilder("main", "AcidIsland", "1.0.0").build();
|
||||
when(addon2.getDescription()).thenReturn(desc2);
|
||||
// Linking
|
||||
Optional<Addon> optionalAddon1 = Optional.of(addon1);
|
||||
|
|
|
@ -32,6 +32,7 @@ import me.clip.placeholderapi.PlaceholderAPIPlugin;
|
|||
import world.bentobox.bentobox.BentoBox;
|
||||
import world.bentobox.bentobox.api.addons.Addon;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescription;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescriptionBuilder;
|
||||
import world.bentobox.bentobox.api.addons.GameModeAddon;
|
||||
import world.bentobox.bentobox.api.placeholders.PlaceholderReplacer;
|
||||
import world.bentobox.bentobox.api.placeholders.placeholderapi.BentoBoxPlaceholderExpansion;
|
||||
|
@ -75,7 +76,7 @@ public class PlaceholderAPIHookTest {
|
|||
when(plugin.getIWM()).thenReturn(iwm);
|
||||
when(iwm.getAddon(any())).thenReturn(Optional.of(gma));
|
||||
// Desc
|
||||
AddonDescription desc = new AddonDescription.Builder("main", "name", "1.0").build();
|
||||
AddonDescription desc = new AddonDescriptionBuilder("main", "name", "1.0").build();
|
||||
when(addon.getDescription()).thenReturn(desc);
|
||||
when(gma.getDescription()).thenReturn(desc);
|
||||
// PlaceholderAPI
|
||||
|
|
|
@ -42,6 +42,7 @@ import world.bentobox.bentobox.Settings;
|
|||
import world.bentobox.bentobox.api.addons.Addon;
|
||||
import world.bentobox.bentobox.api.addons.Addon.State;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescription;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescriptionBuilder;
|
||||
import world.bentobox.bentobox.api.addons.GameModeAddon;
|
||||
import world.bentobox.bentobox.api.addons.exceptions.InvalidAddonDescriptionException;
|
||||
import world.bentobox.bentobox.api.configuration.WorldSettings;
|
||||
|
@ -255,7 +256,7 @@ public class AddonsManagerTest {
|
|||
@Test
|
||||
public void testIsAddonCompatibleWithBentoBoxSnapshotNoAPIVersion() {
|
||||
Addon addon = mock(Addon.class);
|
||||
AddonDescription addonDesc = new AddonDescription.Builder("main.class", "Addon-name", "1.0.1").build();
|
||||
AddonDescription addonDesc = new AddonDescriptionBuilder("main.class", "Addon-name", "1.0.1").build();
|
||||
when(addon.getDescription()).thenReturn(addonDesc);
|
||||
assertTrue(am.isAddonCompatibleWithBentoBox(addon, "1.0.1-SNAPSHOT-b1642"));
|
||||
}
|
||||
|
@ -266,7 +267,7 @@ public class AddonsManagerTest {
|
|||
@Test
|
||||
public void testIsAddonCompatibleWithBentoBoxReleaseAPIVersion() {
|
||||
Addon addon = mock(Addon.class);
|
||||
AddonDescription addonDesc = new AddonDescription.Builder("main.class", "Addon-name", "1.0.1").apiVersion("1.0.1").build();
|
||||
AddonDescription addonDesc = new AddonDescriptionBuilder("main.class", "Addon-name", "1.0.1").apiVersion("1.0.1").build();
|
||||
when(addon.getDescription()).thenReturn(addonDesc);
|
||||
assertTrue(am.isAddonCompatibleWithBentoBox(addon, "1.0.1"));
|
||||
}
|
||||
|
@ -277,7 +278,7 @@ public class AddonsManagerTest {
|
|||
@Test
|
||||
public void testIsAddonCompatibleWithBentoBoxSnapshotAPIVersion() {
|
||||
Addon addon = mock(Addon.class);
|
||||
AddonDescription addonDesc = new AddonDescription.Builder("main.class", "Addon-name", "1.0.1").apiVersion("1.0.1").build();
|
||||
AddonDescription addonDesc = new AddonDescriptionBuilder("main.class", "Addon-name", "1.0.1").apiVersion("1.0.1").build();
|
||||
when(addon.getDescription()).thenReturn(addonDesc);
|
||||
assertTrue(am.isAddonCompatibleWithBentoBox(addon, "1.0.1-SNAPSHOT-b1642"));
|
||||
}
|
||||
|
@ -288,7 +289,7 @@ public class AddonsManagerTest {
|
|||
@Test
|
||||
public void testIsAddonCompatibleWithBentoBoxReleaseNoAPIVersion() {
|
||||
Addon addon = mock(Addon.class);
|
||||
AddonDescription addonDesc = new AddonDescription.Builder("main.class", "Addon-name", "1.0.1").build();
|
||||
AddonDescription addonDesc = new AddonDescriptionBuilder("main.class", "Addon-name", "1.0.1").build();
|
||||
when(addon.getDescription()).thenReturn(addonDesc);
|
||||
assertTrue(am.isAddonCompatibleWithBentoBox(addon, "1.0.1"));
|
||||
}
|
||||
|
@ -299,7 +300,7 @@ public class AddonsManagerTest {
|
|||
@Test
|
||||
public void testIsAddonCompatibleWithBentoBoxSnapshotAPIVersionVariableDigits() {
|
||||
Addon addon = mock(Addon.class);
|
||||
AddonDescription addonDesc = new AddonDescription.Builder("main.class", "Addon-name", "1.0.1").apiVersion("1.2.1").build();
|
||||
AddonDescription addonDesc = new AddonDescriptionBuilder("main.class", "Addon-name", "1.0.1").apiVersion("1.2.1").build();
|
||||
when(addon.getDescription()).thenReturn(addonDesc);
|
||||
assertFalse(am.isAddonCompatibleWithBentoBox(addon, "1.2-SNAPSHOT-b1642"));
|
||||
}
|
||||
|
@ -310,7 +311,7 @@ public class AddonsManagerTest {
|
|||
@Test
|
||||
public void testIsAddonCompatibleWithBentoBoxOldSnapshot() {
|
||||
Addon addon = mock(Addon.class);
|
||||
AddonDescription addonDesc = new AddonDescription.Builder("main.class", "Addon-name", "1.0.0").apiVersion("1.11.1").build();
|
||||
AddonDescription addonDesc = new AddonDescriptionBuilder("main.class", "Addon-name", "1.0.0").apiVersion("1.11.1").build();
|
||||
when(addon.getDescription()).thenReturn(addonDesc);
|
||||
assertFalse(am.isAddonCompatibleWithBentoBox(addon, "1.0.1-SNAPSHOT-b1642"));
|
||||
}
|
||||
|
@ -321,7 +322,7 @@ public class AddonsManagerTest {
|
|||
@Test
|
||||
public void testIsAddonCompatibleWithBentoBoxOldRelease() {
|
||||
Addon addon = mock(Addon.class);
|
||||
AddonDescription addonDesc = new AddonDescription.Builder("main.class", "Addon-name", "1.0.0").apiVersion("1.11.1").build();
|
||||
AddonDescription addonDesc = new AddonDescriptionBuilder("main.class", "Addon-name", "1.0.0").apiVersion("1.11.1").build();
|
||||
when(addon.getDescription()).thenReturn(addonDesc);
|
||||
assertFalse(am.isAddonCompatibleWithBentoBox(addon, "1.0.1"));
|
||||
}
|
||||
|
@ -332,7 +333,7 @@ public class AddonsManagerTest {
|
|||
@Test
|
||||
public void testIsAddonCompatibleWithBentoBoxOldReleaseLong() {
|
||||
Addon addon = mock(Addon.class);
|
||||
AddonDescription addonDesc = new AddonDescription.Builder("main.class", "Addon-name", "1.0.0").apiVersion("1.11.1").build();
|
||||
AddonDescription addonDesc = new AddonDescriptionBuilder("main.class", "Addon-name", "1.0.0").apiVersion("1.11.1").build();
|
||||
when(addon.getDescription()).thenReturn(addonDesc);
|
||||
assertTrue(am.isAddonCompatibleWithBentoBox(addon, "1.11.1.11.1.1"));
|
||||
}
|
||||
|
@ -343,7 +344,7 @@ public class AddonsManagerTest {
|
|||
@Test
|
||||
public void testIsAddonCompatibleWithBentoBoxOldReleaseLongAPI() {
|
||||
Addon addon = mock(Addon.class);
|
||||
AddonDescription addonDesc = new AddonDescription.Builder("main.class", "Addon-name", "1.0.0").apiVersion("1.11.1.0.0.0.1").build();
|
||||
AddonDescription addonDesc = new AddonDescriptionBuilder("main.class", "Addon-name", "1.0.0").apiVersion("1.11.1.0.0.0.1").build();
|
||||
when(addon.getDescription()).thenReturn(addonDesc);
|
||||
assertFalse(am.isAddonCompatibleWithBentoBox(addon, "1.11.1"));
|
||||
}
|
||||
|
@ -355,7 +356,7 @@ public class AddonsManagerTest {
|
|||
@Test
|
||||
public void testIsAddonCompatibleWithBentoBoxNewRelease() {
|
||||
Addon addon = mock(Addon.class);
|
||||
AddonDescription addonDesc = new AddonDescription.Builder("main.class", "Addon-name", "1.0.0").apiVersion("1.13.1").build();
|
||||
AddonDescription addonDesc = new AddonDescriptionBuilder("main.class", "Addon-name", "1.0.0").apiVersion("1.13.1").build();
|
||||
when(addon.getDescription()).thenReturn(addonDesc);
|
||||
assertTrue(am.isAddonCompatibleWithBentoBox(addon, "1.14.0-SNAPSHOT-b1777"));
|
||||
}
|
||||
|
@ -366,7 +367,7 @@ public class AddonsManagerTest {
|
|||
@Test
|
||||
public void testSetPermsNoPerms() {
|
||||
Addon addon = mock(Addon.class);
|
||||
AddonDescription addonDesc = new AddonDescription.Builder("main.class", "Addon-name", "1.0.0").apiVersion("1.11.1.0.0.0.1").build();
|
||||
AddonDescription addonDesc = new AddonDescriptionBuilder("main.class", "Addon-name", "1.0.0").apiVersion("1.11.1.0.0.0.1").build();
|
||||
when(addon.getDescription()).thenReturn(addonDesc);
|
||||
assertFalse(am.setPerms(addon));
|
||||
}
|
||||
|
@ -383,7 +384,7 @@ public class AddonsManagerTest {
|
|||
YamlConfiguration config = new YamlConfiguration();
|
||||
config.loadFromString(perms);
|
||||
GameModeAddon addon = new MyGameMode();
|
||||
AddonDescription addonDesc = new AddonDescription.Builder("main.class", "mygame", "1.0.0").apiVersion("1.11.1.0.0.0.1")
|
||||
AddonDescription addonDesc = new AddonDescriptionBuilder("main.class", "mygame", "1.0.0").apiVersion("1.11.1.0.0.0.1")
|
||||
.permissions(config)
|
||||
.build();
|
||||
addon.setDescription(addonDesc);
|
||||
|
@ -405,7 +406,7 @@ public class AddonsManagerTest {
|
|||
YamlConfiguration config = new YamlConfiguration();
|
||||
config.loadFromString(perms);
|
||||
GameModeAddon addon = new MyGameMode();
|
||||
AddonDescription addonDesc = new AddonDescription.Builder("main.class", "mygame", "1.0.0").apiVersion("1.11.1.0.0.0.1")
|
||||
AddonDescription addonDesc = new AddonDescriptionBuilder("main.class", "mygame", "1.0.0").apiVersion("1.11.1.0.0.0.1")
|
||||
.permissions(config)
|
||||
.build();
|
||||
addon.setDescription(addonDesc);
|
||||
|
@ -446,7 +447,7 @@ public class AddonsManagerTest {
|
|||
YamlConfiguration config = new YamlConfiguration();
|
||||
config.loadFromString(perms);
|
||||
GameModeAddon addon = new MyGameMode();
|
||||
AddonDescription addonDesc = new AddonDescription.Builder("main.class", "mygame", "1.0.0").apiVersion("1.11.1.0.0.0.1")
|
||||
AddonDescription addonDesc = new AddonDescriptionBuilder("main.class", "mygame", "1.0.0").apiVersion("1.11.1.0.0.0.1")
|
||||
.permissions(config)
|
||||
.build();
|
||||
addon.setDescription(addonDesc);
|
||||
|
|
|
@ -48,6 +48,7 @@ import org.powermock.modules.junit4.PowerMockRunner;
|
|||
import world.bentobox.bentobox.BentoBox;
|
||||
import world.bentobox.bentobox.api.addons.Addon;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescription;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescriptionBuilder;
|
||||
import world.bentobox.bentobox.api.addons.GameModeAddon;
|
||||
import world.bentobox.bentobox.api.localization.TextVariables;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
|
@ -162,7 +163,7 @@ public class BlueprintsManagerTest {
|
|||
when(addon.getOverWorld()).thenReturn(world);
|
||||
when(addon.getPermissionPrefix()).thenReturn("bskyblock.");
|
||||
// Desc
|
||||
AddonDescription desc = new AddonDescription.Builder("main", "name", "1.0").build();
|
||||
AddonDescription desc = new AddonDescriptionBuilder("main", "name", "1.0").build();
|
||||
when(addon.getDescription()).thenReturn(desc);
|
||||
|
||||
}
|
||||
|
|
|
@ -38,6 +38,7 @@ import world.bentobox.bentobox.BentoBox;
|
|||
import world.bentobox.bentobox.Settings;
|
||||
import world.bentobox.bentobox.api.addons.Addon;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescription;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescriptionBuilder;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
import world.bentobox.bentobox.util.Util;
|
||||
|
||||
|
@ -289,7 +290,7 @@ public class LocalesManagerTest {
|
|||
AddonsManager am = mock(AddonsManager.class);
|
||||
List<Addon> none = new ArrayList<>();
|
||||
Addon addon = mock(Addon.class);
|
||||
AddonDescription desc = new AddonDescription.Builder("", "AcidIsland", "1.0").build();
|
||||
AddonDescription desc = new AddonDescriptionBuilder("", "AcidIsland", "1.0").build();
|
||||
when(addon.getDescription()).thenReturn(desc);
|
||||
// Create a tmp folder to jar up
|
||||
File localeDir = new File(LOCALE_FOLDER);
|
||||
|
|
|
@ -21,6 +21,7 @@ import org.powermock.modules.junit4.PowerMockRunner;
|
|||
|
||||
import world.bentobox.bentobox.BentoBox;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescription;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescriptionBuilder;
|
||||
import world.bentobox.bentobox.api.addons.GameModeAddon;
|
||||
import world.bentobox.bentobox.api.hooks.Hook;
|
||||
import world.bentobox.bentobox.hooks.placeholders.PlaceholderAPIHook;
|
||||
|
@ -48,7 +49,7 @@ public class PlaceholdersManagerTest {
|
|||
public void setUp() throws Exception {
|
||||
// Addon
|
||||
@NonNull
|
||||
AddonDescription desc = new AddonDescription.Builder("main", "bskyblock", "1.0").build();
|
||||
AddonDescription desc = new AddonDescriptionBuilder("main", "bskyblock", "1.0").build();
|
||||
when(addon.getDescription()).thenReturn(desc);
|
||||
|
||||
when(plugin.getPlaceholdersManager()).thenReturn(pm);
|
||||
|
|
|
@ -39,6 +39,7 @@ import org.powermock.reflect.Whitebox;
|
|||
|
||||
import world.bentobox.bentobox.BentoBox;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescription;
|
||||
import world.bentobox.bentobox.api.addons.AddonDescriptionBuilder;
|
||||
import world.bentobox.bentobox.api.addons.GameModeAddon;
|
||||
import world.bentobox.bentobox.api.localization.TextVariables;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
|
@ -92,7 +93,7 @@ public class DefaultPasteUtilTest {
|
|||
public void setUp() throws Exception {
|
||||
// Set up plugin
|
||||
Whitebox.setInternalState(BentoBox.class, "instance", plugin);
|
||||
AddonDescription desc = new AddonDescription.Builder("", "", "").build();
|
||||
AddonDescription desc = new AddonDescriptionBuilder("", "", "").build();
|
||||
when(addon.getDescription()).thenReturn(desc);
|
||||
when(plugin.getIWM()).thenReturn(iwm);
|
||||
when(iwm.getAddon(any())).thenReturn(Optional.of(addon));
|
||||
|
|
Loading…
Reference in New Issue