bentobox/src/main/java/world/bentobox/bentobox/blueprints/dataobjects/BlueprintEntity.java

305 lines
7.0 KiB
Java
Raw Normal View History

Implemeted Blueprint bundles and blueprints (#672) * A prototype for Blueprint bundles and blueprints This stores blueprints inside bundles. Each bundle can have up to 3 blueprints defines by the World.Environment. This is not a finished manager. It just handles all the saving and loading side of things. I thought this would help you so you can then concentrate on the UI. * WIP: Copy blocks to Blueprint done. * WIP Pasting done. * WIP: Added BlueprintsManager to ultimately replace SchemsManager. * Moved blueprint suffix and changed to .blu * Fixed unit test. * Now tested and working. Integrated with new island and resetting island. If there are no blueprint bundles or blueprints then a default bedrock set will be made and put in the game mode addon's blueprints folder. Still to do: enable schems to be loaded and pasted for legacy support. Add blueprints and a bundle to GameModeAddons like BSkyBlock. * Renamed most of the classes * Cleaned up clipboard and paster. * Further cleanup on blueprint clipboard and paster. * Merged blueprint classes into one package. * Put Blueprint data objects in their own package. Isolated schems classes for later removal. * Renamed admin command classes and changed locale files. * More clean up to remove schems * Schem to blueprints converter done. Converts schems to blueprint bundles and sets up a default set. Tested the happy-path. Need to do more testing on edge cases. * Added basic UI for development. Fixed bug with schem conversion. * Adds permissions into the blueprints. Fixes tests, cleans up some naming * Added IslandCreationPanel and created BlueprintManagementPanel * Fixed JSONDatabaseHandler's constructor being public * Made the Blueprints button in ManagementPanel open the Blueprint management panel * Fixed tests and ignored one (NPE)
2019-05-15 20:16:41 +02:00
package world.bentobox.bentobox.blueprints.dataobjects;
import java.util.Map;
import org.bukkit.DyeColor;
2019-09-26 17:52:57 +02:00
import org.bukkit.entity.AbstractHorse;
import org.bukkit.entity.Ageable;
import org.bukkit.entity.ChestedHorse;
import org.bukkit.entity.Entity;
Implemeted Blueprint bundles and blueprints (#672) * A prototype for Blueprint bundles and blueprints This stores blueprints inside bundles. Each bundle can have up to 3 blueprints defines by the World.Environment. This is not a finished manager. It just handles all the saving and loading side of things. I thought this would help you so you can then concentrate on the UI. * WIP: Copy blocks to Blueprint done. * WIP Pasting done. * WIP: Added BlueprintsManager to ultimately replace SchemsManager. * Moved blueprint suffix and changed to .blu * Fixed unit test. * Now tested and working. Integrated with new island and resetting island. If there are no blueprint bundles or blueprints then a default bedrock set will be made and put in the game mode addon's blueprints folder. Still to do: enable schems to be loaded and pasted for legacy support. Add blueprints and a bundle to GameModeAddons like BSkyBlock. * Renamed most of the classes * Cleaned up clipboard and paster. * Further cleanup on blueprint clipboard and paster. * Merged blueprint classes into one package. * Put Blueprint data objects in their own package. Isolated schems classes for later removal. * Renamed admin command classes and changed locale files. * More clean up to remove schems * Schem to blueprints converter done. Converts schems to blueprint bundles and sets up a default set. Tested the happy-path. Need to do more testing on edge cases. * Added basic UI for development. Fixed bug with schem conversion. * Adds permissions into the blueprints. Fixes tests, cleans up some naming * Added IslandCreationPanel and created BlueprintManagementPanel * Fixed JSONDatabaseHandler's constructor being public * Made the Blueprints button in ManagementPanel open the Blueprint management panel * Fixed tests and ignored one (NPE)
2019-05-15 20:16:41 +02:00
import org.bukkit.entity.EntityType;
2019-09-26 17:52:57 +02:00
import org.bukkit.entity.Horse;
Implemeted Blueprint bundles and blueprints (#672) * A prototype for Blueprint bundles and blueprints This stores blueprints inside bundles. Each bundle can have up to 3 blueprints defines by the World.Environment. This is not a finished manager. It just handles all the saving and loading side of things. I thought this would help you so you can then concentrate on the UI. * WIP: Copy blocks to Blueprint done. * WIP Pasting done. * WIP: Added BlueprintsManager to ultimately replace SchemsManager. * Moved blueprint suffix and changed to .blu * Fixed unit test. * Now tested and working. Integrated with new island and resetting island. If there are no blueprint bundles or blueprints then a default bedrock set will be made and put in the game mode addon's blueprints folder. Still to do: enable schems to be loaded and pasted for legacy support. Add blueprints and a bundle to GameModeAddons like BSkyBlock. * Renamed most of the classes * Cleaned up clipboard and paster. * Further cleanup on blueprint clipboard and paster. * Merged blueprint classes into one package. * Put Blueprint data objects in their own package. Isolated schems classes for later removal. * Renamed admin command classes and changed locale files. * More clean up to remove schems * Schem to blueprints converter done. Converts schems to blueprint bundles and sets up a default set. Tested the happy-path. Need to do more testing on edge cases. * Added basic UI for development. Fixed bug with schem conversion. * Adds permissions into the blueprints. Fixes tests, cleans up some naming * Added IslandCreationPanel and created BlueprintManagementPanel * Fixed JSONDatabaseHandler's constructor being public * Made the Blueprints button in ManagementPanel open the Blueprint management panel * Fixed tests and ignored one (NPE)
2019-05-15 20:16:41 +02:00
import org.bukkit.entity.Horse.Style;
import org.bukkit.entity.Tameable;
import org.bukkit.entity.Villager;
import org.bukkit.entity.Villager.Profession;
Implemeted Blueprint bundles and blueprints (#672) * A prototype for Blueprint bundles and blueprints This stores blueprints inside bundles. Each bundle can have up to 3 blueprints defines by the World.Environment. This is not a finished manager. It just handles all the saving and loading side of things. I thought this would help you so you can then concentrate on the UI. * WIP: Copy blocks to Blueprint done. * WIP Pasting done. * WIP: Added BlueprintsManager to ultimately replace SchemsManager. * Moved blueprint suffix and changed to .blu * Fixed unit test. * Now tested and working. Integrated with new island and resetting island. If there are no blueprint bundles or blueprints then a default bedrock set will be made and put in the game mode addon's blueprints folder. Still to do: enable schems to be loaded and pasted for legacy support. Add blueprints and a bundle to GameModeAddons like BSkyBlock. * Renamed most of the classes * Cleaned up clipboard and paster. * Further cleanup on blueprint clipboard and paster. * Merged blueprint classes into one package. * Put Blueprint data objects in their own package. Isolated schems classes for later removal. * Renamed admin command classes and changed locale files. * More clean up to remove schems * Schem to blueprints converter done. Converts schems to blueprint bundles and sets up a default set. Tested the happy-path. Need to do more testing on edge cases. * Added basic UI for development. Fixed bug with schem conversion. * Adds permissions into the blueprints. Fixes tests, cleans up some naming * Added IslandCreationPanel and created BlueprintManagementPanel * Fixed JSONDatabaseHandler's constructor being public * Made the Blueprints button in ManagementPanel open the Blueprint management panel * Fixed tests and ignored one (NPE)
2019-05-15 20:16:41 +02:00
import org.bukkit.inventory.ItemStack;
2019-09-26 17:52:57 +02:00
import org.bukkit.material.Colorable;
Implemeted Blueprint bundles and blueprints (#672) * A prototype for Blueprint bundles and blueprints This stores blueprints inside bundles. Each bundle can have up to 3 blueprints defines by the World.Environment. This is not a finished manager. It just handles all the saving and loading side of things. I thought this would help you so you can then concentrate on the UI. * WIP: Copy blocks to Blueprint done. * WIP Pasting done. * WIP: Added BlueprintsManager to ultimately replace SchemsManager. * Moved blueprint suffix and changed to .blu * Fixed unit test. * Now tested and working. Integrated with new island and resetting island. If there are no blueprint bundles or blueprints then a default bedrock set will be made and put in the game mode addon's blueprints folder. Still to do: enable schems to be loaded and pasted for legacy support. Add blueprints and a bundle to GameModeAddons like BSkyBlock. * Renamed most of the classes * Cleaned up clipboard and paster. * Further cleanup on blueprint clipboard and paster. * Merged blueprint classes into one package. * Put Blueprint data objects in their own package. Isolated schems classes for later removal. * Renamed admin command classes and changed locale files. * More clean up to remove schems * Schem to blueprints converter done. Converts schems to blueprint bundles and sets up a default set. Tested the happy-path. Need to do more testing on edge cases. * Added basic UI for development. Fixed bug with schem conversion. * Adds permissions into the blueprints. Fixes tests, cleans up some naming * Added IslandCreationPanel and created BlueprintManagementPanel * Fixed JSONDatabaseHandler's constructor being public * Made the Blueprints button in ManagementPanel open the Blueprint management panel * Fixed tests and ignored one (NPE)
2019-05-15 20:16:41 +02:00
import com.google.gson.annotations.Expose;
/**
* @author tastybento
* @since 1.5.0
*/
public class BlueprintEntity {
public record MythicMobRecord(String type, String displayName, double level, float power, String stance) {
2024-03-16 02:52:37 +01:00
}
// GSON can serialize records, but the record class needs to be know in advance. So this breaks out the record entries
@Expose
String MMtype;
@Expose
Double MMLevel;
@Expose
String MMStance;
@Expose
Float MMpower;
Implemeted Blueprint bundles and blueprints (#672) * A prototype for Blueprint bundles and blueprints This stores blueprints inside bundles. Each bundle can have up to 3 blueprints defines by the World.Environment. This is not a finished manager. It just handles all the saving and loading side of things. I thought this would help you so you can then concentrate on the UI. * WIP: Copy blocks to Blueprint done. * WIP Pasting done. * WIP: Added BlueprintsManager to ultimately replace SchemsManager. * Moved blueprint suffix and changed to .blu * Fixed unit test. * Now tested and working. Integrated with new island and resetting island. If there are no blueprint bundles or blueprints then a default bedrock set will be made and put in the game mode addon's blueprints folder. Still to do: enable schems to be loaded and pasted for legacy support. Add blueprints and a bundle to GameModeAddons like BSkyBlock. * Renamed most of the classes * Cleaned up clipboard and paster. * Further cleanup on blueprint clipboard and paster. * Merged blueprint classes into one package. * Put Blueprint data objects in their own package. Isolated schems classes for later removal. * Renamed admin command classes and changed locale files. * More clean up to remove schems * Schem to blueprints converter done. Converts schems to blueprint bundles and sets up a default set. Tested the happy-path. Need to do more testing on edge cases. * Added basic UI for development. Fixed bug with schem conversion. * Adds permissions into the blueprints. Fixes tests, cleans up some naming * Added IslandCreationPanel and created BlueprintManagementPanel * Fixed JSONDatabaseHandler's constructor being public * Made the Blueprints button in ManagementPanel open the Blueprint management panel * Fixed tests and ignored one (NPE)
2019-05-15 20:16:41 +02:00
@Expose
private DyeColor color;
@Expose
private EntityType type;
@Expose
private String customName;
@Expose
private Boolean tamed;
@Expose
private Boolean chest;
@Expose
private Boolean adult;
@Expose
private Integer domestication;
@Expose
private Map<Integer, ItemStack> inventory;
@Expose
private Style style;
@Expose
private Integer level;
@Expose
private Profession profession;
@Expose
private Integer experience;
@Expose
private Villager.Type villagerType;
Implemeted Blueprint bundles and blueprints (#672) * A prototype for Blueprint bundles and blueprints This stores blueprints inside bundles. Each bundle can have up to 3 blueprints defines by the World.Environment. This is not a finished manager. It just handles all the saving and loading side of things. I thought this would help you so you can then concentrate on the UI. * WIP: Copy blocks to Blueprint done. * WIP Pasting done. * WIP: Added BlueprintsManager to ultimately replace SchemsManager. * Moved blueprint suffix and changed to .blu * Fixed unit test. * Now tested and working. Integrated with new island and resetting island. If there are no blueprint bundles or blueprints then a default bedrock set will be made and put in the game mode addon's blueprints folder. Still to do: enable schems to be loaded and pasted for legacy support. Add blueprints and a bundle to GameModeAddons like BSkyBlock. * Renamed most of the classes * Cleaned up clipboard and paster. * Further cleanup on blueprint clipboard and paster. * Merged blueprint classes into one package. * Put Blueprint data objects in their own package. Isolated schems classes for later removal. * Renamed admin command classes and changed locale files. * More clean up to remove schems * Schem to blueprints converter done. Converts schems to blueprint bundles and sets up a default set. Tested the happy-path. Need to do more testing on edge cases. * Added basic UI for development. Fixed bug with schem conversion. * Adds permissions into the blueprints. Fixes tests, cleans up some naming * Added IslandCreationPanel and created BlueprintManagementPanel * Fixed JSONDatabaseHandler's constructor being public * Made the Blueprints button in ManagementPanel open the Blueprint management panel * Fixed tests and ignored one (NPE)
2019-05-15 20:16:41 +02:00
/**
* @since 1.8.0
*/
2019-09-26 17:52:57 +02:00
public void configureEntity(Entity e) {
Version 1.20.1 (#1966) * Version 1.20.1 * Added name of the addon causing the issue. https://github.com/BentoBoxWorld/BentoBox/issues/1944 * Use world min-height for island bounding box. * Fixes a bug when fallback could not use reusable There was an issue in PanelItemTemplate that prevented fallback buttons to be "reusable" things. The issue was that reusable items were not passed to the panel item reader. * Adjusted test to try to avoid errors * Fix for random test failures. * Added 1.18.2 support * Address unnecessary PVP reports on each teleport (#1948) If a player is teleporting on the same island in the same dimension, it keeps spamming that PVP is enabled in dimension. It should be enough with sending messages when the player teleports to the island. Fixes #1885 * Fixes bug with Safe Spot Teleport (#1951) There was a bug that prevented finding a safe spot if all valid blocks were in height with the `startY` location. Reported via discord. * Fix Exception error reported by IDE I am not sure why Eclipse is saying this is an error. * Fix for kicking offline players https://github.com/BentoBoxWorld/BentoBox/issues/1950 * Add an option in SafeSpotTeleport to cancel if fail (#1952) There was no option to cancel teleportation if SafeSpotTeleport could not find a valid spot. This option could be used to avoid creating "backup" blocks in situations when teleportation is avoidable, f.e. visiting an island. * Replace peplaceAll with replace It does the same thing if the first argument is not a regex. * Use constants for common strings * Use constants for common strings * Go back to replaceAll This is required. * Clearer paster (#1953) * WIP - make easier to understand. * Small refactor of paster to make it easier to understand * Fix tabs to spaces. Sorry - new editor! * Fix tabs to spaces * Fix tab to spaces * Improve team kick command (#1957) The kick command has an unnecessary owner check. As command should be configurable by island owners, then limiting it to an owner is wrong. Add a code that allows kicking only lower-ranked players. Add message that shows who kicked from the island. Add message that shows that rank does not allow to kick. * Solve crashes with Addon#allLoaded call (#1959) If some addon has code in Addon#allLoaded that crashes the call, then it did not disable addon as well as did not call allLoaded for every other addon that was left in the list. This should be solved by adding an extra try-catch. * using java 16 syntax (#1958) * Fixes kick command (#1960) PR #1957 broke kick command and noone could kick players from teams. This should fix it. * Fixes a bug with blueprint height (#1961) Blueprint clipboard was preventing setting Y below 0 or above 255. The code was not adjusted to 1.18 changes. Reported via discord. * Fixes Lava Duplication Glitch (#1964) Due to the fact, that Obsidian Scooping uses one tick delay to remove obsidian, a player with a bucket in hand and offhand duplicated lava. To avoid that, added an extra check that ignores the interact event if a player holds a bucket in both hands, and interacted hand is offhand. Fixes #1963 * Fixes failures in obsidian cooping listener. (#1965) Failures happened after implementing #1964 Co-authored-by: BONNe <bonne@bonne.id.lv> Co-authored-by: Invvk <70810073+Invvk@users.noreply.github.com>
2022-04-17 18:04:37 +02:00
if (e instanceof Villager villager) {
setVillager(villager);
}
Version 1.20.1 (#1966) * Version 1.20.1 * Added name of the addon causing the issue. https://github.com/BentoBoxWorld/BentoBox/issues/1944 * Use world min-height for island bounding box. * Fixes a bug when fallback could not use reusable There was an issue in PanelItemTemplate that prevented fallback buttons to be "reusable" things. The issue was that reusable items were not passed to the panel item reader. * Adjusted test to try to avoid errors * Fix for random test failures. * Added 1.18.2 support * Address unnecessary PVP reports on each teleport (#1948) If a player is teleporting on the same island in the same dimension, it keeps spamming that PVP is enabled in dimension. It should be enough with sending messages when the player teleports to the island. Fixes #1885 * Fixes bug with Safe Spot Teleport (#1951) There was a bug that prevented finding a safe spot if all valid blocks were in height with the `startY` location. Reported via discord. * Fix Exception error reported by IDE I am not sure why Eclipse is saying this is an error. * Fix for kicking offline players https://github.com/BentoBoxWorld/BentoBox/issues/1950 * Add an option in SafeSpotTeleport to cancel if fail (#1952) There was no option to cancel teleportation if SafeSpotTeleport could not find a valid spot. This option could be used to avoid creating "backup" blocks in situations when teleportation is avoidable, f.e. visiting an island. * Replace peplaceAll with replace It does the same thing if the first argument is not a regex. * Use constants for common strings * Use constants for common strings * Go back to replaceAll This is required. * Clearer paster (#1953) * WIP - make easier to understand. * Small refactor of paster to make it easier to understand * Fix tabs to spaces. Sorry - new editor! * Fix tabs to spaces * Fix tab to spaces * Improve team kick command (#1957) The kick command has an unnecessary owner check. As command should be configurable by island owners, then limiting it to an owner is wrong. Add a code that allows kicking only lower-ranked players. Add message that shows who kicked from the island. Add message that shows that rank does not allow to kick. * Solve crashes with Addon#allLoaded call (#1959) If some addon has code in Addon#allLoaded that crashes the call, then it did not disable addon as well as did not call allLoaded for every other addon that was left in the list. This should be solved by adding an extra try-catch. * using java 16 syntax (#1958) * Fixes kick command (#1960) PR #1957 broke kick command and noone could kick players from teams. This should fix it. * Fixes a bug with blueprint height (#1961) Blueprint clipboard was preventing setting Y below 0 or above 255. The code was not adjusted to 1.18 changes. Reported via discord. * Fixes Lava Duplication Glitch (#1964) Due to the fact, that Obsidian Scooping uses one tick delay to remove obsidian, a player with a bucket in hand and offhand duplicated lava. To avoid that, added an extra check that ignores the interact event if a player holds a bucket in both hands, and interacted hand is offhand. Fixes #1963 * Fixes failures in obsidian cooping listener. (#1965) Failures happened after implementing #1964 Co-authored-by: BONNe <bonne@bonne.id.lv> Co-authored-by: Invvk <70810073+Invvk@users.noreply.github.com>
2022-04-17 18:04:37 +02:00
if (e instanceof Colorable c) {
c.setColor(color);
2019-09-26 17:52:57 +02:00
}
Version 1.20.1 (#1966) * Version 1.20.1 * Added name of the addon causing the issue. https://github.com/BentoBoxWorld/BentoBox/issues/1944 * Use world min-height for island bounding box. * Fixes a bug when fallback could not use reusable There was an issue in PanelItemTemplate that prevented fallback buttons to be "reusable" things. The issue was that reusable items were not passed to the panel item reader. * Adjusted test to try to avoid errors * Fix for random test failures. * Added 1.18.2 support * Address unnecessary PVP reports on each teleport (#1948) If a player is teleporting on the same island in the same dimension, it keeps spamming that PVP is enabled in dimension. It should be enough with sending messages when the player teleports to the island. Fixes #1885 * Fixes bug with Safe Spot Teleport (#1951) There was a bug that prevented finding a safe spot if all valid blocks were in height with the `startY` location. Reported via discord. * Fix Exception error reported by IDE I am not sure why Eclipse is saying this is an error. * Fix for kicking offline players https://github.com/BentoBoxWorld/BentoBox/issues/1950 * Add an option in SafeSpotTeleport to cancel if fail (#1952) There was no option to cancel teleportation if SafeSpotTeleport could not find a valid spot. This option could be used to avoid creating "backup" blocks in situations when teleportation is avoidable, f.e. visiting an island. * Replace peplaceAll with replace It does the same thing if the first argument is not a regex. * Use constants for common strings * Use constants for common strings * Go back to replaceAll This is required. * Clearer paster (#1953) * WIP - make easier to understand. * Small refactor of paster to make it easier to understand * Fix tabs to spaces. Sorry - new editor! * Fix tabs to spaces * Fix tab to spaces * Improve team kick command (#1957) The kick command has an unnecessary owner check. As command should be configurable by island owners, then limiting it to an owner is wrong. Add a code that allows kicking only lower-ranked players. Add message that shows who kicked from the island. Add message that shows that rank does not allow to kick. * Solve crashes with Addon#allLoaded call (#1959) If some addon has code in Addon#allLoaded that crashes the call, then it did not disable addon as well as did not call allLoaded for every other addon that was left in the list. This should be solved by adding an extra try-catch. * using java 16 syntax (#1958) * Fixes kick command (#1960) PR #1957 broke kick command and noone could kick players from teams. This should fix it. * Fixes a bug with blueprint height (#1961) Blueprint clipboard was preventing setting Y below 0 or above 255. The code was not adjusted to 1.18 changes. Reported via discord. * Fixes Lava Duplication Glitch (#1964) Due to the fact, that Obsidian Scooping uses one tick delay to remove obsidian, a player with a bucket in hand and offhand duplicated lava. To avoid that, added an extra check that ignores the interact event if a player holds a bucket in both hands, and interacted hand is offhand. Fixes #1963 * Fixes failures in obsidian cooping listener. (#1965) Failures happened after implementing #1964 Co-authored-by: BONNe <bonne@bonne.id.lv> Co-authored-by: Invvk <70810073+Invvk@users.noreply.github.com>
2022-04-17 18:04:37 +02:00
if (tamed != null && e instanceof Tameable tameable) {
tameable.setTamed(tamed);
2019-09-26 17:52:57 +02:00
}
Version 1.20.1 (#1966) * Version 1.20.1 * Added name of the addon causing the issue. https://github.com/BentoBoxWorld/BentoBox/issues/1944 * Use world min-height for island bounding box. * Fixes a bug when fallback could not use reusable There was an issue in PanelItemTemplate that prevented fallback buttons to be "reusable" things. The issue was that reusable items were not passed to the panel item reader. * Adjusted test to try to avoid errors * Fix for random test failures. * Added 1.18.2 support * Address unnecessary PVP reports on each teleport (#1948) If a player is teleporting on the same island in the same dimension, it keeps spamming that PVP is enabled in dimension. It should be enough with sending messages when the player teleports to the island. Fixes #1885 * Fixes bug with Safe Spot Teleport (#1951) There was a bug that prevented finding a safe spot if all valid blocks were in height with the `startY` location. Reported via discord. * Fix Exception error reported by IDE I am not sure why Eclipse is saying this is an error. * Fix for kicking offline players https://github.com/BentoBoxWorld/BentoBox/issues/1950 * Add an option in SafeSpotTeleport to cancel if fail (#1952) There was no option to cancel teleportation if SafeSpotTeleport could not find a valid spot. This option could be used to avoid creating "backup" blocks in situations when teleportation is avoidable, f.e. visiting an island. * Replace peplaceAll with replace It does the same thing if the first argument is not a regex. * Use constants for common strings * Use constants for common strings * Go back to replaceAll This is required. * Clearer paster (#1953) * WIP - make easier to understand. * Small refactor of paster to make it easier to understand * Fix tabs to spaces. Sorry - new editor! * Fix tabs to spaces * Fix tab to spaces * Improve team kick command (#1957) The kick command has an unnecessary owner check. As command should be configurable by island owners, then limiting it to an owner is wrong. Add a code that allows kicking only lower-ranked players. Add message that shows who kicked from the island. Add message that shows that rank does not allow to kick. * Solve crashes with Addon#allLoaded call (#1959) If some addon has code in Addon#allLoaded that crashes the call, then it did not disable addon as well as did not call allLoaded for every other addon that was left in the list. This should be solved by adding an extra try-catch. * using java 16 syntax (#1958) * Fixes kick command (#1960) PR #1957 broke kick command and noone could kick players from teams. This should fix it. * Fixes a bug with blueprint height (#1961) Blueprint clipboard was preventing setting Y below 0 or above 255. The code was not adjusted to 1.18 changes. Reported via discord. * Fixes Lava Duplication Glitch (#1964) Due to the fact, that Obsidian Scooping uses one tick delay to remove obsidian, a player with a bucket in hand and offhand duplicated lava. To avoid that, added an extra check that ignores the interact event if a player holds a bucket in both hands, and interacted hand is offhand. Fixes #1963 * Fixes failures in obsidian cooping listener. (#1965) Failures happened after implementing #1964 Co-authored-by: BONNe <bonne@bonne.id.lv> Co-authored-by: Invvk <70810073+Invvk@users.noreply.github.com>
2022-04-17 18:04:37 +02:00
if (chest != null && e instanceof ChestedHorse chestedHorse) {
chestedHorse.setCarryingChest(chest);
2019-09-26 17:52:57 +02:00
}
Version 1.20.1 (#1966) * Version 1.20.1 * Added name of the addon causing the issue. https://github.com/BentoBoxWorld/BentoBox/issues/1944 * Use world min-height for island bounding box. * Fixes a bug when fallback could not use reusable There was an issue in PanelItemTemplate that prevented fallback buttons to be "reusable" things. The issue was that reusable items were not passed to the panel item reader. * Adjusted test to try to avoid errors * Fix for random test failures. * Added 1.18.2 support * Address unnecessary PVP reports on each teleport (#1948) If a player is teleporting on the same island in the same dimension, it keeps spamming that PVP is enabled in dimension. It should be enough with sending messages when the player teleports to the island. Fixes #1885 * Fixes bug with Safe Spot Teleport (#1951) There was a bug that prevented finding a safe spot if all valid blocks were in height with the `startY` location. Reported via discord. * Fix Exception error reported by IDE I am not sure why Eclipse is saying this is an error. * Fix for kicking offline players https://github.com/BentoBoxWorld/BentoBox/issues/1950 * Add an option in SafeSpotTeleport to cancel if fail (#1952) There was no option to cancel teleportation if SafeSpotTeleport could not find a valid spot. This option could be used to avoid creating "backup" blocks in situations when teleportation is avoidable, f.e. visiting an island. * Replace peplaceAll with replace It does the same thing if the first argument is not a regex. * Use constants for common strings * Use constants for common strings * Go back to replaceAll This is required. * Clearer paster (#1953) * WIP - make easier to understand. * Small refactor of paster to make it easier to understand * Fix tabs to spaces. Sorry - new editor! * Fix tabs to spaces * Fix tab to spaces * Improve team kick command (#1957) The kick command has an unnecessary owner check. As command should be configurable by island owners, then limiting it to an owner is wrong. Add a code that allows kicking only lower-ranked players. Add message that shows who kicked from the island. Add message that shows that rank does not allow to kick. * Solve crashes with Addon#allLoaded call (#1959) If some addon has code in Addon#allLoaded that crashes the call, then it did not disable addon as well as did not call allLoaded for every other addon that was left in the list. This should be solved by adding an extra try-catch. * using java 16 syntax (#1958) * Fixes kick command (#1960) PR #1957 broke kick command and noone could kick players from teams. This should fix it. * Fixes a bug with blueprint height (#1961) Blueprint clipboard was preventing setting Y below 0 or above 255. The code was not adjusted to 1.18 changes. Reported via discord. * Fixes Lava Duplication Glitch (#1964) Due to the fact, that Obsidian Scooping uses one tick delay to remove obsidian, a player with a bucket in hand and offhand duplicated lava. To avoid that, added an extra check that ignores the interact event if a player holds a bucket in both hands, and interacted hand is offhand. Fixes #1963 * Fixes failures in obsidian cooping listener. (#1965) Failures happened after implementing #1964 Co-authored-by: BONNe <bonne@bonne.id.lv> Co-authored-by: Invvk <70810073+Invvk@users.noreply.github.com>
2022-04-17 18:04:37 +02:00
if (adult != null && e instanceof Ageable ageable) {
2019-09-26 17:52:57 +02:00
if (adult) {
Version 1.20.1 (#1966) * Version 1.20.1 * Added name of the addon causing the issue. https://github.com/BentoBoxWorld/BentoBox/issues/1944 * Use world min-height for island bounding box. * Fixes a bug when fallback could not use reusable There was an issue in PanelItemTemplate that prevented fallback buttons to be "reusable" things. The issue was that reusable items were not passed to the panel item reader. * Adjusted test to try to avoid errors * Fix for random test failures. * Added 1.18.2 support * Address unnecessary PVP reports on each teleport (#1948) If a player is teleporting on the same island in the same dimension, it keeps spamming that PVP is enabled in dimension. It should be enough with sending messages when the player teleports to the island. Fixes #1885 * Fixes bug with Safe Spot Teleport (#1951) There was a bug that prevented finding a safe spot if all valid blocks were in height with the `startY` location. Reported via discord. * Fix Exception error reported by IDE I am not sure why Eclipse is saying this is an error. * Fix for kicking offline players https://github.com/BentoBoxWorld/BentoBox/issues/1950 * Add an option in SafeSpotTeleport to cancel if fail (#1952) There was no option to cancel teleportation if SafeSpotTeleport could not find a valid spot. This option could be used to avoid creating "backup" blocks in situations when teleportation is avoidable, f.e. visiting an island. * Replace peplaceAll with replace It does the same thing if the first argument is not a regex. * Use constants for common strings * Use constants for common strings * Go back to replaceAll This is required. * Clearer paster (#1953) * WIP - make easier to understand. * Small refactor of paster to make it easier to understand * Fix tabs to spaces. Sorry - new editor! * Fix tabs to spaces * Fix tab to spaces * Improve team kick command (#1957) The kick command has an unnecessary owner check. As command should be configurable by island owners, then limiting it to an owner is wrong. Add a code that allows kicking only lower-ranked players. Add message that shows who kicked from the island. Add message that shows that rank does not allow to kick. * Solve crashes with Addon#allLoaded call (#1959) If some addon has code in Addon#allLoaded that crashes the call, then it did not disable addon as well as did not call allLoaded for every other addon that was left in the list. This should be solved by adding an extra try-catch. * using java 16 syntax (#1958) * Fixes kick command (#1960) PR #1957 broke kick command and noone could kick players from teams. This should fix it. * Fixes a bug with blueprint height (#1961) Blueprint clipboard was preventing setting Y below 0 or above 255. The code was not adjusted to 1.18 changes. Reported via discord. * Fixes Lava Duplication Glitch (#1964) Due to the fact, that Obsidian Scooping uses one tick delay to remove obsidian, a player with a bucket in hand and offhand duplicated lava. To avoid that, added an extra check that ignores the interact event if a player holds a bucket in both hands, and interacted hand is offhand. Fixes #1963 * Fixes failures in obsidian cooping listener. (#1965) Failures happened after implementing #1964 Co-authored-by: BONNe <bonne@bonne.id.lv> Co-authored-by: Invvk <70810073+Invvk@users.noreply.github.com>
2022-04-17 18:04:37 +02:00
ageable.setAdult();
2019-09-26 17:52:57 +02:00
} else {
Version 1.20.1 (#1966) * Version 1.20.1 * Added name of the addon causing the issue. https://github.com/BentoBoxWorld/BentoBox/issues/1944 * Use world min-height for island bounding box. * Fixes a bug when fallback could not use reusable There was an issue in PanelItemTemplate that prevented fallback buttons to be "reusable" things. The issue was that reusable items were not passed to the panel item reader. * Adjusted test to try to avoid errors * Fix for random test failures. * Added 1.18.2 support * Address unnecessary PVP reports on each teleport (#1948) If a player is teleporting on the same island in the same dimension, it keeps spamming that PVP is enabled in dimension. It should be enough with sending messages when the player teleports to the island. Fixes #1885 * Fixes bug with Safe Spot Teleport (#1951) There was a bug that prevented finding a safe spot if all valid blocks were in height with the `startY` location. Reported via discord. * Fix Exception error reported by IDE I am not sure why Eclipse is saying this is an error. * Fix for kicking offline players https://github.com/BentoBoxWorld/BentoBox/issues/1950 * Add an option in SafeSpotTeleport to cancel if fail (#1952) There was no option to cancel teleportation if SafeSpotTeleport could not find a valid spot. This option could be used to avoid creating "backup" blocks in situations when teleportation is avoidable, f.e. visiting an island. * Replace peplaceAll with replace It does the same thing if the first argument is not a regex. * Use constants for common strings * Use constants for common strings * Go back to replaceAll This is required. * Clearer paster (#1953) * WIP - make easier to understand. * Small refactor of paster to make it easier to understand * Fix tabs to spaces. Sorry - new editor! * Fix tabs to spaces * Fix tab to spaces * Improve team kick command (#1957) The kick command has an unnecessary owner check. As command should be configurable by island owners, then limiting it to an owner is wrong. Add a code that allows kicking only lower-ranked players. Add message that shows who kicked from the island. Add message that shows that rank does not allow to kick. * Solve crashes with Addon#allLoaded call (#1959) If some addon has code in Addon#allLoaded that crashes the call, then it did not disable addon as well as did not call allLoaded for every other addon that was left in the list. This should be solved by adding an extra try-catch. * using java 16 syntax (#1958) * Fixes kick command (#1960) PR #1957 broke kick command and noone could kick players from teams. This should fix it. * Fixes a bug with blueprint height (#1961) Blueprint clipboard was preventing setting Y below 0 or above 255. The code was not adjusted to 1.18 changes. Reported via discord. * Fixes Lava Duplication Glitch (#1964) Due to the fact, that Obsidian Scooping uses one tick delay to remove obsidian, a player with a bucket in hand and offhand duplicated lava. To avoid that, added an extra check that ignores the interact event if a player holds a bucket in both hands, and interacted hand is offhand. Fixes #1963 * Fixes failures in obsidian cooping listener. (#1965) Failures happened after implementing #1964 Co-authored-by: BONNe <bonne@bonne.id.lv> Co-authored-by: Invvk <70810073+Invvk@users.noreply.github.com>
2022-04-17 18:04:37 +02:00
ageable.setBaby();
2019-09-26 17:52:57 +02:00
}
}
if (e instanceof AbstractHorse horse) {
2019-09-26 17:52:57 +02:00
if (domestication != null) horse.setDomestication(domestication);
if (inventory != null) {
inventory.forEach((index, item) -> horse.getInventory().setItem(index.intValue(), item));
2019-09-26 17:52:57 +02:00
}
}
Version 1.20.1 (#1966) * Version 1.20.1 * Added name of the addon causing the issue. https://github.com/BentoBoxWorld/BentoBox/issues/1944 * Use world min-height for island bounding box. * Fixes a bug when fallback could not use reusable There was an issue in PanelItemTemplate that prevented fallback buttons to be "reusable" things. The issue was that reusable items were not passed to the panel item reader. * Adjusted test to try to avoid errors * Fix for random test failures. * Added 1.18.2 support * Address unnecessary PVP reports on each teleport (#1948) If a player is teleporting on the same island in the same dimension, it keeps spamming that PVP is enabled in dimension. It should be enough with sending messages when the player teleports to the island. Fixes #1885 * Fixes bug with Safe Spot Teleport (#1951) There was a bug that prevented finding a safe spot if all valid blocks were in height with the `startY` location. Reported via discord. * Fix Exception error reported by IDE I am not sure why Eclipse is saying this is an error. * Fix for kicking offline players https://github.com/BentoBoxWorld/BentoBox/issues/1950 * Add an option in SafeSpotTeleport to cancel if fail (#1952) There was no option to cancel teleportation if SafeSpotTeleport could not find a valid spot. This option could be used to avoid creating "backup" blocks in situations when teleportation is avoidable, f.e. visiting an island. * Replace peplaceAll with replace It does the same thing if the first argument is not a regex. * Use constants for common strings * Use constants for common strings * Go back to replaceAll This is required. * Clearer paster (#1953) * WIP - make easier to understand. * Small refactor of paster to make it easier to understand * Fix tabs to spaces. Sorry - new editor! * Fix tabs to spaces * Fix tab to spaces * Improve team kick command (#1957) The kick command has an unnecessary owner check. As command should be configurable by island owners, then limiting it to an owner is wrong. Add a code that allows kicking only lower-ranked players. Add message that shows who kicked from the island. Add message that shows that rank does not allow to kick. * Solve crashes with Addon#allLoaded call (#1959) If some addon has code in Addon#allLoaded that crashes the call, then it did not disable addon as well as did not call allLoaded for every other addon that was left in the list. This should be solved by adding an extra try-catch. * using java 16 syntax (#1958) * Fixes kick command (#1960) PR #1957 broke kick command and noone could kick players from teams. This should fix it. * Fixes a bug with blueprint height (#1961) Blueprint clipboard was preventing setting Y below 0 or above 255. The code was not adjusted to 1.18 changes. Reported via discord. * Fixes Lava Duplication Glitch (#1964) Due to the fact, that Obsidian Scooping uses one tick delay to remove obsidian, a player with a bucket in hand and offhand duplicated lava. To avoid that, added an extra check that ignores the interact event if a player holds a bucket in both hands, and interacted hand is offhand. Fixes #1963 * Fixes failures in obsidian cooping listener. (#1965) Failures happened after implementing #1964 Co-authored-by: BONNe <bonne@bonne.id.lv> Co-authored-by: Invvk <70810073+Invvk@users.noreply.github.com>
2022-04-17 18:04:37 +02:00
if (style != null && e instanceof Horse horse) {
horse.setStyle(style);
2019-09-26 17:52:57 +02:00
}
}
/**
Version 1.20.1 (#1966) * Version 1.20.1 * Added name of the addon causing the issue. https://github.com/BentoBoxWorld/BentoBox/issues/1944 * Use world min-height for island bounding box. * Fixes a bug when fallback could not use reusable There was an issue in PanelItemTemplate that prevented fallback buttons to be "reusable" things. The issue was that reusable items were not passed to the panel item reader. * Adjusted test to try to avoid errors * Fix for random test failures. * Added 1.18.2 support * Address unnecessary PVP reports on each teleport (#1948) If a player is teleporting on the same island in the same dimension, it keeps spamming that PVP is enabled in dimension. It should be enough with sending messages when the player teleports to the island. Fixes #1885 * Fixes bug with Safe Spot Teleport (#1951) There was a bug that prevented finding a safe spot if all valid blocks were in height with the `startY` location. Reported via discord. * Fix Exception error reported by IDE I am not sure why Eclipse is saying this is an error. * Fix for kicking offline players https://github.com/BentoBoxWorld/BentoBox/issues/1950 * Add an option in SafeSpotTeleport to cancel if fail (#1952) There was no option to cancel teleportation if SafeSpotTeleport could not find a valid spot. This option could be used to avoid creating "backup" blocks in situations when teleportation is avoidable, f.e. visiting an island. * Replace peplaceAll with replace It does the same thing if the first argument is not a regex. * Use constants for common strings * Use constants for common strings * Go back to replaceAll This is required. * Clearer paster (#1953) * WIP - make easier to understand. * Small refactor of paster to make it easier to understand * Fix tabs to spaces. Sorry - new editor! * Fix tabs to spaces * Fix tab to spaces * Improve team kick command (#1957) The kick command has an unnecessary owner check. As command should be configurable by island owners, then limiting it to an owner is wrong. Add a code that allows kicking only lower-ranked players. Add message that shows who kicked from the island. Add message that shows that rank does not allow to kick. * Solve crashes with Addon#allLoaded call (#1959) If some addon has code in Addon#allLoaded that crashes the call, then it did not disable addon as well as did not call allLoaded for every other addon that was left in the list. This should be solved by adding an extra try-catch. * using java 16 syntax (#1958) * Fixes kick command (#1960) PR #1957 broke kick command and noone could kick players from teams. This should fix it. * Fixes a bug with blueprint height (#1961) Blueprint clipboard was preventing setting Y below 0 or above 255. The code was not adjusted to 1.18 changes. Reported via discord. * Fixes Lava Duplication Glitch (#1964) Due to the fact, that Obsidian Scooping uses one tick delay to remove obsidian, a player with a bucket in hand and offhand duplicated lava. To avoid that, added an extra check that ignores the interact event if a player holds a bucket in both hands, and interacted hand is offhand. Fixes #1963 * Fixes failures in obsidian cooping listener. (#1965) Failures happened after implementing #1964 Co-authored-by: BONNe <bonne@bonne.id.lv> Co-authored-by: Invvk <70810073+Invvk@users.noreply.github.com>
2022-04-17 18:04:37 +02:00
* @param v - villager
* @since 1.16.0
*/
Version 1.20.1 (#1966) * Version 1.20.1 * Added name of the addon causing the issue. https://github.com/BentoBoxWorld/BentoBox/issues/1944 * Use world min-height for island bounding box. * Fixes a bug when fallback could not use reusable There was an issue in PanelItemTemplate that prevented fallback buttons to be "reusable" things. The issue was that reusable items were not passed to the panel item reader. * Adjusted test to try to avoid errors * Fix for random test failures. * Added 1.18.2 support * Address unnecessary PVP reports on each teleport (#1948) If a player is teleporting on the same island in the same dimension, it keeps spamming that PVP is enabled in dimension. It should be enough with sending messages when the player teleports to the island. Fixes #1885 * Fixes bug with Safe Spot Teleport (#1951) There was a bug that prevented finding a safe spot if all valid blocks were in height with the `startY` location. Reported via discord. * Fix Exception error reported by IDE I am not sure why Eclipse is saying this is an error. * Fix for kicking offline players https://github.com/BentoBoxWorld/BentoBox/issues/1950 * Add an option in SafeSpotTeleport to cancel if fail (#1952) There was no option to cancel teleportation if SafeSpotTeleport could not find a valid spot. This option could be used to avoid creating "backup" blocks in situations when teleportation is avoidable, f.e. visiting an island. * Replace peplaceAll with replace It does the same thing if the first argument is not a regex. * Use constants for common strings * Use constants for common strings * Go back to replaceAll This is required. * Clearer paster (#1953) * WIP - make easier to understand. * Small refactor of paster to make it easier to understand * Fix tabs to spaces. Sorry - new editor! * Fix tabs to spaces * Fix tab to spaces * Improve team kick command (#1957) The kick command has an unnecessary owner check. As command should be configurable by island owners, then limiting it to an owner is wrong. Add a code that allows kicking only lower-ranked players. Add message that shows who kicked from the island. Add message that shows that rank does not allow to kick. * Solve crashes with Addon#allLoaded call (#1959) If some addon has code in Addon#allLoaded that crashes the call, then it did not disable addon as well as did not call allLoaded for every other addon that was left in the list. This should be solved by adding an extra try-catch. * using java 16 syntax (#1958) * Fixes kick command (#1960) PR #1957 broke kick command and noone could kick players from teams. This should fix it. * Fixes a bug with blueprint height (#1961) Blueprint clipboard was preventing setting Y below 0 or above 255. The code was not adjusted to 1.18 changes. Reported via discord. * Fixes Lava Duplication Glitch (#1964) Due to the fact, that Obsidian Scooping uses one tick delay to remove obsidian, a player with a bucket in hand and offhand duplicated lava. To avoid that, added an extra check that ignores the interact event if a player holds a bucket in both hands, and interacted hand is offhand. Fixes #1963 * Fixes failures in obsidian cooping listener. (#1965) Failures happened after implementing #1964 Co-authored-by: BONNe <bonne@bonne.id.lv> Co-authored-by: Invvk <70810073+Invvk@users.noreply.github.com>
2022-04-17 18:04:37 +02:00
private void setVillager(Villager v) {
v.setProfession(profession == null ? Profession.NONE : profession);
v.setVillagerExperience(experience == null ? 0 : experience);
v.setVillagerLevel(level == null ? 0 : level);
v.setVillagerType(villagerType == null ? Villager.Type.PLAINS : villagerType);
}
Implemeted Blueprint bundles and blueprints (#672) * A prototype for Blueprint bundles and blueprints This stores blueprints inside bundles. Each bundle can have up to 3 blueprints defines by the World.Environment. This is not a finished manager. It just handles all the saving and loading side of things. I thought this would help you so you can then concentrate on the UI. * WIP: Copy blocks to Blueprint done. * WIP Pasting done. * WIP: Added BlueprintsManager to ultimately replace SchemsManager. * Moved blueprint suffix and changed to .blu * Fixed unit test. * Now tested and working. Integrated with new island and resetting island. If there are no blueprint bundles or blueprints then a default bedrock set will be made and put in the game mode addon's blueprints folder. Still to do: enable schems to be loaded and pasted for legacy support. Add blueprints and a bundle to GameModeAddons like BSkyBlock. * Renamed most of the classes * Cleaned up clipboard and paster. * Further cleanup on blueprint clipboard and paster. * Merged blueprint classes into one package. * Put Blueprint data objects in their own package. Isolated schems classes for later removal. * Renamed admin command classes and changed locale files. * More clean up to remove schems * Schem to blueprints converter done. Converts schems to blueprint bundles and sets up a default set. Tested the happy-path. Need to do more testing on edge cases. * Added basic UI for development. Fixed bug with schem conversion. * Adds permissions into the blueprints. Fixes tests, cleans up some naming * Added IslandCreationPanel and created BlueprintManagementPanel * Fixed JSONDatabaseHandler's constructor being public * Made the Blueprints button in ManagementPanel open the Blueprint management panel * Fixed tests and ignored one (NPE)
2019-05-15 20:16:41 +02:00
/**
* @return the color
*/
public DyeColor getColor() {
return color;
}
/**
* @param color the color to set
*/
public void setColor(DyeColor color) {
this.color = color;
}
/**
* @return the type
*/
public EntityType getType() {
return type;
}
/**
* @param type the type to set
*/
public void setType(EntityType type) {
this.type = type;
}
/**
* @return the customName
*/
public String getCustomName() {
return customName;
}
/**
* @param customName the customName to set
*/
public void setCustomName(String customName) {
this.customName = customName;
}
/**
* @return the tamed
*/
public Boolean getTamed() {
return tamed;
}
/**
* @param tamed the tamed to set
*/
public void setTamed(Boolean tamed) {
this.tamed = tamed;
}
/**
* @return the chest
*/
public Boolean getChest() {
return chest;
}
/**
* @param chest the chest to set
*/
public void setChest(Boolean chest) {
this.chest = chest;
}
/**
* @return the adult
*/
public Boolean getAdult() {
return adult;
}
/**
* @param adult the adult to set
*/
public void setAdult(Boolean adult) {
this.adult = adult;
}
/**
* @return the domestication
*/
public Integer getDomestication() {
return domestication;
}
/**
* @param domestication the domestication to set
*/
public void setDomestication(int domestication) {
this.domestication = domestication;
}
/**
* @return the inventory
*/
public Map<Integer, ItemStack> getInventory() {
return inventory;
}
/**
* @param inventory the inventory to set
*/
public void setInventory(Map<Integer, ItemStack> inventory) {
this.inventory = inventory;
}
/**
* @return the style
*/
public Style getStyle() {
return style;
}
/**
* @param style the style to set
*/
public void setStyle(Style style) {
this.style = style;
}
/**
* @return the level
*/
public Integer getLevel() {
return level;
}
/**
* @param level the level to set
*/
public void setLevel(Integer level) {
this.level = level;
}
/**
* @return the profession
*/
public Profession getProfession() {
return profession;
}
/**
* @param profession the profession to set
*/
public void setProfession(Profession profession) {
this.profession = profession;
}
/**
* @return the experience
*/
public Integer getExperience() {
return experience;
}
/**
* @param experience the experience to set
*/
public void setExperience(Integer experience) {
this.experience = experience;
}
/**
* @return the villagerType
*/
public Villager.Type getVillagerType() {
return villagerType;
}
/**
* @param villagerType the villagerType to set
*/
public void setVillagerType(Villager.Type villagerType) {
this.villagerType = villagerType;
}
/**
* @param domestication the domestication to set
*/
public void setDomestication(Integer domestication) {
this.domestication = domestication;
}
/**
* @return the mythicMobsRecord
*/
public MythicMobRecord getMythicMobsRecord() {
return new MythicMobRecord(this.MMtype, this.getCustomName(), this.MMLevel, this.MMpower, this.MMStance);
}
/**
2024-03-10 19:21:03 +01:00
* @param mmr the mythicMobsRecord to set
* @since 2.1.0
*/
public void setMythicMobsRecord(MythicMobRecord mmr) {
this.setCustomName(mmr.displayName());
this.MMtype = mmr.type();
this.MMLevel = mmr.level();
this.MMStance = mmr.stance();
this.MMpower = mmr.power();
}
Implemeted Blueprint bundles and blueprints (#672) * A prototype for Blueprint bundles and blueprints This stores blueprints inside bundles. Each bundle can have up to 3 blueprints defines by the World.Environment. This is not a finished manager. It just handles all the saving and loading side of things. I thought this would help you so you can then concentrate on the UI. * WIP: Copy blocks to Blueprint done. * WIP Pasting done. * WIP: Added BlueprintsManager to ultimately replace SchemsManager. * Moved blueprint suffix and changed to .blu * Fixed unit test. * Now tested and working. Integrated with new island and resetting island. If there are no blueprint bundles or blueprints then a default bedrock set will be made and put in the game mode addon's blueprints folder. Still to do: enable schems to be loaded and pasted for legacy support. Add blueprints and a bundle to GameModeAddons like BSkyBlock. * Renamed most of the classes * Cleaned up clipboard and paster. * Further cleanup on blueprint clipboard and paster. * Merged blueprint classes into one package. * Put Blueprint data objects in their own package. Isolated schems classes for later removal. * Renamed admin command classes and changed locale files. * More clean up to remove schems * Schem to blueprints converter done. Converts schems to blueprint bundles and sets up a default set. Tested the happy-path. Need to do more testing on edge cases. * Added basic UI for development. Fixed bug with schem conversion. * Adds permissions into the blueprints. Fixes tests, cleans up some naming * Added IslandCreationPanel and created BlueprintManagementPanel * Fixed JSONDatabaseHandler's constructor being public * Made the Blueprints button in ManagementPanel open the Blueprint management panel * Fixed tests and ignored one (NPE)
2019-05-15 20:16:41 +02:00
}