From d42ed4e142c070ad522e80943986b828ce846fa2 Mon Sep 17 00:00:00 2001 From: Travja Date: Sun, 24 Mar 2024 01:42:39 -0600 Subject: [PATCH 1/7] The Great Rename --- .github/ISSUE_TEMPLATE/bug_report.yml | 8 +- .github/notify_published.py | 2 +- .github/update_version.py | 2 +- README.md | 26 +- doc/README.md | 23 +- pom.xml | 19 +- .../blueprint/API/BlueprintAPI.java} | 20 +- .../blueprint}/API/StructureUtil.java | 16 +- .../promcteam/blueprint/API/TileChecker.java | 18 + .../promcteam/blueprint/Blueprint.java} | 71 ++-- .../blueprint}/BuildingRegistry.java | 33 +- .../promcteam/blueprint}/Config.java | 19 +- .../promcteam/blueprint}/Metrics.java | 25 +- .../blueprint}/PersistentBuilding.java | 14 +- .../promcteam/blueprint}/Updater.java | 34 +- .../blueprint}/commands/AbstractCommand.java | 58 ++-- .../blueprint}/commands/BuildSubCommand.java | 19 +- .../blueprint}/commands/CancelSubCommand.java | 17 +- .../commands/ExcavatedSubCommand.java | 13 +- .../blueprint}/commands/HyphenArgument.java | 2 +- .../blueprint/commands/InfoSubCommand.java | 83 +++++ .../blueprint}/commands/LoadSubCommand.java | 50 +-- .../blueprint}/commands/NPCSubCommand.java | 9 +- .../commands/PreviewSubCommand.java | 25 +- .../blueprint}/commands/ReloadSubCommand.java | 13 +- .../commands/SchematicBuilderCommand.java | 13 +- .../commands/StructureSubCommand.java | 18 +- .../blueprint/commands/SurveySubCommand.java | 48 +++ .../blueprint}/hooks/DenizenSupport.java | 2 +- .../blueprint}/hooks/WorldEditManager.java | 2 +- .../citizens/BuilderTeleportStuckAction.java | 2 +- .../hooks/citizens/BuilderTrait.java | 231 ++++++++----- .../MaterialIntegerMapPersistenceLoader.java | 18 +- .../persistence/MaterialMapWrapper.java | 2 +- .../PersistentBuildingPersistenceLoader.java | 8 +- .../SchematicPersistenceLoader.java | 14 +- .../blueprint}/listener/BuilderListener.java | 61 ++-- .../listener/SelectionListener.java | 4 +- .../blueprint}/listener/TraitListener.java | 12 +- .../blueprint}/listener/UpdaterListener.java | 8 +- .../blueprint/menus/BuildPatternMenu.java | 65 ++++ .../blueprint}/menus/BuilderListMenu.java | 45 +-- .../blueprint}/menus/BuilderMenu.java | 309 +++++++++++------- .../blueprint/menus/CitizensActionsMenu.java | 214 ++++++++++++ .../blueprint}/menus/ExcavatedMenu.java | 18 +- .../blueprint}/menus/MaterialsMenu.java | 33 +- .../blueprint}/menus/SchematicListMenu.java | 32 +- .../blueprint/menus/SchematicMenu.java | 46 +++ .../blueprint/menus/SettingsMenu.java | 36 ++ .../promcteam/blueprint/menus/TiersMenu.java | 109 ++++++ .../blueprint}/nbt/ByteArrayTag.java | 4 +- .../promcteam/blueprint}/nbt/ByteTag.java | 4 +- .../promcteam/blueprint}/nbt/CompoundTag.java | 4 +- .../blueprint}/nbt/CompoundTagBuilder.java | 2 +- .../promcteam/blueprint}/nbt/DoubleTag.java | 4 +- .../promcteam/blueprint}/nbt/EndTag.java | 4 +- .../nbt/EndianSwitchableInputStream.java | 2 +- .../promcteam/blueprint}/nbt/FloatTag.java | 4 +- .../promcteam/blueprint}/nbt/IntArrayTag.java | 4 +- .../promcteam/blueprint}/nbt/IntTag.java | 4 +- .../promcteam/blueprint}/nbt/ListTag.java | 11 +- .../blueprint}/nbt/ListTagBuilder.java | 5 +- .../blueprint}/nbt/LongArrayTag.java | 16 +- .../promcteam/blueprint}/nbt/LongTag.java | 4 +- .../blueprint}/nbt/NBTConstants.java | 4 +- .../blueprint}/nbt/NBTInputStream.java | 4 +- .../blueprint}/nbt/NBTOutputStream.java | 4 +- .../promcteam/blueprint}/nbt/NBTUtils.java | 5 +- .../promcteam/blueprint}/nbt/NamedTag.java | 2 +- .../promcteam/blueprint}/nbt/ShortTag.java | 4 +- .../promcteam/blueprint}/nbt/StringTag.java | 4 +- .../promcteam/blueprint}/nbt/Tag.java | 4 +- .../promcteam/blueprint}/nms/NMS.java | 20 +- .../promcteam/blueprint}/nms/TileChecker.java | 16 +- .../blueprint}/nms/providers/NMSProvider.java | 157 ++++++--- .../nms/providers/NMSProvider_1_16.java | 2 +- .../nms/providers/NMSProvider_1_17.java | 2 +- .../nms/providers/NMSProvider_1_18.java | 2 +- .../nms/providers/NMSProvider_1_19.java | 2 +- .../blueprint}/schematic/RawSchematic.java | 178 ++++++---- .../blueprint}/schematic/Schematic.java | 21 +- .../blueprint}/schematic/SchematicEntity.java | 39 ++- .../blueprint}/schematic/SchematicTier.java | 22 +- .../blueprint}/schematic/YAMLSchematic.java | 58 ++-- .../schematic/blocks/DataBuildBlock.java | 2 +- .../schematic/blocks/EmptyBuildBlock.java | 2 +- .../schematic/blocks/EntityMap.java | 4 +- .../schematic/blocks/TileBuildBlock.java | 2 +- .../promcteam/blueprint}/util/Cuboid.java | 22 +- .../promcteam/blueprint}/util/Util.java | 16 +- .../weefle/constructor/API/TileChecker.java | 13 - .../constructor/commands/InfoSubCommand.java | 63 ---- .../commands/SurveySubCommand.java | 36 -- .../constructor/menus/BuildPatternMenu.java | 60 ---- .../menus/CitizensActionsMenu.java | 189 ----------- .../constructor/menus/SchematicMenu.java | 40 --- .../constructor/menus/SettingsMenu.java | 31 -- .../weefle/constructor/menus/TiersMenu.java | 106 ------ src/main/resources/config.yml | 30 +- src/main/resources/menus/build-pattern.yml | 2 +- .../menus/builder-settings-admin.yml | 2 +- src/main/resources/menus/builder-settings.yml | 2 +- src/main/resources/menus/builder.yml | 14 +- src/main/resources/menus/citizens-actions.yml | 2 +- src/main/resources/menus/tiers.yml | 6 +- src/main/resources/plugin.yml | 10 +- 106 files changed, 1905 insertions(+), 1340 deletions(-) rename src/main/java/{fr/weefle/constructor/API/SchematicBuilderAPI.java => com/promcteam/blueprint/API/BlueprintAPI.java} (50%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/API/StructureUtil.java (51%) create mode 100644 src/main/java/com/promcteam/blueprint/API/TileChecker.java rename src/main/java/{fr/weefle/constructor/SchematicBuilder.java => com/promcteam/blueprint/Blueprint.java} (72%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/BuildingRegistry.java (60%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/Config.java (84%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/Metrics.java (97%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/PersistentBuilding.java (82%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/Updater.java (77%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/commands/AbstractCommand.java (80%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/commands/BuildSubCommand.java (86%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/commands/CancelSubCommand.java (65%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/commands/ExcavatedSubCommand.java (83%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/commands/HyphenArgument.java (93%) create mode 100644 src/main/java/com/promcteam/blueprint/commands/InfoSubCommand.java rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/commands/LoadSubCommand.java (70%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/commands/NPCSubCommand.java (69%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/commands/PreviewSubCommand.java (72%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/commands/ReloadSubCommand.java (59%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/commands/SchematicBuilderCommand.java (77%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/commands/StructureSubCommand.java (76%) create mode 100644 src/main/java/com/promcteam/blueprint/commands/SurveySubCommand.java rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/hooks/DenizenSupport.java (96%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/hooks/WorldEditManager.java (97%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/hooks/citizens/BuilderTeleportStuckAction.java (95%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/hooks/citizens/BuilderTrait.java (73%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/hooks/citizens/persistence/MaterialIntegerMapPersistenceLoader.java (74%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/hooks/citizens/persistence/MaterialMapWrapper.java (85%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java (65%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/hooks/citizens/persistence/SchematicPersistenceLoader.java (59%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/listener/BuilderListener.java (78%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/listener/SelectionListener.java (97%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/listener/TraitListener.java (61%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/listener/UpdaterListener.java (60%) create mode 100644 src/main/java/com/promcteam/blueprint/menus/BuildPatternMenu.java rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/menus/BuilderListMenu.java (61%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/menus/BuilderMenu.java (73%) create mode 100644 src/main/java/com/promcteam/blueprint/menus/CitizensActionsMenu.java rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/menus/ExcavatedMenu.java (77%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/menus/MaterialsMenu.java (51%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/menus/SchematicListMenu.java (50%) create mode 100644 src/main/java/com/promcteam/blueprint/menus/SchematicMenu.java create mode 100644 src/main/java/com/promcteam/blueprint/menus/SettingsMenu.java create mode 100644 src/main/java/com/promcteam/blueprint/menus/TiersMenu.java rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/ByteArrayTag.java (97%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/ByteTag.java (96%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/CompoundTag.java (99%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/CompoundTagBuilder.java (99%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/DoubleTag.java (96%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/EndTag.java (96%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/EndianSwitchableInputStream.java (98%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/FloatTag.java (96%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/IntArrayTag.java (97%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/IntTag.java (96%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/ListTag.java (97%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/ListTagBuilder.java (91%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/LongArrayTag.java (92%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/LongTag.java (96%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/NBTConstants.java (97%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/NBTInputStream.java (98%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/NBTOutputStream.java (99%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/NBTUtils.java (97%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/NamedTag.java (94%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/ShortTag.java (96%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/StringTag.java (97%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nbt/Tag.java (96%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nms/NMS.java (86%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nms/TileChecker.java (79%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nms/providers/NMSProvider.java (83%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nms/providers/NMSProvider_1_16.java (98%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nms/providers/NMSProvider_1_17.java (91%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nms/providers/NMSProvider_1_18.java (53%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/nms/providers/NMSProvider_1_19.java (80%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/schematic/RawSchematic.java (77%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/schematic/Schematic.java (84%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/schematic/SchematicEntity.java (62%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/schematic/SchematicTier.java (84%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/schematic/YAMLSchematic.java (60%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/schematic/blocks/DataBuildBlock.java (87%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/schematic/blocks/EmptyBuildBlock.java (88%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/schematic/blocks/EntityMap.java (76%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/schematic/blocks/TileBuildBlock.java (85%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/util/Cuboid.java (96%) rename src/main/java/{fr/weefle/constructor => com/promcteam/blueprint}/util/Util.java (90%) delete mode 100644 src/main/java/fr/weefle/constructor/API/TileChecker.java delete mode 100644 src/main/java/fr/weefle/constructor/commands/InfoSubCommand.java delete mode 100644 src/main/java/fr/weefle/constructor/commands/SurveySubCommand.java delete mode 100644 src/main/java/fr/weefle/constructor/menus/BuildPatternMenu.java delete mode 100644 src/main/java/fr/weefle/constructor/menus/CitizensActionsMenu.java delete mode 100644 src/main/java/fr/weefle/constructor/menus/SchematicMenu.java delete mode 100644 src/main/java/fr/weefle/constructor/menus/SettingsMenu.java delete mode 100644 src/main/java/fr/weefle/constructor/menus/TiersMenu.java diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 5061adf..6b4e6dd 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -48,14 +48,14 @@ body: description: | examples: - **Server Software**: Paper Spigot 1.17.1 - - **ProSchematicBuilder Version**: 1.1.7.3-ALPHA - - **ProMCCore Version**: 1.0.3.1-ALPHA + - **Blueprint Version**: 1.1.7.3-ALPHA + - **Codex Version**: 1.0.3.1-ALPHA Then run `/plugins` on your server and paste that list for us. value: | - Server Software: - - ProSkillAPI Version: - - ProMCCore Version: + - Fabled Version: + - Codex Version: - Plugins: render: markdown validations: diff --git a/.github/notify_published.py b/.github/notify_published.py index 2be4c07..ab24764 100644 --- a/.github/notify_published.py +++ b/.github/notify_published.py @@ -23,7 +23,7 @@ def get_info(): version, name, url = get_info() if not is_dev: url = url.replace('https://s01.oss.sonatype.org:443/service/local/staging/deployByRepositoryId/compromcteam-1002', - 'https://s01.oss.sonatype.org/service/local/repositories/releases/content') + 'https://s01.oss.sonatype.org/service/local/repositories/releases/content') embed = { 'author': { 'name': 'New ' + ('Dev ' if is_dev else '') + 'Build Available!', diff --git a/.github/update_version.py b/.github/update_version.py index 327c1f0..cbc29d5 100644 --- a/.github/update_version.py +++ b/.github/update_version.py @@ -27,7 +27,7 @@ def replace_version(): else: version = ver[0][2] minor = int(ver[0][3]) - new_version = version[:-(len(str(minor)))] + str(minor+1) + new_version = version[:-(len(str(minor)))] + str(minor + 1) contents = re.sub(regex, ' ' + new_version + '', contents, diff --git a/README.md b/README.md index 3b8d5c1..9e5bf66 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,36 @@ -[![Build](https://github.com/promcteam/ProSchematicBuilder/actions/workflows/maven.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/proschematicbuilder/) -[![Build](https://github.com/promcteam/ProSchematicBuilder/actions/workflows/release.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/proschematicbuilder/) -[![Build](https://github.com/promcteam/ProSchematicBuilder/actions/workflows/devbuild.yml/badge.svg?branch=dev)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/proschematicbuilder/1.0-R0.10-SNAPSHOT/) +[![Build](https://github.com/promcteam/blueprint/actions/workflows/maven.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/blueprint/) +[![Build](https://github.com/promcteam/blueprint/actions/workflows/release.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/blueprint/) +[![Build](https://github.com/promcteam/blueprint/actions/workflows/devbuild.yml/badge.svg?branch=dev)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/blueprint/1.0.0-R0.1-SNAPSHOT/) -# ProSchematicBuilder -Let [Citizens](https://www.spigotmc.org/resources/citizens.13811/) NPCs build your schematics and structures block by +# Blueprint + +Let [Citizens](https://www.spigotmc.org/resources/citizens.13811/) NPCs build your schematics and structures block by block. ## Dependencies - [Citizens](https://www.spigotmc.org/resources/citizens.13811/) -- [ProMCCore](https://www.spigotmc.org/resources/promccore.93608/) +- [Codex](https://www.spigotmc.org/resources/promccore.93608/) ## Usage + 1) Create a NPC with Citizens and give it the 'builder' trait. Example: `/npc create Bob --trait builder` 2) Select the NPC, either by right clicking them or through `/npc select ` -3) Load a schematic with `/schematicbuilder load `. +3) Load a schematic with `/blueprint load `. -Example: `/schematicbuilder load house.schem` +Example: `/blueprint load house.schem` This will load the included example file `house.schem`. 4) Position the NPC in the center of the area in which it should build. -5) Start the NPC building with: `/schematicbuilder build` +5) Start the NPC building with: `/blueprint build` 6) Watch the magic happen! + +### A huge thanks to our contributors + + + + \ No newline at end of file diff --git a/doc/README.md b/doc/README.md index ccc08a6..1edf994 100644 --- a/doc/README.md +++ b/doc/README.md @@ -1,33 +1,36 @@ -[![Build](https://github.com/promcteam/ProSchematicBuilder/actions/workflows/maven.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/proschematicbuilder/) -[![Build](https://github.com/promcteam/ProSchematicBuilder/actions/workflows/release.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/proschematicbuilder/) -[![Build](https://github.com/promcteam/ProSchematicBuilder/actions/workflows/devbuild.yml/badge.svg?branch=dev)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/proschematicbuilder/${project.version}/) +[![Build](https://github.com/promcteam/${project.artifactId}/actions/workflows/maven.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/${project.artifactId}/) +[![Build](https://github.com/promcteam/${project.artifactId}/actions/workflows/release.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/${project.artifactId}/) +[![Build](https://github.com/promcteam/${project.artifactId}/actions/workflows/devbuild.yml/badge.svg?branch=dev)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/${project.artifactId}/${project.version}/) # ${project.name} -Let [Citizens](https://www.spigotmc.org/resources/citizens.13811/) NPCs build your schematics and structures block by + +Let [Citizens](https://www.spigotmc.org/resources/citizens.13811/) NPCs build your schematics and structures block by block. ## Dependencies - [Citizens](https://www.spigotmc.org/resources/citizens.13811/) -- [ProMCCore](https://www.spigotmc.org/resources/promccore.93608/) +- [Codex](https://www.spigotmc.org/resources/promccore.93608/) ## Usage + 1) Create a NPC with Citizens and give it the 'builder' trait. Example: `/npc create Bob --trait builder` 2) Select the NPC, either by right clicking them or through `/npc select ` -3) Load a schematic with `/schematicbuilder load `. +3) Load a schematic with `/blueprint load `. -Example: `/schematicbuilder load house.schem` +Example: `/blueprint load house.schem` This will load the included example file `house.schem`. 4) Position the NPC in the center of the area in which it should build. -5) Start the NPC building with: `/schematicbuilder build` +5) Start the NPC building with: `/blueprint build` 6) Watch the magic happen! ### A huge thanks to our contributors - - + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index b4c9d59..2a6c2f5 100644 --- a/pom.xml +++ b/pom.xml @@ -1,6 +1,6 @@ 4.0.0 @@ -10,16 +10,15 @@ 1.20.4-SNAPSHOT - com.promcteam - proschematicbuilder - 1.0-R0.11-SNAPSHOT + blueprint + 1.0.0-R0.1-SNAPSHOT 1.8 - 1.0.6-R0.3-SNAPSHOT + 1.0.0-R0.1-SNAPSHOT - ProSchematicBuilder + Blueprint Let NPCs build your schematics and structures block by block with Citizens @@ -51,7 +50,7 @@ com.promcteam - promccore + codex net.citizensnpcs @@ -81,7 +80,7 @@ com.github.shynixn.structureblocklib structureblocklib-bukkit-api - 2.10.0 + 2.12.0 provided @@ -111,8 +110,8 @@ 3.0.0-M7 - ${promccore.version} - ${project.version} + ${codex.version} + ${project.version} diff --git a/src/main/java/fr/weefle/constructor/API/SchematicBuilderAPI.java b/src/main/java/com/promcteam/blueprint/API/BlueprintAPI.java similarity index 50% rename from src/main/java/fr/weefle/constructor/API/SchematicBuilderAPI.java rename to src/main/java/com/promcteam/blueprint/API/BlueprintAPI.java index ffff6c9..d9d4a09 100644 --- a/src/main/java/fr/weefle/constructor/API/SchematicBuilderAPI.java +++ b/src/main/java/com/promcteam/blueprint/API/BlueprintAPI.java @@ -1,16 +1,24 @@ -package fr.weefle.constructor.api; +package com.promcteam.blueprint.API; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.api.npc.NPCRegistry; import org.bukkit.Location; import org.bukkit.entity.Player; -public class SchematicBuilderAPI { +public class BlueprintAPI { - public static boolean npcBuild(int npcId, Location location, Float speed, boolean ignoreAir, boolean ignoreLiquid, boolean excavate, BuilderTrait.BuildPatternXZ buildPattern, String schematic, Player player) throws Exception { + public static boolean npcBuild(int npcId, + Location location, + Float speed, + boolean ignoreAir, + boolean ignoreLiquid, + boolean excavate, + BuilderTrait.BuildPatternXZ buildPattern, + String schematic, + Player player) throws Exception { NPCRegistry registry = CitizensAPI.getNPCRegistry(); NPC npc = registry.getById(npcId); @@ -24,7 +32,7 @@ public static boolean npcBuild(int npcId, Location location, Float speed, boolea bt.setIgnoreAir(ignoreLiquid); bt.setExcavate(excavate); bt.setBuildPatternXZ(buildPattern); - bt.setSchematic(SchematicBuilder.getSchematic(schematic.trim())); + bt.setSchematic(Blueprint.getSchematic(schematic.trim())); return bt.TryBuild(player); } diff --git a/src/main/java/fr/weefle/constructor/API/StructureUtil.java b/src/main/java/com/promcteam/blueprint/API/StructureUtil.java similarity index 51% rename from src/main/java/fr/weefle/constructor/API/StructureUtil.java rename to src/main/java/com/promcteam/blueprint/API/StructureUtil.java index 53a08f6..a654d6a 100644 --- a/src/main/java/fr/weefle/constructor/API/StructureUtil.java +++ b/src/main/java/com/promcteam/blueprint/API/StructureUtil.java @@ -1,7 +1,7 @@ -package fr.weefle.constructor.api; +package com.promcteam.blueprint.API; import com.github.shynixn.structureblocklib.api.bukkit.StructureBlockLibApi; -import fr.weefle.constructor.SchematicBuilder; +import com.promcteam.blueprint.Blueprint; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.util.Vector; @@ -13,17 +13,21 @@ public class StructureUtil { public static void save(Location start, Vector size, String name) { - Path path = SchematicBuilder.getInstance().getDataFolder().toPath().resolve("schematics\\" + name + ".nbt"); + Path path = Blueprint.getInstance().getDataFolder().toPath().resolve("schematics\\" + name + ".nbt"); StructureBlockLibApi.INSTANCE - .saveStructure(SchematicBuilder.getInstance()) + .saveStructure(Blueprint.getInstance()) .at(new Location(start.getWorld(), start.getX(), start.getY(), start.getZ())) .sizeX(size.getBlockX()) .sizeY(size.getBlockY()) .sizeZ(size.getBlockZ()) .saveToPath(path) - .onException(e -> SchematicBuilder.getInstance().getLogger().log(Level.SEVERE, "Failed to save structure.", e)) - .onResult(e -> SchematicBuilder.getInstance().getLogger().log(Level.INFO, ChatColor.GREEN + "Saved structure '" + name + "'.")); + .onException(e -> Blueprint.getInstance() + .getLogger() + .log(Level.SEVERE, "Failed to save structure.", e)) + .onResult(e -> Blueprint.getInstance() + .getLogger() + .log(Level.INFO, ChatColor.GREEN + "Saved structure '" + name + "'.")); } diff --git a/src/main/java/com/promcteam/blueprint/API/TileChecker.java b/src/main/java/com/promcteam/blueprint/API/TileChecker.java new file mode 100644 index 0000000..2e9087e --- /dev/null +++ b/src/main/java/com/promcteam/blueprint/API/TileChecker.java @@ -0,0 +1,18 @@ +package com.promcteam.blueprint.API; + +import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; +import org.bukkit.block.Block; + +import java.lang.reflect.InvocationTargetException; + +public interface TileChecker { + + void check(EmptyBuildBlock next, Block pending) throws + NoSuchMethodException, + InvocationTargetException, + IllegalAccessException, + ClassNotFoundException, + InstantiationException; + + +} diff --git a/src/main/java/fr/weefle/constructor/SchematicBuilder.java b/src/main/java/com/promcteam/blueprint/Blueprint.java similarity index 72% rename from src/main/java/fr/weefle/constructor/SchematicBuilder.java rename to src/main/java/com/promcteam/blueprint/Blueprint.java index 2fe6c77..744b150 100644 --- a/src/main/java/fr/weefle/constructor/SchematicBuilder.java +++ b/src/main/java/com/promcteam/blueprint/Blueprint.java @@ -1,17 +1,17 @@ -package fr.weefle.constructor; +package com.promcteam.blueprint; import com.denizenscript.denizen.npc.traits.AssignmentTrait; import com.denizenscript.denizen.objects.NPCTag; import com.google.common.collect.MapMaker; -import fr.weefle.constructor.hooks.DenizenSupport; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import fr.weefle.constructor.listener.SelectionListener; -import fr.weefle.constructor.listener.TraitListener; -import fr.weefle.constructor.nms.NMS; -import fr.weefle.constructor.schematic.RawSchematic; -import fr.weefle.constructor.schematic.Schematic; -import fr.weefle.constructor.schematic.YAMLSchematic; -import mc.promcteam.engine.manager.api.menu.YAMLMenu; +import com.promcteam.blueprint.hooks.DenizenSupport; +import com.promcteam.blueprint.listener.SelectionListener; +import com.promcteam.blueprint.listener.TraitListener; +import com.promcteam.blueprint.nms.NMS; +import com.promcteam.blueprint.schematic.RawSchematic; +import com.promcteam.blueprint.schematic.Schematic; +import com.promcteam.blueprint.schematic.YAMLSchematic; +import com.promcteam.codex.manager.api.menu.YAMLMenu; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.npc.NPC; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -27,13 +27,13 @@ import java.util.Map; import java.util.logging.Level; -public class SchematicBuilder extends JavaPlugin { - private static SchematicBuilder instance; - private static final Map schematics = new MapMaker().weakValues().makeMap(); +public class Blueprint extends JavaPlugin { + private static Blueprint instance; + private static final Map schematics = new MapMaker().weakValues().makeMap(); - private Config config; + private Config config; private BuildingRegistry buildingRegistry; - private Plugin denizen; + private Plugin denizen; @Override public void onEnable() { @@ -60,7 +60,9 @@ public void onEnable() { }*/ reload(); - if (getServer().getPluginManager().getPlugin("Citizens") != null && getServer().getPluginManager().getPlugin("Citizens").isEnabled()) { + if (getServer().getPluginManager().getPlugin("Citizens") != null && getServer().getPluginManager() + .getPlugin("Citizens") + .isEnabled()) { getLogger().log(Level.INFO, "Citizens is now enabled"); } else { getLogger().log(Level.SEVERE, "Citizens not found or not enabled"); @@ -71,9 +73,9 @@ public void onEnable() { denizen = this.getServer().getPluginManager().getPlugin("Denizen"); if (denizen == null) { - getLogger().log(Level.INFO, "ProSchematicBuilder could not register with Denizen"); + getLogger().log(Level.INFO, "Blueprint could not register with Denizen"); } else { - getLogger().log(Level.INFO, "ProSchematicBuilder registered sucessfully with Denizen"); + getLogger().log(Level.INFO, "Blueprint registered sucessfully with Denizen"); } getServer().getPluginManager().registerEvents(new TraitListener(), this); @@ -115,24 +117,32 @@ public static BuilderTrait getBuilder(NPC npc) { @Nullable public static Schematic getSchematic(Path path) { - if (!path.toFile().isFile()) {return null;} - String string = path.toString(); - Schematic schematic = SchematicBuilder.schematics.get(string); - if (schematic instanceof YAMLSchematic) {return ((YAMLSchematic) schematic).copy();} - if (schematic != null) {return schematic;} + if (!path.toFile().isFile()) { + return null; + } + String string = path.toString(); + Schematic schematic = Blueprint.schematics.get(string); + if (schematic instanceof YAMLSchematic) { + return ((YAMLSchematic) schematic).copy(); + } + if (schematic != null) { + return schematic; + } if (string.endsWith(".schem") || string.endsWith(".nbt")) { schematic = new RawSchematic(path); } else if (string.endsWith(".yml")) { schematic = new YAMLSchematic(path); } - if (schematic == null) {return null;} - SchematicBuilder.schematics.put(schematic.getPath(), schematic); + if (schematic == null) { + return null; + } + Blueprint.schematics.put(schematic.getPath(), schematic); return schematic; } @Nullable public static Schematic getSchematic(String name) { - return getSchematic(new File(SchematicBuilder.getInstance().config().getSchematicsFolder(),name).toPath()); + return getSchematic(new File(Blueprint.getInstance().config().getSchematicsFolder(), name).toPath()); } public static String runTask(String taskname, NPC npc) { @@ -174,9 +184,14 @@ public void onDisable() { HandlerList.unregisterAll(this); } - public static SchematicBuilder getInstance() {return SchematicBuilder.instance;} + public static Blueprint getInstance() {return Blueprint.instance;} - public static String format(String input, NPC npc, Schematic schem, CommandSender player, String item, String amount) { + public static String format(String input, + NPC npc, + Schematic schem, + CommandSender player, + String item, + String amount) { input = input.replace("", npc.getName()); input = input.replace("", schem == null ? "" : schem.getDisplayName()); input = input.replace("", player == null ? "" : player.getName()); diff --git a/src/main/java/fr/weefle/constructor/BuildingRegistry.java b/src/main/java/com/promcteam/blueprint/BuildingRegistry.java similarity index 60% rename from src/main/java/fr/weefle/constructor/BuildingRegistry.java rename to src/main/java/com/promcteam/blueprint/BuildingRegistry.java index 2885573..6f3e121 100644 --- a/src/main/java/fr/weefle/constructor/BuildingRegistry.java +++ b/src/main/java/com/promcteam/blueprint/BuildingRegistry.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor; +package com.promcteam.blueprint; import org.bukkit.Location; import org.bukkit.configuration.file.YamlConfiguration; @@ -15,20 +15,23 @@ public class BuildingRegistry { private static final String FILE_NAME = "persistent-buildings.yml"; - private final Map buildings = new HashMap<>(); - private YamlConfiguration config; + private final Map buildings = new HashMap<>(); + private YamlConfiguration config; void load() { - SchematicBuilder plugin = SchematicBuilder.getInstance(); - File file = new File(plugin.getDataFolder(), FILE_NAME); - if (!file.exists()) {plugin.saveResource(FILE_NAME, false);} + Blueprint plugin = Blueprint.getInstance(); + File file = new File(plugin.getDataFolder(), FILE_NAME); + if (!file.exists()) { + plugin.saveResource(FILE_NAME, false); + } this.config = YamlConfiguration.loadConfiguration(file); for (String key : this.config.getKeys(false)) { try { - PersistentBuilding building = new PersistentBuilding(key, Objects.requireNonNull(this.config.getConfigurationSection(key))); + PersistentBuilding building = + new PersistentBuilding(key, Objects.requireNonNull(this.config.getConfigurationSection(key))); this.buildings.put(building.getUUID(), building); } catch (Exception e) { - SchematicBuilder.getInstance().getLogger().warning("Failed to load building '"+key+'\''); + Blueprint.getInstance().getLogger().warning("Failed to load building '" + key + '\''); e.printStackTrace(); } } @@ -36,8 +39,10 @@ void load() { void save() { try { - this.config.save(new File(SchematicBuilder.getInstance().getDataFolder(), FILE_NAME)); - } catch (IOException e) {throw new RuntimeException(e);} + this.config.save(new File(Blueprint.getInstance().getDataFolder(), FILE_NAME)); + } catch (IOException e) { + throw new RuntimeException(e); + } } @Nullable @@ -52,8 +57,12 @@ void registerBuilding(PersistentBuilding building) { public PersistentBuilding getPersistentBuilding(Location location) { Vector vector = location.toVector(); for (PersistentBuilding persistentBuilding : this.buildings.values()) { - if (!persistentBuilding.getWorld().equals(location.getWorld())) {continue;} - if (persistentBuilding.getBoundingBox().contains(vector)) {return persistentBuilding;} + if (!persistentBuilding.getWorld().equals(location.getWorld())) { + continue; + } + if (persistentBuilding.getBoundingBox().contains(vector)) { + return persistentBuilding; + } } return null; } diff --git a/src/main/java/fr/weefle/constructor/Config.java b/src/main/java/com/promcteam/blueprint/Config.java similarity index 84% rename from src/main/java/fr/weefle/constructor/Config.java rename to src/main/java/com/promcteam/blueprint/Config.java index 65feda7..e9129b2 100644 --- a/src/main/java/fr/weefle/constructor/Config.java +++ b/src/main/java/com/promcteam/blueprint/Config.java @@ -1,16 +1,13 @@ -package fr.weefle.constructor; +package com.promcteam.blueprint; -import org.bukkit.Material; import org.bukkit.configuration.file.FileConfiguration; import java.io.File; -import java.util.ArrayList; -import java.util.List; public class Config { - private final String schematicsFolder; - private final double moveTimeoutTicks; - private final boolean ignoreProtection, holdItems, requireMaterials; + private final String schematicsFolder; + private final double moveTimeoutTicks; + private final boolean ignoreProtection, holdItems, requireMaterials; private final String startedMessage, @@ -24,15 +21,15 @@ public class Config { collectingMessage, cantWhileBuilding, noSchematicSelected, - cantMoveSchematic - ; + cantMoveSchematic; Config() { - SchematicBuilder plugin = SchematicBuilder.getInstance(); + Blueprint plugin = Blueprint.getInstance(); plugin.saveDefaultConfig(); plugin.reloadConfig(); FileConfiguration config = plugin.getConfig(); - schematicsFolder = config.getString("SchematicsFolder", plugin.getDataFolder() + File.separator + "schematics" + File.separator); + schematicsFolder = config.getString("SchematicsFolder", + plugin.getDataFolder() + File.separator + "schematics" + File.separator); moveTimeoutTicks = config.getDouble("DefaultOptions.MoveTimeoutSeconds", 1); ignoreProtection = config.getBoolean("DefaultOptions.IgnoreProtection"); holdItems = config.getBoolean("DefaultOptions.HoldItems"); diff --git a/src/main/java/fr/weefle/constructor/Metrics.java b/src/main/java/com/promcteam/blueprint/Metrics.java similarity index 97% rename from src/main/java/fr/weefle/constructor/Metrics.java rename to src/main/java/com/promcteam/blueprint/Metrics.java index 43eb50d..708de3f 100644 --- a/src/main/java/fr/weefle/constructor/Metrics.java +++ b/src/main/java/com/promcteam/blueprint/Metrics.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor; +package com.promcteam.blueprint; import org.bukkit.Bukkit; import org.bukkit.configuration.file.YamlConfiguration; @@ -33,7 +33,8 @@ public class Metrics { static { // You can use the property to disable the check in your test environment - if (System.getProperty("bstats.relocatecheck") == null || !System.getProperty("bstats.relocatecheck").equals("false")) { + if (System.getProperty("bstats.relocatecheck") == null || !System.getProperty("bstats.relocatecheck") + .equals("false")) { // Maven's Relocate is clever and changes strings, too. So we have to use this little "trick" ... :D final String defaultPackage = new String( new byte[]{'o', 'r', 'g', '.', 'b', 's', 't', 'a', 't', 's', '.', 'b', 'u', 'k', 'k', 'i', 't'}); @@ -52,7 +53,9 @@ public class Metrics { 'e' }); // We want to make sure nobody just copy & pastes the example and use the wrong package names - if (Metrics.class.getPackage().getName().equals(defaultPackage) || Metrics.class.getPackage().getName().equals(examplePackage)) { + if (Metrics.class.getPackage().getName().equals(defaultPackage) || Metrics.class.getPackage() + .getName() + .equals(examplePackage)) { throw new IllegalStateException("bStats Metrics class has not been relocated correctly!"); } } @@ -111,7 +114,8 @@ public Metrics(JavaPlugin plugin) { ).copyDefaults(true); try { config.save(configFile); - } catch (IOException ignored) {} + } catch (IOException ignored) { + } } // Load the data @@ -125,7 +129,8 @@ public Metrics(JavaPlugin plugin) { service.getField("B_STATS_VERSION"); // Our identifier :) found = true; // We aren't the first break; - } catch (NoSuchFieldException ignored) {} + } catch (NoSuchFieldException ignored) { + } } // Register our service Bukkit.getServicesManager().register(Metrics.class, this, plugin, ServicePriority.Normal); @@ -264,9 +269,12 @@ private void submitData() { for (RegisteredServiceProvider provider : Bukkit.getServicesManager().getRegistrations(service)) { try { pluginData.add(provider.getService().getMethod("getPluginData").invoke(provider.getProvider())); - } catch (NullPointerException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ignored) {} + } catch (NullPointerException | NoSuchMethodException | IllegalAccessException | + InvocationTargetException ignored) { + } } - } catch (NoSuchFieldException ignored) {} + } catch (NoSuchFieldException ignored) { + } } data.put("plugins", pluginData); @@ -281,7 +289,8 @@ public void run() { } catch (Exception e) { // Something went wrong! :( if (logFailedRequests) { - plugin.getLogger().log(Level.WARNING, "Could not submit plugin stats of " + plugin.getName(), e); + plugin.getLogger() + .log(Level.WARNING, "Could not submit plugin stats of " + plugin.getName(), e); } } } diff --git a/src/main/java/fr/weefle/constructor/PersistentBuilding.java b/src/main/java/com/promcteam/blueprint/PersistentBuilding.java similarity index 82% rename from src/main/java/fr/weefle/constructor/PersistentBuilding.java rename to src/main/java/com/promcteam/blueprint/PersistentBuilding.java index 4481dd9..bdb2c73 100644 --- a/src/main/java/fr/weefle/constructor/PersistentBuilding.java +++ b/src/main/java/com/promcteam/blueprint/PersistentBuilding.java @@ -1,6 +1,6 @@ -package fr.weefle.constructor; +package com.promcteam.blueprint; -import fr.weefle.constructor.schematic.YAMLSchematic; +import com.promcteam.blueprint.schematic.YAMLSchematic; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.World; @@ -24,19 +24,21 @@ public class PersistentBuilding implements ConfigurationSerializable { public PersistentBuilding(UUID uuid, YAMLSchematic schematic, int tier, Location origin) { this.uuid = uuid; - this.path = new File(SchematicBuilder.getInstance().config().getSchematicsFolder()).toPath().relativize(new File(schematic.getPath()).toPath()).toString(); + this.path = new File(Blueprint.getInstance().config().getSchematicsFolder()).toPath() + .relativize(new File(schematic.getPath()).toPath()) + .toString(); this.tier = tier; this.world = Objects.requireNonNull(origin.getWorld(), "provided origin location does not refer to a world"); this.boundingBox = BoundingBox.of(origin, origin.clone().add( schematic.getWidth(), schematic.getHeight(), schematic.getLength())); - SchematicBuilder.getInstance().getBuildingRegistry().registerBuilding(this); + Blueprint.getInstance().getBuildingRegistry().registerBuilding(this); } PersistentBuilding(String uuid, ConfigurationSection config) { this(UUID.fromString(uuid), - (YAMLSchematic) Objects.requireNonNull(SchematicBuilder.getSchematic(config.getString("path", null))), + (YAMLSchematic) Objects.requireNonNull(Blueprint.getSchematic(config.getString("path", null))), config.getInt("tier"), new Location(Bukkit.getWorld(Objects.requireNonNull(config.getString("world", null))), config.getInt("x"), @@ -49,7 +51,7 @@ public PersistentBuilding(UUID uuid, YAMLSchematic schematic, int tier, Location public String getPath() {return path;} public YAMLSchematic getSchematic() { - YAMLSchematic schematic = (YAMLSchematic) Objects.requireNonNull(SchematicBuilder.getSchematic(this.path)); + YAMLSchematic schematic = (YAMLSchematic) Objects.requireNonNull(Blueprint.getSchematic(this.path)); this.tier = schematic.setTier(this.tier); return schematic; } diff --git a/src/main/java/fr/weefle/constructor/Updater.java b/src/main/java/com/promcteam/blueprint/Updater.java similarity index 77% rename from src/main/java/fr/weefle/constructor/Updater.java rename to src/main/java/com/promcteam/blueprint/Updater.java index 3c92be1..8166996 100644 --- a/src/main/java/fr/weefle/constructor/Updater.java +++ b/src/main/java/com/promcteam/blueprint/Updater.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor; +package com.promcteam.blueprint; import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.YamlConfiguration; @@ -20,19 +20,19 @@ public class Updater private boolean log = false; private boolean enabled = true; public static boolean enabledingame = true; - private URL url; - private final SchematicBuilder m; + private URL url; + private final Blueprint m; - public Updater(SchematicBuilder m) { + public Updater(Blueprint m) { this.m = m; } - public Updater(SchematicBuilder plugin, int resourceID) + public Updater(Blueprint plugin, int resourceID) throws IOException { this(plugin, resourceID, true); } - public Updater(SchematicBuilder plugin, int resourceID, boolean log) + public Updater(Blueprint plugin, int resourceID, boolean log) throws IOException { if (plugin == null) { throw new IllegalArgumentException("Plugin cannot be null"); @@ -46,7 +46,7 @@ public Updater(SchematicBuilder plugin, int resourceID, boolean log) //this.url = new URL("https://api.spiget.org/v2/resources/" + resourceID + "/versions/latest"); this.url = new URL("https://pastebin.com/raw/MT8GTJNY"); - File configDir = new File(plugin.getDataFolder().getParentFile(), "ProSchematicBuilder"); + File configDir = new File(plugin.getDataFolder().getParentFile(), "Blueprint"); File config = new File(configDir, "updater.yml"); YamlConfiguration yamlConfig = new YamlConfiguration(); if (!configDir.exists()) { @@ -54,7 +54,8 @@ public Updater(SchematicBuilder plugin, int resourceID, boolean log) } if (!config.exists()) { config.createNewFile(); - yamlConfig.options().header("Configuration for the ProSchematicBuilder updater system\nit will inform you about new versions of all plugins which use this updater\n'enabled' specifies whether the system is enabled (affects all plugins)"); + yamlConfig.options() + .header("Configuration for the Blueprint updater system\nit will inform you about new versions of all plugins which use this updater\n'enabled' specifies whether the system is enabled (affects all plugins)"); yamlConfig.options().copyDefaults(true); yamlConfig.addDefault("enabled", Boolean.valueOf(true)); @@ -88,7 +89,8 @@ public void run() { HttpURLConnection connection = null; try { connection = (HttpURLConnection) this.url.openConnection(); - connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"); + connection.setRequestProperty("User-Agent", + "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"); connection.setRequestMethod("GET"); BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); @@ -102,7 +104,8 @@ public void run() { JSONObject json = null; try { json = (JSONObject) new JSONParser().parse(content); - } catch (ParseException e) {} + } catch (ParseException e) { + } String currentVersion = null; if ((json != null) && (json.containsKey("name"))) { String version = (String) json.get("name"); @@ -113,12 +116,16 @@ public void run() { if (currentVersion == null) { if (this.log) { m.getLogger().warning("[Updater] Invalid response received."); - m.getLogger().warning("[Updater] Either the author of this plugin has configured the updater wrong, or the API is experiencing some issues."); + m.getLogger() + .warning( + "[Updater] Either the author of this plugin has configured the updater wrong, or the API is experiencing some issues."); } return; } if (!currentVersion.equals(m.getDescription().getVersion())) { - m.getLogger().info("[Updater] Found new version: " + currentVersion + "! (Your version is " + m.getDescription().getVersion() + ")"); + m.getLogger() + .info("[Updater] Found new version: " + currentVersion + "! (Your version is " + + m.getDescription().getVersion() + ")"); m.getLogger().info("[Updater] Download here: http://www.spigotmc.org/resources/" + this.id); update = true; } else if (this.log) { @@ -130,7 +137,8 @@ public void run() { try { int code = connection.getResponseCode(); m.getLogger().warning("[Updater] API connection returned response code " + code); - } catch (IOException e1) {} + } catch (IOException e1) { + } } e.printStackTrace(); } diff --git a/src/main/java/fr/weefle/constructor/commands/AbstractCommand.java b/src/main/java/com/promcteam/blueprint/commands/AbstractCommand.java similarity index 80% rename from src/main/java/fr/weefle/constructor/commands/AbstractCommand.java rename to src/main/java/com/promcteam/blueprint/commands/AbstractCommand.java index 9660c77..9d079d7 100644 --- a/src/main/java/fr/weefle/constructor/commands/AbstractCommand.java +++ b/src/main/java/com/promcteam/blueprint/commands/AbstractCommand.java @@ -1,7 +1,7 @@ -package fr.weefle.constructor.commands; +package com.promcteam.blueprint.commands; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.api.trait.trait.Owner; @@ -18,7 +18,7 @@ public abstract class AbstractCommand implements CommandExecutor, TabCompleter { protected final String command; protected final String description; protected final AbstractCommand parent; - protected final Map subCommands = new HashMap<>(); + protected final Map subCommands = new HashMap<>(); protected final Set> allowedSenders = new HashSet<>(); protected final Map hyphenArguments = new HashMap<>(); protected String permission; @@ -57,7 +57,10 @@ protected final void registerHyphenArgument(HyphenArgument hyphenArgument) { public String getPermission() {return this.permission;} @Override - public final boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { + public final boolean onCommand(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args) { boolean validSender = false; if (allowedSenders.isEmpty()) { validSender = true; @@ -70,11 +73,12 @@ public final boolean onCommand(@NotNull CommandSender sender, @NotNull Command c } } if (!validSender) { - sender.sendMessage(ChatColor.RED+"Command not runnable from here."); + sender.sendMessage(ChatColor.RED + "Command not runnable from here."); return true; } if (this.permission != null && !sender.hasPermission(this.permission)) { - sender.sendMessage(ChatColor.RED+"You lack the permission \""+this.permission+"\" to run that command."); + sender.sendMessage( + ChatColor.RED + "You lack the permission \"" + this.permission + "\" to run that command."); return true; } @@ -82,15 +86,16 @@ public final boolean onCommand(@NotNull CommandSender sender, @NotNull Command c arguments.addAll(Arrays.asList(args)); if (arguments.size() != 0) { try { - int id = Integer.parseInt(arguments.get(0)); + int id = Integer.parseInt(arguments.get(0)); NPC npc = CitizensAPI.getNPCRegistry().getById(id); arguments.remove(0); if (npc == null) { - sender.sendMessage(ChatColor.RED+"No NPC with id "+id+" found."); + sender.sendMessage(ChatColor.RED + "No NPC with id " + id + " found."); return true; } CitizensAPI.getDefaultNPCSelector().select(sender, npc); - } catch (NumberFormatException ignored) { } + } catch (NumberFormatException ignored) { + } } if (arguments.size() > 0) { @@ -106,7 +111,10 @@ public final boolean onCommand(@NotNull CommandSender sender, @NotNull Command c return true; } - public void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull List args) { + public void execute(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull List args) { sendUsage(sender); } @@ -129,9 +137,9 @@ public List getUsages(CommandSender sender) { List usages; if (arguments.isEmpty()) { usages = new ArrayList<>(1); - usages.add('/'+getFullCommand()); + usages.add('/' + getFullCommand()); } else { - List regularArguments = new ArrayList<>(); + List regularArguments = new ArrayList<>(); List optionalArguments = new ArrayList<>(); for (String argument : arguments) { (argument.startsWith("-") ? @@ -140,7 +148,7 @@ public List getUsages(CommandSender sender) { } usages = new ArrayList<>(arguments.size()); for (String argument : regularArguments) { - StringBuilder builder = new StringBuilder('/'+getFullCommand()+' '+argument); + StringBuilder builder = new StringBuilder('/' + getFullCommand() + ' ' + argument); for (String optionalArgument : optionalArguments) { builder.append(' ').append(optionalArgument); if (optionalArgument.endsWith("=")) { @@ -156,16 +164,21 @@ public List getUsages(CommandSender sender) { public final void sendUsage(@NotNull CommandSender sender) { List usages = getUsages(sender); if (usages.isEmpty()) { - sender.sendMessage(ChatColor.RED+"Incorrect command syntax"); + sender.sendMessage(ChatColor.RED + "Incorrect command syntax"); } else { sender.sendMessage("Command info:"); - for (String usage : usages) { sender.sendMessage(" "+usage); } + for (String usage : usages) { + sender.sendMessage(" " + usage); + } } } @Override @Nullable - public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { + public List onTabComplete(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args) { if (args.length == 0) { return getArguments(sender); } else { @@ -175,7 +188,7 @@ public List onTabComplete(@NotNull CommandSender sender, @NotNull Comman } if (args.length > 1) { - String beforeLast = args[args.length - 2]; + String beforeLast = args[args.length - 2]; HyphenArgument hyphenArgument = this.hyphenArguments.get(beforeLast); if (hyphenArgument != null) { List completions = new ArrayList<>(); @@ -202,14 +215,15 @@ protected static BuilderTrait getSelectedBuilder(CommandSender sender) { sender.sendMessage(ChatColor.RED + "You must have a NPC selected to use this command"); return null; } - BuilderTrait builderTrait = SchematicBuilder.getBuilder(npc); + BuilderTrait builderTrait = Blueprint.getBuilder(npc); if (builderTrait == null) { sender.sendMessage(ChatColor.RED + "The selected NPC is not a builder"); return null; } if (!(sender instanceof ConsoleCommandSender) && !sender.hasPermission("citizens.admin")) { Owner ownerTrait = npc.getTraitNullable(Owner.class); - if (ownerTrait != null && (!(sender instanceof Entity) || !((Entity) sender).getUniqueId().equals(ownerTrait.getOwnerId()))) { + if (ownerTrait != null && (!(sender instanceof Entity) || !((Entity) sender).getUniqueId() + .equals(ownerTrait.getOwnerId()))) { sender.sendMessage(ChatColor.RED + "You must be the owner of this NPC to execute this command"); return null; } @@ -219,10 +233,10 @@ protected static BuilderTrait getSelectedBuilder(CommandSender sender) { protected Map getHyphenArguments(List args) { Map map = new HashMap<>(); - for (int i = 0, last = args.size()-1; i < last; i++) { + for (int i = 0, last = args.size() - 1; i < last; i++) { String arg = args.get(i); if (hyphenArguments.keySet().stream().anyMatch(arg::equalsIgnoreCase)) { - map.put(arg, args.get(i+1)); + map.put(arg, args.get(i + 1)); } } return map; diff --git a/src/main/java/fr/weefle/constructor/commands/BuildSubCommand.java b/src/main/java/com/promcteam/blueprint/commands/BuildSubCommand.java similarity index 86% rename from src/main/java/fr/weefle/constructor/commands/BuildSubCommand.java rename to src/main/java/com/promcteam/blueprint/commands/BuildSubCommand.java index 5b8dce7..2f10d73 100644 --- a/src/main/java/fr/weefle/constructor/commands/BuildSubCommand.java +++ b/src/main/java/com/promcteam/blueprint/commands/BuildSubCommand.java @@ -1,6 +1,6 @@ -package fr.weefle.constructor.commands; +package com.promcteam.blueprint.commands; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.npc.NPC; import org.bukkit.ChatColor; import org.bukkit.command.Command; @@ -30,9 +30,14 @@ public BuildSubCommand(@Nullable SchematicBuilderCommand parent) { } @Override - public void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull List args) { + public void execute(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull List args) { BuilderTrait builder = getSelectedBuilder(sender); - if (builder == null) {return;} + if (builder == null) { + return; + } NPC npc = builder.getNPC(); if (builder.getState() == BuilderTrait.BuilderState.BUILDING) { if (!builder.isSilent()) { @@ -48,10 +53,12 @@ public void execute(@NotNull CommandSender sender, @NotNull Command command, @No builder.setSilent(Boolean.parseBoolean(value)); } else if (arg.equalsIgnoreCase("onComplete")) { builder.setOnComplete(value); - sender.sendMessage(ChatColor.GREEN + npc.getName() + " will run task " + value + " on build completion"); + sender.sendMessage( + ChatColor.GREEN + npc.getName() + " will run task " + value + " on build completion"); } else if (arg.equalsIgnoreCase("onCancel")) { builder.setOnCancel(value); - sender.sendMessage(ChatColor.GREEN + npc.getName() + " will run task " + value + " on build cancellation"); + sender.sendMessage( + ChatColor.GREEN + npc.getName() + " will run task " + value + " on build cancellation"); } else if (arg.equalsIgnoreCase("onStart")) { builder.setOnStart(value); sender.sendMessage(ChatColor.GREEN + npc.getName() + " will run task " + value + " on build start"); diff --git a/src/main/java/fr/weefle/constructor/commands/CancelSubCommand.java b/src/main/java/com/promcteam/blueprint/commands/CancelSubCommand.java similarity index 65% rename from src/main/java/fr/weefle/constructor/commands/CancelSubCommand.java rename to src/main/java/com/promcteam/blueprint/commands/CancelSubCommand.java index 55410d3..6a8c78b 100644 --- a/src/main/java/fr/weefle/constructor/commands/CancelSubCommand.java +++ b/src/main/java/com/promcteam/blueprint/commands/CancelSubCommand.java @@ -1,7 +1,7 @@ -package fr.weefle.constructor.commands; +package com.promcteam.blueprint.commands; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.npc.NPC; import org.bukkit.ChatColor; import org.bukkit.command.Command; @@ -18,16 +18,21 @@ public CancelSubCommand(@Nullable SchematicBuilderCommand parent) { } @Override - public void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull List args) { + public void execute(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull List args) { BuilderTrait builder = getSelectedBuilder(sender); - if (builder == null) {return;} + if (builder == null) { + return; + } if (args.size() != 0) { sendUsage(sender); return; } NPC npc = builder.getNPC(); if (builder.getState() != BuilderTrait.BuilderState.IDLE) { - sender.sendMessage(SchematicBuilder.format(SchematicBuilder.getInstance().config().getCancelMessage(), npc, + sender.sendMessage(Blueprint.format(Blueprint.getInstance().config().getCancelMessage(), npc, builder.getSchematic(), sender, null, "0")); } else { sender.sendMessage(ChatColor.RED + npc.getName() + " is not building."); diff --git a/src/main/java/fr/weefle/constructor/commands/ExcavatedSubCommand.java b/src/main/java/com/promcteam/blueprint/commands/ExcavatedSubCommand.java similarity index 83% rename from src/main/java/fr/weefle/constructor/commands/ExcavatedSubCommand.java rename to src/main/java/com/promcteam/blueprint/commands/ExcavatedSubCommand.java index e94e853..be45ded 100644 --- a/src/main/java/fr/weefle/constructor/commands/ExcavatedSubCommand.java +++ b/src/main/java/com/promcteam/blueprint/commands/ExcavatedSubCommand.java @@ -1,6 +1,6 @@ -package fr.weefle.constructor.commands; +package com.promcteam.blueprint.commands; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.npc.NPC; import org.bukkit.ChatColor; import org.bukkit.Material; @@ -23,9 +23,14 @@ public ExcavatedSubCommand(@Nullable SchematicBuilderCommand parent) { } @Override - public void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull List args) { + public void execute(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull List args) { BuilderTrait builder = getSelectedBuilder(sender); - if (builder == null) {return;} + if (builder == null) { + return; + } if (args.size() != 0) { sendUsage(sender); return; diff --git a/src/main/java/fr/weefle/constructor/commands/HyphenArgument.java b/src/main/java/com/promcteam/blueprint/commands/HyphenArgument.java similarity index 93% rename from src/main/java/fr/weefle/constructor/commands/HyphenArgument.java rename to src/main/java/com/promcteam/blueprint/commands/HyphenArgument.java index 945c3f6..f0b11b6 100644 --- a/src/main/java/fr/weefle/constructor/commands/HyphenArgument.java +++ b/src/main/java/com/promcteam/blueprint/commands/HyphenArgument.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.commands; +package com.promcteam.blueprint.commands; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/main/java/com/promcteam/blueprint/commands/InfoSubCommand.java b/src/main/java/com/promcteam/blueprint/commands/InfoSubCommand.java new file mode 100644 index 0000000..8749713 --- /dev/null +++ b/src/main/java/com/promcteam/blueprint/commands/InfoSubCommand.java @@ -0,0 +1,83 @@ +package com.promcteam.blueprint.commands; + +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import net.citizensnpcs.api.npc.NPC; +import org.bukkit.ChatColor; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class InfoSubCommand extends AbstractCommand { + public InfoSubCommand(@Nullable SchematicBuilderCommand parent) { + super("info", parent); + this.permission = "schematicbuilder.info"; + } + + @Override + public void execute(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull List args) { + BuilderTrait builder = getSelectedBuilder(sender); + if (builder == null) { + return; + } + NPC npc = builder.getNPC(); + + if (args.size() != 0) { + sendUsage(sender); + return; + } + + sender.sendMessage(ChatColor.GOLD + "----- Builder Info for " + npc.getName() + '<' + npc.getId() + "> ------"); + + // DecimalFormat df= new DecimalFormat("#"); + + if (builder.getSchematic() != null) { + sender.sendMessage(ChatColor.GREEN + "Schematic: " + builder.getSchematic().getInfo()); + } else { + sender.sendMessage(ChatColor.YELLOW + "No schematic loaded."); + } + + if (builder.getOrigin() == null) { + sender.sendMessage(ChatColor.GREEN + "Origin: " + ChatColor.WHITE + "My Location"); + } else { + sender.sendMessage(ChatColor.GREEN + "Origin: " + ChatColor.WHITE + builder.getOrigin()); + } + + sender.sendMessage( + ChatColor.GREEN + "Status: " + ChatColor.WHITE + builder.getState() + ChatColor.GREEN + " Timeout: " + + ChatColor.WHITE + builder.getMoveTimeoutSeconds()); + sender.sendMessage( + ChatColor.GREEN + "Require Mats: " + ChatColor.WHITE + builder.requiresMaterials() + ChatColor.GREEN + + " Hold Items: " + ChatColor.WHITE + builder.holdsItems()); + + if (builder.getState() == BuilderTrait.BuilderState.BUILDING) { + sender.sendMessage( + ChatColor.BLUE + "Location: " + ChatColor.WHITE + " x:" + builder.getOrigin().getBlockX() + " y:" + + builder.getOrigin().getBlockY() + " z:" + builder.getOrigin().getBlockZ()); + sender.sendMessage(ChatColor.BLUE + "Build Pattern XZ: " + ChatColor.WHITE + builder.getBuildPatternXZ() + + ChatColor.BLUE + " Build Y Layers: " + ChatColor.WHITE + builder.getBuildYLayers()); + sender.sendMessage( + ChatColor.BLUE + "Ignore Air: " + ChatColor.WHITE + builder.isIgnoreAir() + ChatColor.BLUE + + " Ignore Liquid: " + ChatColor.WHITE + builder.ignoresLiquids()); + sender.sendMessage(ChatColor.BLUE + "Hold Items: " + ChatColor.WHITE + builder.holdsItems() + ChatColor.BLUE + + " Excavate: " + ChatColor.WHITE + builder.isExcavate()); + sender.sendMessage( + ChatColor.BLUE + "On Complete: " + ChatColor.WHITE + builder.getOnComplete() + ChatColor.BLUE + " " + + + "On Cancel: " + ChatColor.WHITE + builder.getOnCancel()); + long c = builder.startingcount; + sender.sendMessage( + ChatColor.BLUE + "Blocks: Total: " + ChatColor.WHITE + c + ChatColor.BLUE + " Remaining: " + + ChatColor.WHITE + builder.getQueuedBlocks()); + double percent = ((double) (c - builder.getQueuedBlocks()) / (double) c) * 100; + sender.sendMessage( + ChatColor.BLUE + "Complete: " + ChatColor.WHITE + String.format("%1$.1f", percent) + "%"); + } + } + +} diff --git a/src/main/java/fr/weefle/constructor/commands/LoadSubCommand.java b/src/main/java/com/promcteam/blueprint/commands/LoadSubCommand.java similarity index 70% rename from src/main/java/fr/weefle/constructor/commands/LoadSubCommand.java rename to src/main/java/com/promcteam/blueprint/commands/LoadSubCommand.java index fa547d7..6faba8f 100644 --- a/src/main/java/fr/weefle/constructor/commands/LoadSubCommand.java +++ b/src/main/java/com/promcteam/blueprint/commands/LoadSubCommand.java @@ -1,8 +1,8 @@ -package fr.weefle.constructor.commands; +package com.promcteam.blueprint.commands; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import fr.weefle.constructor.schematic.Schematic; +import com.promcteam.blueprint.schematic.Schematic; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -29,27 +29,33 @@ public LoadSubCommand(@Nullable SchematicBuilderCommand parent) { public List getArguments(CommandSender sender) { List files = new ArrayList<>(); try { - Path dir = new File(SchematicBuilder.getInstance().config().getSchematicsFolder()).toPath(); + Path dir = new File(Blueprint.getInstance().config().getSchematicsFolder()).toPath(); Files.walk(dir).forEach(path -> { String stringPath = path.toString(); - if (path.toFile().isFile() && (stringPath.endsWith(".schem") || stringPath.endsWith(".nbt") || stringPath.endsWith(".yml"))) { + if (path.toFile().isFile() && (stringPath.endsWith(".schem") || stringPath.endsWith(".nbt") + || stringPath.endsWith(".yml"))) { files.add(dir.relativize(path).toString()); } }); - } catch (IOException e) { throw new RuntimeException(e); } + } catch (IOException e) { + throw new RuntimeException(e); + } return files; } @Override public List getUsages(CommandSender sender) { List list = new ArrayList<>(); - list.add('/'+getFullCommand()+" "); + list.add('/' + getFullCommand() + " "); return list; } @Override @Nullable - public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { + public List onTabComplete(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull String[] args) { if (args.length == 0) { return getArguments(sender); } else { @@ -57,7 +63,7 @@ public List onTabComplete(@NotNull CommandSender sender, @NotNull Comman for (int i = 1; i < args.length; i++) { stringBuilder.append(" ").append(args[i]); } - String arg = stringBuilder.toString(); + String arg = stringBuilder.toString(); List completions = new ArrayList<>(); StringUtil.copyPartialMatches(stringBuilder.toString().trim(), getArguments(sender), completions); completions.removeIf(arg::startsWith); @@ -66,8 +72,11 @@ public List onTabComplete(@NotNull CommandSender sender, @NotNull Comman } @Override - public void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull List args) { - if (args.size() == 0) { + public void execute(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull List args) { + if (args.size() == 0) { sendUsage(sender); return; } @@ -93,7 +102,7 @@ public static void execute(String path, CommandSender sender, @Nullable Runnable @Override public void run() { try { - Schematic schematic = SchematicBuilder.getSchematic(path); + Schematic schematic = Blueprint.getSchematic(path); new BukkitRunnable() { @Override public void run() { @@ -105,24 +114,27 @@ public void run() { sender.sendMessage(schematic.getInfo()); } } - }.runTask(SchematicBuilder.getInstance()); + }.runTask(Blueprint.getInstance()); } catch (Exception e) { new BukkitRunnable() { @Override public void run() { - sender.sendMessage(ChatColor.RED + "Failed to load schematic " + path + ", check console for more details."); - SchematicBuilder.getInstance().getLogger().log(Level.WARNING, "Failed to load schematic: " + path); + sender.sendMessage(ChatColor.RED + "Failed to load schematic " + path + + ", check console for more details."); + Blueprint.getInstance() + .getLogger() + .log(Level.WARNING, "Failed to load schematic: " + path); e.printStackTrace(); } - }.runTask(SchematicBuilder.getInstance()); + }.runTask(Blueprint.getInstance()); } if (onComplete != null) { new BukkitRunnable() { @Override public void run() {onComplete.run();} - }.runTask(SchematicBuilder.getInstance()); + }.runTask(Blueprint.getInstance()); } } - }.runTaskAsynchronously(SchematicBuilder.getInstance()); + }.runTaskAsynchronously(Blueprint.getInstance()); } } diff --git a/src/main/java/fr/weefle/constructor/commands/NPCSubCommand.java b/src/main/java/com/promcteam/blueprint/commands/NPCSubCommand.java similarity index 69% rename from src/main/java/fr/weefle/constructor/commands/NPCSubCommand.java rename to src/main/java/com/promcteam/blueprint/commands/NPCSubCommand.java index 587da7c..a0cdf57 100644 --- a/src/main/java/fr/weefle/constructor/commands/NPCSubCommand.java +++ b/src/main/java/com/promcteam/blueprint/commands/NPCSubCommand.java @@ -1,6 +1,6 @@ -package fr.weefle.constructor.commands; +package com.promcteam.blueprint.commands; -import fr.weefle.constructor.menus.BuilderListMenu; +import com.promcteam.blueprint.menus.BuilderListMenu; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -17,7 +17,10 @@ public NPCSubCommand(@Nullable SchematicBuilderCommand parent) { } @Override - public void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull List args) { + public void execute(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull List args) { if (args.size() != 0) { sendUsage(sender); return; diff --git a/src/main/java/fr/weefle/constructor/commands/PreviewSubCommand.java b/src/main/java/com/promcteam/blueprint/commands/PreviewSubCommand.java similarity index 72% rename from src/main/java/fr/weefle/constructor/commands/PreviewSubCommand.java rename to src/main/java/com/promcteam/blueprint/commands/PreviewSubCommand.java index 6519e74..467da0d 100644 --- a/src/main/java/fr/weefle/constructor/commands/PreviewSubCommand.java +++ b/src/main/java/com/promcteam/blueprint/commands/PreviewSubCommand.java @@ -1,7 +1,7 @@ -package fr.weefle.constructor.commands; +package com.promcteam.blueprint.commands; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import fr.weefle.constructor.schematic.Schematic; +import com.promcteam.blueprint.schematic.Schematic; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -22,20 +22,25 @@ public PreviewSubCommand(@Nullable SchematicBuilderCommand parent) { @Override public List getUsages(CommandSender sender) { List list = new ArrayList<>(); - list.add('/'+getFullCommand()+" [ticks]"); + list.add('/' + getFullCommand() + " [ticks]"); return list; } @Override - public void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull List args) { + public void execute(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull List args) { BuilderTrait builder = getSelectedBuilder(sender); - if (builder == null) {return;} + if (builder == null) { + return; + } int ticks; if (args.size() == 1) { try { ticks = Integer.parseInt(args.get(0)); } catch (NumberFormatException e) { - sender.sendMessage(args.get(0)+ChatColor.RED + " is not a valid number"); + sender.sendMessage(args.get(0) + ChatColor.RED + " is not a valid number"); return; } } else if (args.size() == 0) { @@ -49,14 +54,16 @@ public void execute(@NotNull CommandSender sender, @NotNull Command command, @No public static boolean execute(BuilderTrait builder, CommandSender sender, int ticks) { switch (builder.getState()) { - case IDLE: case COLLECTING: { + case IDLE: + case COLLECTING: { Schematic schematic = builder.getSchematic(); if (schematic == null) { sender.sendMessage(ChatColor.RED + "No Schematic Loaded"); return false; } schematic.preview(builder, (Player) sender, ticks); - sender.sendMessage(builder.getNPC().getName() + ChatColor.GREEN + " loaded a preview of the current structure"); + sender.sendMessage( + builder.getNPC().getName() + ChatColor.GREEN + " loaded a preview of the current structure"); return true; } default: { diff --git a/src/main/java/fr/weefle/constructor/commands/ReloadSubCommand.java b/src/main/java/com/promcteam/blueprint/commands/ReloadSubCommand.java similarity index 59% rename from src/main/java/fr/weefle/constructor/commands/ReloadSubCommand.java rename to src/main/java/com/promcteam/blueprint/commands/ReloadSubCommand.java index 3db9bba..6bae357 100644 --- a/src/main/java/fr/weefle/constructor/commands/ReloadSubCommand.java +++ b/src/main/java/com/promcteam/blueprint/commands/ReloadSubCommand.java @@ -1,6 +1,6 @@ -package fr.weefle.constructor.commands; +package com.promcteam.blueprint.commands; -import fr.weefle.constructor.SchematicBuilder; +import com.promcteam.blueprint.Blueprint; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -16,12 +16,15 @@ public ReloadSubCommand(@Nullable SchematicBuilderCommand parent) { } @Override - public void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull List args) { + public void execute(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull List args) { if (args.size() != 0) { sendUsage(sender); return; } - SchematicBuilder.getInstance().reload(); - sender.sendMessage(ChatColor.GREEN + "Reloaded ProSchematicBuilder"); + Blueprint.getInstance().reload(); + sender.sendMessage(ChatColor.GREEN + "Reloaded Blueprint"); } } diff --git a/src/main/java/fr/weefle/constructor/commands/SchematicBuilderCommand.java b/src/main/java/com/promcteam/blueprint/commands/SchematicBuilderCommand.java similarity index 77% rename from src/main/java/fr/weefle/constructor/commands/SchematicBuilderCommand.java rename to src/main/java/com/promcteam/blueprint/commands/SchematicBuilderCommand.java index 7e8a89a..aba8387 100644 --- a/src/main/java/fr/weefle/constructor/commands/SchematicBuilderCommand.java +++ b/src/main/java/com/promcteam/blueprint/commands/SchematicBuilderCommand.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.commands; +package com.promcteam.blueprint.commands; import org.bukkit.ChatColor; import org.bukkit.command.Command; @@ -27,16 +27,21 @@ public SchematicBuilderCommand() { public List getUsages(CommandSender sender) { List usages = new ArrayList<>(); for (AbstractCommand subCommand : subCommands.values()) { - usages.add(ChatColor.GREEN+" /"+subCommand.getFullCommand()); + usages.add(ChatColor.GREEN + " /" + subCommand.getFullCommand()); String description; - if ((description = subCommand.getDescription()) != null) {usages.add(" "+description);} + if ((description = subCommand.getDescription()) != null) { + usages.add(" " + description); + } usages.add(""); } return usages; } @Override - public void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull List args) { + public void execute(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull List args) { super.execute(sender, command, label, args); } } diff --git a/src/main/java/fr/weefle/constructor/commands/StructureSubCommand.java b/src/main/java/com/promcteam/blueprint/commands/StructureSubCommand.java similarity index 76% rename from src/main/java/fr/weefle/constructor/commands/StructureSubCommand.java rename to src/main/java/com/promcteam/blueprint/commands/StructureSubCommand.java index 2de2904..1320e3d 100644 --- a/src/main/java/fr/weefle/constructor/commands/StructureSubCommand.java +++ b/src/main/java/com/promcteam/blueprint/commands/StructureSubCommand.java @@ -1,7 +1,7 @@ -package fr.weefle.constructor.commands; +package com.promcteam.blueprint.commands; -import fr.weefle.constructor.api.StructureUtil; -import fr.weefle.constructor.listener.SelectionListener; +import com.promcteam.blueprint.API.StructureUtil; +import com.promcteam.blueprint.listener.SelectionListener; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -23,18 +23,21 @@ public StructureSubCommand(@Nullable SchematicBuilderCommand parent) { @Override public List getUsages(CommandSender sender) { List list = new ArrayList<>(); - list.add('/'+getFullCommand()+" "); + list.add('/' + getFullCommand() + " "); return list; } @Override - public void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull List args) { // TODO bring back WorldEdit + public void execute(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull List args) { // TODO bring back WorldEdit if (args.size() != 1) { sendUsage(sender); return; } Player player = (Player) sender; - String name = args.get(0); + String name = args.get(0); Vector vec; try { @@ -55,6 +58,7 @@ public void execute(@NotNull CommandSender sender, @NotNull Command command, @No player.sendMessage(ChatColor.RED + "You have not selected any region!"); return; } - player.sendMessage(ChatColor.GREEN + "Successfully saved structure " + ChatColor.WHITE + name + ChatColor.GREEN + " in schematics folder."); + player.sendMessage(ChatColor.GREEN + "Successfully saved structure " + ChatColor.WHITE + name + ChatColor.GREEN + + " in schematics folder."); } } diff --git a/src/main/java/com/promcteam/blueprint/commands/SurveySubCommand.java b/src/main/java/com/promcteam/blueprint/commands/SurveySubCommand.java new file mode 100644 index 0000000..09da462 --- /dev/null +++ b/src/main/java/com/promcteam/blueprint/commands/SurveySubCommand.java @@ -0,0 +1,48 @@ +package com.promcteam.blueprint.commands; + +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.util.Util; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import net.citizensnpcs.api.npc.NPC; +import org.bukkit.ChatColor; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class SurveySubCommand extends AbstractCommand { + public SurveySubCommand(@Nullable SchematicBuilderCommand parent) { + super("survey", + "View the list of materials required to build the loaded schematic at the current origin with the specified options", + parent); + this.permission = "schematicbuilder.survey"; + addAllowedSender(Player.class); + registerHyphenArgument(new HyphenArgument("excavate", "true", "false")); + } + + @Override + public void execute(@NotNull CommandSender sender, + @NotNull Command command, + @NotNull String label, + @NotNull List args) { + BuilderTrait builder = getSelectedBuilder(sender); + if (builder == null) { + return; + } + NPC npc = builder.getNPC(); + if (builder.getState() != BuilderTrait.BuilderState.COLLECTING) { + sender.sendMessage(npc.getName() + ChatColor.GREEN + " is not collecting any materials"); + return; + } + sender.sendMessage(Blueprint.format(Blueprint.getInstance().config().getSurveyMessage(), + npc, + builder.getSchematic(), + sender, + null, + "0")); + sender.sendMessage(Util.printMaterials(builder.getMissingMaterials())); + } +} diff --git a/src/main/java/fr/weefle/constructor/hooks/DenizenSupport.java b/src/main/java/com/promcteam/blueprint/hooks/DenizenSupport.java similarity index 96% rename from src/main/java/fr/weefle/constructor/hooks/DenizenSupport.java rename to src/main/java/com/promcteam/blueprint/hooks/DenizenSupport.java index 53aab30..aca0633 100644 --- a/src/main/java/fr/weefle/constructor/hooks/DenizenSupport.java +++ b/src/main/java/com/promcteam/blueprint/hooks/DenizenSupport.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.hooks; +package com.promcteam.blueprint.hooks; import com.denizenscript.denizen.npc.traits.AssignmentTrait; import com.denizenscript.denizen.objects.NPCTag; diff --git a/src/main/java/fr/weefle/constructor/hooks/WorldEditManager.java b/src/main/java/com/promcteam/blueprint/hooks/WorldEditManager.java similarity index 97% rename from src/main/java/fr/weefle/constructor/hooks/WorldEditManager.java rename to src/main/java/com/promcteam/blueprint/hooks/WorldEditManager.java index 21494d8..88f17ae 100644 --- a/src/main/java/fr/weefle/constructor/hooks/WorldEditManager.java +++ b/src/main/java/com/promcteam/blueprint/hooks/WorldEditManager.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.hooks; +package com.promcteam.blueprint.hooks; /*import com.sk89q.worldedit.IncompleteRegionException; import com.sk89q.worldedit.LocalSession; diff --git a/src/main/java/fr/weefle/constructor/hooks/citizens/BuilderTeleportStuckAction.java b/src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTeleportStuckAction.java similarity index 95% rename from src/main/java/fr/weefle/constructor/hooks/citizens/BuilderTeleportStuckAction.java rename to src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTeleportStuckAction.java index 70608c9..88eb12b 100644 --- a/src/main/java/fr/weefle/constructor/hooks/citizens/BuilderTeleportStuckAction.java +++ b/src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTeleportStuckAction.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.hooks.citizens; +package com.promcteam.blueprint.hooks.citizens; import net.citizensnpcs.api.ai.Navigator; import net.citizensnpcs.api.ai.StuckAction; diff --git a/src/main/java/fr/weefle/constructor/hooks/citizens/BuilderTrait.java b/src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTrait.java similarity index 73% rename from src/main/java/fr/weefle/constructor/hooks/citizens/BuilderTrait.java rename to src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTrait.java index f0b941d..f624b50 100644 --- a/src/main/java/fr/weefle/constructor/hooks/citizens/BuilderTrait.java +++ b/src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTrait.java @@ -1,19 +1,19 @@ -package fr.weefle.constructor.hooks.citizens; - -import fr.weefle.constructor.Config; -import fr.weefle.constructor.PersistentBuilding; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.hooks.citizens.persistence.MaterialIntegerMapPersistenceLoader; -import fr.weefle.constructor.hooks.citizens.persistence.MaterialMapWrapper; -import fr.weefle.constructor.hooks.citizens.persistence.PersistentBuildingPersistenceLoader; -import fr.weefle.constructor.hooks.citizens.persistence.SchematicPersistenceLoader; -import fr.weefle.constructor.menus.BuilderMenu; -import fr.weefle.constructor.nms.NMS; -import fr.weefle.constructor.schematic.Schematic; -import fr.weefle.constructor.schematic.SchematicEntity; -import fr.weefle.constructor.schematic.YAMLSchematic; -import fr.weefle.constructor.schematic.blocks.EmptyBuildBlock; -import fr.weefle.constructor.util.Util; +package com.promcteam.blueprint.hooks.citizens; + +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.Config; +import com.promcteam.blueprint.PersistentBuilding; +import com.promcteam.blueprint.hooks.citizens.persistence.MaterialIntegerMapPersistenceLoader; +import com.promcteam.blueprint.hooks.citizens.persistence.MaterialMapWrapper; +import com.promcteam.blueprint.hooks.citizens.persistence.PersistentBuildingPersistenceLoader; +import com.promcteam.blueprint.hooks.citizens.persistence.SchematicPersistenceLoader; +import com.promcteam.blueprint.menus.BuilderMenu; +import com.promcteam.blueprint.nms.NMS; +import com.promcteam.blueprint.schematic.Schematic; +import com.promcteam.blueprint.schematic.SchematicEntity; +import com.promcteam.blueprint.schematic.YAMLSchematic; +import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; +import com.promcteam.blueprint.util.Util; import net.citizensnpcs.api.event.NPCRightClickEvent; import net.citizensnpcs.api.persistence.DelegatePersistence; import net.citizensnpcs.api.persistence.Persist; @@ -43,44 +43,45 @@ @TraitName("builder") public class BuilderTrait extends Trait implements Toggleable { @Persist - boolean toggled = true; + boolean toggled = true; @Persist("IgnoreAir") - boolean ignoreAir = false; + boolean ignoreAir = false; @Persist("IgnoreLiquid") - boolean ignoreLiquids = false; + boolean ignoreLiquids = false; @Persist("Excavate") - boolean excavate = false; + boolean excavate = false; @Persist("Silent") - boolean silent = false; + boolean silent = false; @Persist("LoadEntities") - boolean loadEntities = false; + boolean loadEntities = false; @Persist("State") - BuilderState state = BuilderState.IDLE; + BuilderState state = BuilderState.IDLE; @Persist("PatternXY") - BuildPatternXZ buildPatternXZ = BuildPatternXZ.SPIRAL; + BuildPatternXZ buildPatternXZ = BuildPatternXZ.SPIRAL; @Persist("HoldItems") - boolean holdItems = SchematicBuilder.getInstance().config().isHoldItems(); + boolean holdItems = Blueprint.getInstance().config().isHoldItems(); @Persist("RequireMaterials") - boolean requireMaterials = SchematicBuilder.getInstance().config().isRequireMaterials(); + boolean requireMaterials = Blueprint.getInstance().config().isRequireMaterials(); @Persist("MoveTimeoutSeconds") - double moveTimeoutSeconds = 1.0; + double moveTimeoutSeconds = 1.0; @Persist("YLayers") - int buildYLayers = 1; + int buildYLayers = 1; @Persist("Schematic") @DelegatePersistence(SchematicPersistenceLoader.class) - Schematic schematic = null; + Schematic schematic = null; @Persist("PersistentBuilding") @DelegatePersistence(PersistentBuildingPersistenceLoader.class) PersistentBuilding persistentBuilding = null; @Persist("Origin") - Location origin = null; + Location origin = null; @Persist("Rotation") - int rotation = 0; + int rotation = 0; @Persist("ContinueLoc") - Location continueLoc = null; // Fixme after server restart, builder should continue the building where it left off + Location continueLoc = null; + // Fixme after server restart, builder should continue the building where it left off @Persist("Materials") @DelegatePersistence(MaterialIntegerMapPersistenceLoader.class) - MaterialMapWrapper materials = new MaterialMapWrapper(new TreeMap<>()); + MaterialMapWrapper materials = new MaterialMapWrapper(new TreeMap<>()); @Persist("oncancel") String onCancel = null; @@ -96,7 +97,7 @@ public class BuilderTrait extends Trait implements Toggleable { public long startingcount = 1; public Location start = null; - private Queue queue = new LinkedList<>(); + private Queue queue = new LinkedList<>(); private Queue entityQueue = new LinkedList<>(); private final Map sessions = new HashMap<>(); @@ -151,7 +152,9 @@ public class BuilderTrait extends Trait implements Toggleable { public double getMoveTimeoutSeconds() {return moveTimeoutSeconds;} - public void setMoveTimeoutSeconds(double moveTimeoutSeconds) {this.moveTimeoutSeconds = Math.max(1, moveTimeoutSeconds);} + public void setMoveTimeoutSeconds(double moveTimeoutSeconds) { + this.moveTimeoutSeconds = Math.max(1, moveTimeoutSeconds); + } public int getBuildYLayers() {return buildYLayers;} @@ -165,7 +168,9 @@ public void setSchematic(@Nullable Schematic schematic) { this.persistentBuilding = null; if (schematic == null) { this.state = BuilderState.IDLE; - } else if (this.requireMaterials && !this.getMissingMaterials().isEmpty()) {this.state = BuilderState.COLLECTING;} + } else if (this.requireMaterials && !this.getMissingMaterials().isEmpty()) { + this.state = BuilderState.COLLECTING; + } } @Nullable @@ -183,7 +188,9 @@ public void setPersistentBuilding(@Nullable PersistentBuilding building) { public int getRotation() {return this.rotation;} - public void setRotation(int rotation) {this.rotation = Util.normalizeRotations(rotation);} // Fixme rotate actual block state + public void setRotation(int rotation) { + this.rotation = Util.normalizeRotations(rotation); + } // Fixme rotate actual block state @Nullable public Location getContinueLoc() {return continueLoc == null ? null : continueLoc.clone();} @@ -193,11 +200,15 @@ public void setPersistentBuilding(@Nullable PersistentBuilding building) { @NotNull public Map getMissingMaterials() { Map missingMaterials = new TreeMap<>(); - if (this.schematic == null || !this.requiresMaterials()) {return missingMaterials;} + if (this.schematic == null || !this.requiresMaterials()) { + return missingMaterials; + } for (Map.Entry entry : this.schematic.getMaterials().entrySet()) { Material material = entry.getKey(); int missing = entry.getValue() - this.materials.getHandle().getOrDefault(material, 0); - if (missing <= 0) {continue;} + if (missing <= 0) { + continue; + } missingMaterials.put(material, missing); } return missingMaterials; @@ -218,13 +229,15 @@ public Map getMissingMaterials() { public void setOnStart(@Nullable String onStart) {this.onStart = onStart;} - public int getQueuedBlocks() { return queue.size(); } + public int getQueuedBlocks() {return queue.size();} @Override public void onSpawn() { npc.getNavigator().getDefaultParameters().avoidWater(false); - if (this.persistentBuilding != null) {this.schematic = this.persistentBuilding.getSchematic();} + if (this.persistentBuilding != null) { + this.schematic = this.persistentBuilding.getSchematic(); + } if (state == BuilderState.BUILDING || state == BuilderState.COLLECTING) { new BukkitRunnable() { @@ -232,14 +245,19 @@ public void run() { state = BuilderState.IDLE; TryBuild(Bukkit.getServer().getConsoleSender()); } - }.runTaskLater(SchematicBuilder.getInstance(), 20); + }.runTaskLater(Blueprint.getInstance(), 20); } else state = BuilderState.IDLE; } @Override public void save(DataKey key) { // Can't do this in Persisters since they don't process null values - key.setString("Schematic", this.schematic == null ? null : new File(SchematicBuilder.getInstance().config().getSchematicsFolder()).toPath().relativize(new File(this.schematic.getPath()).toPath()).toString()); - key.setString("PersistentBuilding", this.persistentBuilding == null ? null : this.persistentBuilding.getUUID().toString()); + key.setString("Schematic", + this.schematic == null ? null + : new File(Blueprint.getInstance().config().getSchematicsFolder()).toPath() + .relativize(new File(this.schematic.getPath()).toPath()) + .toString()); + key.setString("PersistentBuilding", + this.persistentBuilding == null ? null : this.persistentBuilding.getUUID().toString()); } public void handleRightClick(NPCRightClickEvent event) { @@ -256,8 +274,10 @@ public void handleRightClick(NPCRightClickEvent event) { } Material material = heldItem.getType(); Map requiredMaterials = this.schematic.getMaterials(); - int needed = requiredMaterials.getOrDefault(material, 0) - this.materials.getHandle().getOrDefault(material, 0); - Config config = SchematicBuilder.getInstance().config(); + int needed = + requiredMaterials.getOrDefault(material, 0) - this.materials.getHandle() + .getOrDefault(material, 0); + Config config = Blueprint.getInstance().config(); if (needed > 0) { //yup, i need it @@ -272,13 +292,16 @@ public void handleRightClick(NPCRightClickEvent event) { if (heldItem.getAmount() - taking > 0) { newItem = heldItem.clone(); newItem.setAmount(heldItem.getAmount() - taking); - } else {newItem = new ItemStack(Material.AIR);} + } else { + newItem = new ItemStack(Material.AIR); + } event.getClicker().getInventory().setItemInMainHand(newItem); //update needed - this.materials.getHandle().put(material, this.materials.getHandle().getOrDefault(material, 0) + taking); - player.sendMessage(SchematicBuilder.format(config.getSupplyTakenMessage(), this.npc, + this.materials.getHandle() + .put(material, this.materials.getHandle().getOrDefault(material, 0) + taking); + player.sendMessage(Blueprint.format(config.getSupplyTakenMessage(), this.npc, this.schematic, player, heldItem.getType().name().toLowerCase(), @@ -287,7 +310,7 @@ public void handleRightClick(NPCRightClickEvent event) { this.TryBuild(null); } else { - player.sendMessage(SchematicBuilder.format(config.getSupplyNeedMessage(), + player.sendMessage(Blueprint.format(config.getSupplyNeedMessage(), this.npc, this.schematic, player, @@ -297,7 +320,7 @@ public void handleRightClick(NPCRightClickEvent event) { } } else { - player.sendMessage(SchematicBuilder.format(config.getSupplyDontNeedMessage(), + player.sendMessage(Blueprint.format(config.getSupplyDontNeedMessage(), this.npc, this.schematic, player, @@ -329,11 +352,13 @@ public boolean TryBuild(CommandSender sender) { if (this.requireMaterials) { int missing = 0; - for (int value : this.getMissingMaterials().values()) {missing += value;} + for (int value : this.getMissingMaterials().values()) { + missing += value; + } if (missing > 0) { if (!silent) sender.sendMessage( - SchematicBuilder.format(SchematicBuilder.getInstance().config().getCollectingMessage(), + Blueprint.format(Blueprint.getInstance().config().getCollectingMessage(), npc, schematic, sender, schematic.getDisplayName(), String.valueOf(missing))); @@ -352,9 +377,13 @@ private boolean StartBuild(CommandSender player) { return false; } - if (origin != null) {start = origin.clone();} - else if (continueLoc != null) {start = continueLoc.clone();} - else {start = npc.getEntity().getLocation().clone();} + if (origin != null) { + start = origin.clone(); + } else if (continueLoc != null) { + start = continueLoc.clone(); + } else { + start = npc.getEntity().getLocation().clone(); + } queue = schematic.buildQueue(this); if (loadEntities) entityQueue = schematic.getEntities(); @@ -366,14 +395,14 @@ private boolean StartBuild(CommandSender player) { this.state = BuilderState.BUILDING; - if (!silent) sender.sendMessage(SchematicBuilder.format( - SchematicBuilder.getInstance().config().getStartedMessage(), + if (!silent) sender.sendMessage(Blueprint.format( + Blueprint.getInstance().config().getStartedMessage(), npc, schematic, player, null, "0")); if (onStart != null) { - String resp = SchematicBuilder.runTask(onStart, npc); + String resp = Blueprint.runTask(onStart, npc); if (!silent) { if (resp == null) sender.sendMessage("Task " + onStart + " completed."); else sender.sendMessage("Task " + onStart + " could not be run: " + resp); @@ -381,8 +410,8 @@ private boolean StartBuild(CommandSender player) { } - SchematicBuilder.denizenAction(npc, "Build Start"); - SchematicBuilder.denizenAction(npc, "Build " + schematic.getDisplayName() + " Start"); + Blueprint.denizenAction(npc, "Build Start"); + Blueprint.denizenAction(npc, "Build " + schematic.getDisplayName() + " Start"); SetupNextBlock(); @@ -402,17 +431,21 @@ public void SetupNextBlock() { return; } - pending = Objects.requireNonNull(continueLoc.getWorld()).getBlockAt(schematic.offset(continueLoc, next.X, next.Y, next.Z, 0, this.rotation)); + pending = Objects.requireNonNull(continueLoc.getWorld()) + .getBlockAt(schematic.offset(continueLoc, next.X, next.Y, next.Z, 0, this.rotation)); if (next.getMat().equals(pending.getLocation().getBlock().getBlockData())) { SetupNextBlock(); } else { if (npc.isSpawned()) { - if ((npc.getEntity() instanceof org.bukkit.entity.HumanEntity || npc.getEntity() instanceof org.bukkit.entity.Enderman) && this.holdItems) { + if ((npc.getEntity() instanceof org.bukkit.entity.HumanEntity + || npc.getEntity() instanceof org.bukkit.entity.Enderman) && this.holdItems) { if ((npc.getEntity() instanceof org.bukkit.entity.HumanEntity) && this.holdItems) { - ((org.bukkit.entity.HumanEntity) npc.getEntity()).getInventory().setItemInHand(new ItemStack(next.getMat().getMaterial())); + ((org.bukkit.entity.HumanEntity) npc.getEntity()).getInventory() + .setItemInHand(new ItemStack(next.getMat().getMaterial())); } else if ((npc.getEntity() instanceof org.bukkit.entity.Enderman) && this.holdItems) { - ((org.bukkit.entity.Enderman) npc.getEntity()).setCarriedMaterial(new MaterialData(next.getMat().getMaterial())); + ((org.bukkit.entity.Enderman) npc.getEntity()).setCarriedMaterial(new MaterialData(next.getMat() + .getMaterial())); } } } @@ -435,7 +468,7 @@ public void run() { npc.getNavigator().getPathStrategy().update(); } } - }.runTask(SchematicBuilder.getInstance()); + }.runTask(Blueprint.getInstance()); canceltaskid = new BukkitRunnable() { public void run() { @@ -453,7 +486,7 @@ public void run() { } } } - }.runTaskLater(SchematicBuilder.getInstance(), (long) (moveTimeoutSeconds * 20) + 1); + }.runTaskLater(Blueprint.getInstance(), (long) (moveTimeoutSeconds * 20) + 1); } } @@ -471,12 +504,20 @@ public void SetupNextEntity() { } Location location = nextEntity.getLocation(); - pending = Objects.requireNonNull(continueLoc.getWorld()).getBlockAt(schematic.offset(continueLoc, location.getX(), location.getY(), location.getZ(), 0, this.rotation)); + pending = Objects.requireNonNull(continueLoc.getWorld()) + .getBlockAt(schematic.offset(continueLoc, + location.getX(), + location.getY(), + location.getZ(), + 0, + this.rotation)); if (npc.isSpawned()) { - if ((npc.getEntity() instanceof org.bukkit.entity.HumanEntity || npc.getEntity() instanceof org.bukkit.entity.Enderman) && this.holdItems) { + if ((npc.getEntity() instanceof org.bukkit.entity.HumanEntity + || npc.getEntity() instanceof org.bukkit.entity.Enderman) && this.holdItems) { if ((npc.getEntity() instanceof org.bukkit.entity.HumanEntity) && this.holdItems) { - ((org.bukkit.entity.HumanEntity) npc.getEntity()).getInventory().setItemInHand(new ItemStack(Material.SHEEP_SPAWN_EGG)); + ((org.bukkit.entity.HumanEntity) npc.getEntity()).getInventory() + .setItemInHand(new ItemStack(Material.SHEEP_SPAWN_EGG)); } else if ((npc.getEntity() instanceof org.bukkit.entity.Enderman) && this.holdItems) { ((org.bukkit.entity.Enderman) npc.getEntity()).setCarriedMaterial(new MaterialData(Material.SHEEP_SPAWN_EGG)); } @@ -495,7 +536,7 @@ public void run() { npc.getNavigator().getPathStrategy().update(); } } - }.runTask(SchematicBuilder.getInstance()); + }.runTask(Blueprint.getInstance()); canceltaskid = new BukkitRunnable() { public void run() { @@ -507,13 +548,13 @@ public void run() { } } } - }.runTaskLater(SchematicBuilder.getInstance(), (long) (moveTimeoutSeconds * 20) + 1); + }.runTaskLater(Blueprint.getInstance(), (long) (moveTimeoutSeconds * 20) + 1); } public void CancelBuild() { - if (onCancel != null) SchematicBuilder.runTask(onCancel, npc); - SchematicBuilder.denizenAction(npc, "Build Cancel"); - if (schematic != null) SchematicBuilder.denizenAction(npc, "Build " + schematic.getDisplayName() + " Cancel"); + if (onCancel != null) Blueprint.runTask(onCancel, npc); + Blueprint.denizenAction(npc, "Build Cancel"); + if (schematic != null) Blueprint.denizenAction(npc, "Build " + schematic.getDisplayName() + " Cancel"); stop(); } @@ -523,28 +564,32 @@ public void CompleteBuild() { if (this.state == BuilderState.BUILDING) { this.materials.getHandle().clear(); if (!silent) sender.sendMessage( - SchematicBuilder.format(SchematicBuilder.getInstance().config().getCompleteMessage(), + Blueprint.format(Blueprint.getInstance().config().getCompleteMessage(), npc, schematic, sender, null, "0")); if (onComplete != null) { - String resp = SchematicBuilder.runTask(onComplete, npc); + String resp = Blueprint.runTask(onComplete, npc); if (!silent) { if (resp == null) sender.sendMessage("Task " + onComplete + " completed."); else sender.sendMessage("Task " + onComplete + " could not be run: " + resp); } } - SchematicBuilder.denizenAction(npc, "Build Complete"); - SchematicBuilder.denizenAction(npc, "Build " + schematic.getDisplayName() + " Complete"); + Blueprint.denizenAction(npc, "Build Complete"); + Blueprint.denizenAction(npc, "Build " + schematic.getDisplayName() + " Complete"); if (this.schematic instanceof YAMLSchematic) { YAMLSchematic yamlSchematic = (YAMLSchematic) this.schematic; - int tier = yamlSchematic.getTier()+1; + int tier = yamlSchematic.getTier() + 1; yamlSchematic.setTier(tier); - if (this.persistentBuilding == null || !this.persistentBuilding.getPath().equals(this.schematic.getPath())) { - this.persistentBuilding = new PersistentBuilding(UUID.randomUUID(), yamlSchematic, tier, this.origin); - } else {this.persistentBuilding.setTier(tier);} + if (this.persistentBuilding == null || !this.persistentBuilding.getPath() + .equals(this.schematic.getPath())) { + this.persistentBuilding = + new PersistentBuilding(UUID.randomUUID(), yamlSchematic, tier, this.origin); + } else { + this.persistentBuilding.setTier(tier); + } } } stop(); @@ -575,9 +620,17 @@ else if ((npc.getEntity() instanceof org.bukkit.entity.Enderman) && this.holdIte ((org.bukkit.entity.Enderman) npc.getEntity()).setCarriedMaterial(new MaterialData(Material.AIR)); Plugin dynmap; - if (stop && (dynmap = Bukkit.getServer().getPluginManager().getPlugin("dynmap")) != null && dynmap.isEnabled()) { + if (stop && (dynmap = Bukkit.getServer().getPluginManager().getPlugin("dynmap")) != null + && dynmap.isEnabled()) { org.dynmap.DynmapCommonAPI dyn = (DynmapCommonAPI) dynmap; - Objects.requireNonNull(dyn).triggerRenderOfVolume(npc.getEntity().getWorld().getName(), this.continueLoc.getBlockX() - schematic.getWidth() / 2, this.continueLoc.getBlockY(), this.continueLoc.getBlockZ() - schematic.getLength() / 2, this.continueLoc.getBlockX() + schematic.getWidth() / 2, this.continueLoc.getBlockY() + schematic.getHeight() / 2, this.continueLoc.getBlockZ() + schematic.getLength() / 2); + Objects.requireNonNull(dyn) + .triggerRenderOfVolume(npc.getEntity().getWorld().getName(), + this.continueLoc.getBlockX() - schematic.getWidth() / 2, + this.continueLoc.getBlockY(), + this.continueLoc.getBlockZ() - schematic.getLength() / 2, + this.continueLoc.getBlockX() + schematic.getWidth() / 2, + this.continueLoc.getBlockY() + schematic.getHeight() / 2, + this.continueLoc.getBlockZ() + schematic.getLength() / 2); } sender = null; @@ -587,7 +640,13 @@ else if ((npc.getEntity() instanceof org.bukkit.entity.Enderman) && this.holdIte continueLoc = null; } - public void PlaceNextBlock() throws IllegalArgumentException, InvocationTargetException, NoSuchMethodException, IllegalAccessException, ClassNotFoundException, InstantiationException { + public void PlaceNextBlock() throws + IllegalArgumentException, + InvocationTargetException, + NoSuchMethodException, + IllegalAccessException, + ClassNotFoundException, + InstantiationException { if (canceltaskid != null && !canceltaskid.isCancelled()) { canceltaskid.cancel(); diff --git a/src/main/java/fr/weefle/constructor/hooks/citizens/persistence/MaterialIntegerMapPersistenceLoader.java b/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/MaterialIntegerMapPersistenceLoader.java similarity index 74% rename from src/main/java/fr/weefle/constructor/hooks/citizens/persistence/MaterialIntegerMapPersistenceLoader.java rename to src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/MaterialIntegerMapPersistenceLoader.java index c333487..74dfda8 100644 --- a/src/main/java/fr/weefle/constructor/hooks/citizens/persistence/MaterialIntegerMapPersistenceLoader.java +++ b/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/MaterialIntegerMapPersistenceLoader.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.hooks.citizens.persistence; +package com.promcteam.blueprint.hooks.citizens.persistence; import net.citizensnpcs.api.persistence.Persister; import net.citizensnpcs.api.util.DataKey; @@ -15,14 +15,20 @@ public MaterialMapWrapper create(DataKey dataKey) { Map map = new TreeMap<>(); MaterialMapWrapper wrapper = new MaterialMapWrapper(map); MemorySection materials = (MemorySection) dataKey.getRaw(""); - if (materials == null) {return wrapper;} + if (materials == null) { + return wrapper; + } for (String key : materials.getKeys(false)) { Material material; try { material = Material.valueOf(key.toUpperCase()); - } catch (IllegalArgumentException e) {continue;} + } catch (IllegalArgumentException e) { + continue; + } int amount = map.getOrDefault(material, 0) + materials.getInt(key, 0); - if (amount > 0) {map.put(material, amount);} + if (amount > 0) { + map.put(material, amount); + } } return wrapper; } @@ -35,7 +41,9 @@ public void save(MaterialMapWrapper map, DataKey dataKey) { } else { for (Map.Entry entry : handle.entrySet()) { int amount = entry.getValue(); - if (amount > 0) {dataKey.setInt(entry.getKey().name(), amount);} + if (amount > 0) { + dataKey.setInt(entry.getKey().name(), amount); + } } } } diff --git a/src/main/java/fr/weefle/constructor/hooks/citizens/persistence/MaterialMapWrapper.java b/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/MaterialMapWrapper.java similarity index 85% rename from src/main/java/fr/weefle/constructor/hooks/citizens/persistence/MaterialMapWrapper.java rename to src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/MaterialMapWrapper.java index 36e76e5..5a3f254 100644 --- a/src/main/java/fr/weefle/constructor/hooks/citizens/persistence/MaterialMapWrapper.java +++ b/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/MaterialMapWrapper.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.hooks.citizens.persistence; +package com.promcteam.blueprint.hooks.citizens.persistence; import org.bukkit.Material; diff --git a/src/main/java/fr/weefle/constructor/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java b/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java similarity index 65% rename from src/main/java/fr/weefle/constructor/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java rename to src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java index b33a6e1..3d9f151 100644 --- a/src/main/java/fr/weefle/constructor/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java +++ b/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java @@ -1,7 +1,7 @@ -package fr.weefle.constructor.hooks.citizens.persistence; +package com.promcteam.blueprint.hooks.citizens.persistence; -import fr.weefle.constructor.PersistentBuilding; -import fr.weefle.constructor.SchematicBuilder; +import com.promcteam.blueprint.PersistentBuilding; +import com.promcteam.blueprint.Blueprint; import net.citizensnpcs.api.persistence.Persister; import net.citizensnpcs.api.util.DataKey; @@ -13,7 +13,7 @@ public PersistentBuilding create(DataKey dataKey) { String uuid = dataKey.getString("", null); return uuid == null ? null : - SchematicBuilder.getInstance().getBuildingRegistry().getPersistentBuilding(UUID.fromString(uuid)); + Blueprint.getInstance().getBuildingRegistry().getPersistentBuilding(UUID.fromString(uuid)); } @Override diff --git a/src/main/java/fr/weefle/constructor/hooks/citizens/persistence/SchematicPersistenceLoader.java b/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/SchematicPersistenceLoader.java similarity index 59% rename from src/main/java/fr/weefle/constructor/hooks/citizens/persistence/SchematicPersistenceLoader.java rename to src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/SchematicPersistenceLoader.java index f071bd3..4760580 100644 --- a/src/main/java/fr/weefle/constructor/hooks/citizens/persistence/SchematicPersistenceLoader.java +++ b/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/SchematicPersistenceLoader.java @@ -1,7 +1,7 @@ -package fr.weefle.constructor.hooks.citizens.persistence; +package com.promcteam.blueprint.hooks.citizens.persistence; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.schematic.Schematic; +import com.promcteam.blueprint.schematic.Schematic; +import com.promcteam.blueprint.Blueprint; import net.citizensnpcs.api.persistence.Persister; import net.citizensnpcs.api.util.DataKey; @@ -12,11 +12,13 @@ public class SchematicPersistenceLoader implements Persister { @Override public Schematic create(DataKey dataKey) { String name = dataKey.getString("", null); - if (name == null) {return null;} + if (name == null) { + return null; + } try { - return SchematicBuilder.getSchematic(name); + return Blueprint.getSchematic(name); } catch (Exception e) { - SchematicBuilder.getInstance().getLogger().log(Level.WARNING, "Failed to load schematic: " + name); + Blueprint.getInstance().getLogger().log(Level.WARNING, "Failed to load schematic: " + name); e.printStackTrace(); return null; } diff --git a/src/main/java/fr/weefle/constructor/listener/BuilderListener.java b/src/main/java/com/promcteam/blueprint/listener/BuilderListener.java similarity index 78% rename from src/main/java/fr/weefle/constructor/listener/BuilderListener.java rename to src/main/java/com/promcteam/blueprint/listener/BuilderListener.java index 650e468..11260b7 100644 --- a/src/main/java/fr/weefle/constructor/listener/BuilderListener.java +++ b/src/main/java/com/promcteam/blueprint/listener/BuilderListener.java @@ -1,14 +1,14 @@ -package fr.weefle.constructor.listener; +package com.promcteam.blueprint.listener; import com.palmergames.bukkit.towny.TownyAPI; import com.palmergames.bukkit.towny.object.Town; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import fr.weefle.constructor.hooks.citizens.BuilderTrait.BuilderState; -import fr.weefle.constructor.menus.ExcavatedMenu; -import fr.weefle.constructor.menus.MaterialsMenu; -import mc.promcteam.engine.utils.ItemUT; +import com.promcteam.blueprint.menus.ExcavatedMenu; +import com.promcteam.blueprint.menus.MaterialsMenu; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait.BuilderState; +import com.promcteam.codex.utils.ItemUT; import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.event.NPCLeftClickEvent; import net.citizensnpcs.api.event.NPCRightClickEvent; @@ -36,7 +36,7 @@ public class BuilderListener implements Listener { @EventHandler(priority = org.bukkit.event.EventPriority.HIGHEST) public void place(org.bukkit.event.block.BlockPlaceEvent event) { - BuilderTrait inst = SchematicBuilder.getBuilder(event.getPlayer()); + BuilderTrait inst = Blueprint.getBuilder(event.getPlayer()); if (inst != null) event.setCancelled(false); } @@ -75,19 +75,22 @@ public void onInventoryClose(InventoryCloseEvent event){ @EventHandler public void clickedme2(NPCLeftClickEvent event) { - Player player = event.getClicker(); - NPC npc = event.getNPC(); - BuilderTrait inst = SchematicBuilder.getBuilder(npc); + Player player = event.getClicker(); + NPC npc = event.getNPC(); + BuilderTrait inst = Blueprint.getBuilder(npc); if (inst != null) { if (inst.getState() == BuilderState.COLLECTING) { - player.sendMessage(SchematicBuilder.format(SchematicBuilder.getInstance().config().getSupplyListMessage(), + player.sendMessage(Blueprint.format(Blueprint.getInstance() + .config() + .getSupplyListMessage(), npc, inst.getSchematic(), player, null, "0")); new MaterialsMenu(player, inst).open(); - } else if (inst.getState() == BuilderState.BUILDING && inst.isExcavate() && !inst.ExcavateMaterials.isEmpty()) { + } else if (inst.getState() == BuilderState.BUILDING && inst.isExcavate() + && !inst.ExcavateMaterials.isEmpty()) { new ExcavatedMenu(player, npc).open(); } } @@ -99,11 +102,14 @@ public void clickedme2(NPCLeftClickEvent event) { @EventHandler public void clickedme(NPCRightClickEvent event) { NPC npc = event.getNPC(); - BuilderTrait inst = SchematicBuilder.getBuilder(npc); - if (inst == null) {return;} + BuilderTrait inst = Blueprint.getBuilder(npc); + if (inst == null) { + return; + } Player player = event.getClicker(); - if (!player.hasPermission("schematicbuilder.townyoverride") && Bukkit.getPluginManager().isPluginEnabled("Towny")) { + if (!player.hasPermission("schematicbuilder.townyoverride") && Bukkit.getPluginManager() + .isPluginEnabled("Towny")) { Town builderTown = TownyAPI.getInstance().getTown(inst.getNPC().getEntity().getLocation()); if (builderTown != null) { Town playerTown = TownyAPI.getInstance().getTown(player); @@ -119,7 +125,13 @@ public void clickedme(NPCRightClickEvent event) { @EventHandler(priority = org.bukkit.event.EventPriority.HIGHEST) - public void NavCom(net.citizensnpcs.api.ai.event.NavigationCompleteEvent event) throws ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalArgumentException, InvocationTargetException, IllegalAccessException { + public void NavCom(net.citizensnpcs.api.ai.event.NavigationCompleteEvent event) throws + ClassNotFoundException, + NoSuchMethodException, + InstantiationException, + IllegalArgumentException, + InvocationTargetException, + IllegalAccessException { NPC npc = null; for (NPC n : CitizensAPI.getNPCRegistry()) { if (n.getNavigator() == event.getNavigator()) { @@ -131,7 +143,7 @@ public void NavCom(net.citizensnpcs.api.ai.event.NavigationCompleteEvent event) // plugin.getLogger().info("nav complete " + npc); - BuilderTrait inst = SchematicBuilder.getBuilder(npc); + BuilderTrait inst = Blueprint.getBuilder(npc); if (inst == null) return; if (inst.getState() != BuilderState.IDLE) { @@ -142,7 +154,13 @@ public void NavCom(net.citizensnpcs.api.ai.event.NavigationCompleteEvent event) @EventHandler(priority = org.bukkit.event.EventPriority.HIGHEST) - public void NavCan(net.citizensnpcs.api.ai.event.NavigationCancelEvent event) throws ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalArgumentException, InvocationTargetException, IllegalAccessException { + public void NavCan(net.citizensnpcs.api.ai.event.NavigationCancelEvent event) throws + ClassNotFoundException, + NoSuchMethodException, + InstantiationException, + IllegalArgumentException, + InvocationTargetException, + IllegalAccessException { NPC npc = null; for (NPC n : CitizensAPI.getNPCRegistry()) { if (n.getNavigator() == event.getNavigator()) { @@ -150,7 +168,7 @@ public void NavCan(net.citizensnpcs.api.ai.event.NavigationCancelEvent event) th break; } } - BuilderTrait inst = SchematicBuilder.getBuilder(npc); + BuilderTrait inst = Blueprint.getBuilder(npc); // plugin.getLogger().info("nav cancel " + npc); @@ -179,7 +197,8 @@ private static ItemStack getItem(String b64stringtexture) { private static Field getField(Class target, String name, Class fieldType, int index) { for (final Field field : target.getDeclaredFields()) { - if ((name == null || field.getName().equals(name)) && fieldType.isAssignableFrom(field.getType()) && index-- <= 0) { + if ((name == null || field.getName().equals(name)) && fieldType.isAssignableFrom(field.getType()) + && index-- <= 0) { field.setAccessible(true); return field; } diff --git a/src/main/java/fr/weefle/constructor/listener/SelectionListener.java b/src/main/java/com/promcteam/blueprint/listener/SelectionListener.java similarity index 97% rename from src/main/java/fr/weefle/constructor/listener/SelectionListener.java rename to src/main/java/com/promcteam/blueprint/listener/SelectionListener.java index 05b0d39..ef1d997 100644 --- a/src/main/java/fr/weefle/constructor/listener/SelectionListener.java +++ b/src/main/java/com/promcteam/blueprint/listener/SelectionListener.java @@ -1,6 +1,6 @@ -package fr.weefle.constructor.listener; +package com.promcteam.blueprint.listener; -import fr.weefle.constructor.util.Cuboid; +import com.promcteam.blueprint.util.Cuboid; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.Material; diff --git a/src/main/java/fr/weefle/constructor/listener/TraitListener.java b/src/main/java/com/promcteam/blueprint/listener/TraitListener.java similarity index 61% rename from src/main/java/fr/weefle/constructor/listener/TraitListener.java rename to src/main/java/com/promcteam/blueprint/listener/TraitListener.java index ee0a7ec..1f1da03 100644 --- a/src/main/java/fr/weefle/constructor/listener/TraitListener.java +++ b/src/main/java/com/promcteam/blueprint/listener/TraitListener.java @@ -1,8 +1,8 @@ -package fr.weefle.constructor.listener; +package com.promcteam.blueprint.listener; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.commands.SchematicBuilderCommand; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.commands.SchematicBuilderCommand; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.trait.TraitInfo; import org.bukkit.Bukkit; @@ -15,8 +15,8 @@ public class TraitListener implements Listener { @EventHandler public void onLoad(ServerLoadEvent e) { CitizensAPI.getTraitFactory().registerTrait(TraitInfo.create(BuilderTrait.class).withName("builder")); - Bukkit.getServer().getPluginManager().registerEvents(new BuilderListener(), SchematicBuilder.getInstance()); - SchematicBuilder.getInstance().getCommand("schematicbuilder").setExecutor(new SchematicBuilderCommand()); + Bukkit.getServer().getPluginManager().registerEvents(new BuilderListener(), Blueprint.getInstance()); + Blueprint.getInstance().getCommand("schematicbuilder").setExecutor(new SchematicBuilderCommand()); HandlerList.unregisterAll(this); } } diff --git a/src/main/java/fr/weefle/constructor/listener/UpdaterListener.java b/src/main/java/com/promcteam/blueprint/listener/UpdaterListener.java similarity index 60% rename from src/main/java/fr/weefle/constructor/listener/UpdaterListener.java rename to src/main/java/com/promcteam/blueprint/listener/UpdaterListener.java index 2050e56..9895213 100644 --- a/src/main/java/fr/weefle/constructor/listener/UpdaterListener.java +++ b/src/main/java/com/promcteam/blueprint/listener/UpdaterListener.java @@ -1,6 +1,6 @@ -package fr.weefle.constructor.listener; +package com.promcteam.blueprint.listener; -import fr.weefle.constructor.Updater; +import com.promcteam.blueprint.Updater; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; @@ -13,7 +13,9 @@ public void onJoin(PlayerJoinEvent e) { if (Updater.enabledingame) { if (e.getPlayer().isOp()) { if (Updater.update) { - e.getPlayer().sendMessage("§6[§2Updater§6] §3There is an update for §5ProSchematicBuilder§3, look at the link in the console!"); + e.getPlayer() + .sendMessage( + "§6[§2Updater§6] §3There is an update for §5Blueprint§3, look at the link in the console!"); } else { return; } diff --git a/src/main/java/com/promcteam/blueprint/menus/BuildPatternMenu.java b/src/main/java/com/promcteam/blueprint/menus/BuildPatternMenu.java new file mode 100644 index 0000000..b7fa348 --- /dev/null +++ b/src/main/java/com/promcteam/blueprint/menus/BuildPatternMenu.java @@ -0,0 +1,65 @@ +package com.promcteam.blueprint.menus; + +import com.google.common.base.Preconditions; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.codex.manager.api.menu.Menu; +import com.promcteam.codex.manager.api.menu.Slot; +import com.promcteam.codex.manager.api.menu.YAMLMenu; +import com.promcteam.codex.utils.ItemUT; +import net.citizensnpcs.api.npc.NPC; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; +import org.jetbrains.annotations.Nullable; + +import java.util.Objects; + +public class BuildPatternMenu extends Menu { + public static final YAMLMenu CONFIG = + new YAMLMenu<>(Blueprint.getInstance(), "menus/build-pattern.yml") { + @Override + protected String getTitle(String yamlTitle, BuilderTrait parameter) { + return yamlTitle.replace("%npc%", parameter.getNPC().getName()); + } + + @Override + @Nullable + public Slot getSlot(String function, BuilderTrait builder, Player player) { + ItemStack itemStack = this.getItem(function); + ItemUT.replaceLore(itemStack, "%current%", builder.getBuildPatternXZ().name() + .toLowerCase() + .replace('_', ' ')); + try { + BuilderTrait.BuildPatternXZ patternXZ = BuilderTrait.BuildPatternXZ.valueOf(function + .toUpperCase() + .replace('-', '_')); + return new Slot(itemStack) { + @Override + public void onLeftClick() { + builder.setBuildPatternXZ(patternXZ); + player.closeInventory(); + } + }; + } catch (IllegalArgumentException ignored) { + } + return null; + } + }; + + protected final NPC npc; + + public BuildPatternMenu(Player player, NPC npc) { + super(player, + CONFIG.getRows(), + CONFIG.getTitle(Objects.requireNonNull(Blueprint.getBuilder(npc), + npc.getName() + " is not a builder"))); + this.npc = npc; + } + + @Override + public void setContents() { + BuilderTrait builder = Blueprint.getBuilder(npc); + Preconditions.checkArgument(builder != null, npc.getName() + " is not a builder"); + CONFIG.setSlots(this, builder); + } +} diff --git a/src/main/java/fr/weefle/constructor/menus/BuilderListMenu.java b/src/main/java/com/promcteam/blueprint/menus/BuilderListMenu.java similarity index 61% rename from src/main/java/fr/weefle/constructor/menus/BuilderListMenu.java rename to src/main/java/com/promcteam/blueprint/menus/BuilderListMenu.java index 4afb1ac..2191432 100644 --- a/src/main/java/fr/weefle/constructor/menus/BuilderListMenu.java +++ b/src/main/java/com/promcteam/blueprint/menus/BuilderListMenu.java @@ -1,9 +1,9 @@ -package fr.weefle.constructor.menus; +package com.promcteam.blueprint.menus; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import mc.promcteam.engine.manager.api.menu.Menu; -import mc.promcteam.engine.manager.api.menu.Slot; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.codex.manager.api.menu.Menu; +import com.promcteam.codex.manager.api.menu.Slot; import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.npc.NPC; import org.bukkit.ChatColor; @@ -25,18 +25,22 @@ public void setContents() { int i = 0; for (NPC npc : CitizensAPI.getNPCRegistry().sorted()) { i++; - if (i%this.inventory.getSize() == 53) { + if (i % this.inventory.getSize() == 53) { this.setSlot(i, getNextButton()); i++; - } else if (i%9 == 8) { i++; } - if (i%this.inventory.getSize() == 45) { + } else if (i % 9 == 8) { + i++; + } + if (i % this.inventory.getSize() == 45) { this.setSlot(i, getPrevButton()); i++; - } else if (i%9 == 0) { i++; } + } else if (i % 9 == 0) { + i++; + } this.setSlot(i, new NPCSlot(npc)); } - this.setSlot(this.getPages()*this.inventory.getSize()-9, getPrevButton()); - this.setSlot(this.getPages()*this.inventory.getSize()-1, getNextButton()); + this.setSlot(this.getPages() * this.inventory.getSize() - 9, getPrevButton()); + this.setSlot(this.getPages() * this.inventory.getSize() - 1, getNextButton()); } public static class NPCSlot extends Slot { @@ -51,15 +55,15 @@ public NPCSlot(NPC npc) { SkullMeta skullMeta = (SkullMeta) meta; skullMeta.setOwner(npc.getName()); } - meta.setDisplayName(ChatColor.RESET+"<"+npc.getId()+"> "+npc.getName()); + meta.setDisplayName(ChatColor.RESET + "<" + npc.getId() + "> " + npc.getName()); ArrayList lore = new ArrayList<>(); if (npc.hasTrait(BuilderTrait.class)) { - lore.add(ChatColor.GREEN+"This NPC can build."); - lore.add(ChatColor.GOLD+"Left-Click: "+ChatColor.YELLOW+"Enter parameters"); - lore.add(ChatColor.GOLD+"Right-click: "+ChatColor.YELLOW+"Remove builder's trait"); + lore.add(ChatColor.GREEN + "This NPC can build."); + lore.add(ChatColor.GOLD + "Left-Click: " + ChatColor.YELLOW + "Enter parameters"); + lore.add(ChatColor.GOLD + "Right-click: " + ChatColor.YELLOW + "Remove builder's trait"); } else { - lore.add(ChatColor.RED+"This NPC can't build!"); - lore.add(ChatColor.GOLD+"Right-click: "+ChatColor.YELLOW+"Add builder's trait"); + lore.add(ChatColor.RED + "This NPC can't build!"); + lore.add(ChatColor.GOLD + "Right-click: " + ChatColor.YELLOW + "Add builder's trait"); } meta.setLore(lore); this.itemStack.setItemMeta(meta); @@ -70,10 +74,11 @@ public NPCSlot(NPC npc) { @Override public void onLeftClick() { - BuilderTrait builderTrait = SchematicBuilder.getBuilder(npc); - Player player = menu.getPlayer(); + BuilderTrait builderTrait = Blueprint.getBuilder(npc); + Player player = menu.getPlayer(); if (builderTrait == null) { - player.sendMessage(ChatColor.GOLD + npc.getName() + ChatColor.RED + " isn't a builder, right-click on it to make it one!"); + player.sendMessage(ChatColor.GOLD + npc.getName() + ChatColor.RED + + " isn't a builder, right-click on it to make it one!"); return; } player.performCommand("npc select " + npc.getId()); diff --git a/src/main/java/fr/weefle/constructor/menus/BuilderMenu.java b/src/main/java/com/promcteam/blueprint/menus/BuilderMenu.java similarity index 73% rename from src/main/java/fr/weefle/constructor/menus/BuilderMenu.java rename to src/main/java/com/promcteam/blueprint/menus/BuilderMenu.java index dda4b0d..2494d49 100644 --- a/src/main/java/fr/weefle/constructor/menus/BuilderMenu.java +++ b/src/main/java/com/promcteam/blueprint/menus/BuilderMenu.java @@ -1,18 +1,18 @@ -package fr.weefle.constructor.menus; +package com.promcteam.blueprint.menus; import com.google.common.base.Preconditions; -import fr.weefle.constructor.PersistentBuilding; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.commands.ExcavatedSubCommand; -import fr.weefle.constructor.commands.PreviewSubCommand; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import fr.weefle.constructor.schematic.Schematic; -import fr.weefle.constructor.schematic.YAMLSchematic; -import fr.weefle.constructor.util.Util; -import mc.promcteam.engine.manager.api.menu.Menu; -import mc.promcteam.engine.manager.api.menu.Slot; -import mc.promcteam.engine.manager.api.menu.YAMLMenu; -import mc.promcteam.engine.utils.ItemUT; +import com.promcteam.blueprint.schematic.Schematic; +import com.promcteam.blueprint.PersistentBuilding; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.commands.ExcavatedSubCommand; +import com.promcteam.blueprint.commands.PreviewSubCommand; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.schematic.YAMLSchematic; +import com.promcteam.blueprint.util.Util; +import com.promcteam.codex.manager.api.menu.Menu; +import com.promcteam.codex.manager.api.menu.Slot; +import com.promcteam.codex.manager.api.menu.YAMLMenu; +import com.promcteam.codex.utils.ItemUT; import net.citizensnpcs.api.npc.NPC; import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.ClickEvent; @@ -38,7 +38,8 @@ import java.util.Objects; public class BuilderMenu extends Menu { - public static final YAMLBuilderMenu CONFIG = new YAMLBuilderMenu(SchematicBuilder.getInstance(), "menus/builder.yml"); + public static final YAMLBuilderMenu CONFIG = + new YAMLBuilderMenu(Blueprint.getInstance(), "menus/builder.yml"); public static class YAMLBuilderMenu extends YAMLMenu { public YAMLBuilderMenu(Plugin plugin, String path) {super(plugin, path);} @@ -54,9 +55,12 @@ public Slot getSlot(String function, BuilderTrait builder, Player player) { switch (function) { case "schematic": { Schematic schematic = builder.getSchematic(); - if (schematic == null) {return new Slot(this.getItem(function+"-null"));} - int tier = schematic instanceof YAMLSchematic ? ((YAMLSchematic) schematic).getTier()+1 : 1; - ItemStack itemStack = this.getItem(function+"-notnull"); + if (schematic == null) { + return new Slot(this.getItem(function + "-null")); + } + int tier = + schematic instanceof YAMLSchematic ? ((YAMLSchematic) schematic).getTier() + 1 : 1; + ItemStack itemStack = this.getItem(function + "-notnull"); itemStack.setAmount(Math.max(1, tier)); ItemMeta meta = itemStack.getItemMeta(); if (meta != null) { @@ -78,18 +82,20 @@ public void onDrop() { } case "trigger": { if (builder.getSchematic() == null) { - return new Slot(this.getItem(function+"-empty")) {}; + return new Slot(this.getItem(function + "-empty")) { + }; } if (!builder.getMissingMaterials().isEmpty()) { - return new Slot(this.getItem(function+"-missing-materials")) {}; + return new Slot(this.getItem(function + "-missing-materials")) { + }; } if (builder.getState() == BuilderTrait.BuilderState.BUILDING) { - return new Slot(this.getItem(function+"-stop")) { + return new Slot(this.getItem(function + "-stop")) { @Override public void onLeftClick() { builder.CancelBuild(); - player.sendMessage(SchematicBuilder.format( - SchematicBuilder.getInstance().config().getCancelMessage(), + player.sendMessage(Blueprint.format( + Blueprint.getInstance().config().getCancelMessage(), builder.getNPC(), builder.getSchematic(), player, @@ -98,13 +104,14 @@ public void onLeftClick() { } }; } - return new Slot(this.getItem(function+"-start")) { + return new Slot(this.getItem(function + "-start")) { @Override public void onLeftClick() { if (builder.TryBuild(player)) { menu.close(); } else { - player.sendMessage(ChatColor.RED + builder.getNPC().getName() + " needs a structure to build first!"); + player.sendMessage(ChatColor.RED + builder.getNPC().getName() + + " needs a structure to build first!"); } } }; @@ -121,8 +128,8 @@ public void onLeftClick() { public void onLeftClick() { Schematic schematic = builder.getSchematic(); if (schematic == null) { - player.sendMessage(SchematicBuilder.format( - SchematicBuilder.getInstance().config().getNoSchematicSelectedMessage(), + player.sendMessage(Blueprint.format( + Blueprint.getInstance().config().getNoSchematicSelectedMessage(), builder.getNPC(), builder.getSchematic(), player, @@ -131,40 +138,47 @@ public void onLeftClick() { } schematic.hidePreview(); if (schematic instanceof YAMLSchematic && ((YAMLSchematic) schematic).getTier() >= 0) { - player.sendMessage(SchematicBuilder.format( - SchematicBuilder.getInstance().config().getCantMoveSchematicMessage(), + player.sendMessage(Blueprint.format( + Blueprint.getInstance().config().getCantMoveSchematicMessage(), builder.getNPC(), builder.getSchematic(), player, null, "0")); return; } - if (!checkNotBusy(builder, player)) {return;} + if (!checkNotBusy(builder, player)) { + return; + } - Menu menu = this.menu; - BaseComponent component = new TextComponent("▸ While facing in each direction, left click to push the building, or right click to bring it closer."); + Menu menu = this.menu; + BaseComponent component = new TextComponent( + "▸ While facing in each direction, left click to push the building, or right click to bring it closer."); player.spigot().sendMessage(component); component = new TextComponent(""); - BaseComponent component1 = new TextComponent(ChatColor.BLUE.toString()+ChatColor.UNDERLINE+ "Rotate counterclockwise"); - component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "counterclockwise")); + BaseComponent component1 = new TextComponent( + ChatColor.BLUE.toString() + ChatColor.UNDERLINE + "Rotate counterclockwise"); + component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, + "counterclockwise")); component.addExtra(component1); component.addExtra(new TextComponent(" ")); - component1 = new TextComponent(ChatColor.BLUE.toString()+ChatColor.UNDERLINE+"Rotate clockwise"); + component1 = new TextComponent( + ChatColor.BLUE.toString() + ChatColor.UNDERLINE + "Rotate clockwise"); component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "clockwise")); component.addExtra(component1); player.spigot().sendMessage(component); - component = new TextComponent(""); - component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"Stop"); + component = new TextComponent(""); + component1 = new TextComponent(ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "Stop"); component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "Stop")); component.addExtra(component1); component.addExtra(new TextComponent(" ")); - component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"Here"); + component1 = new TextComponent(ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "Here"); component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "Here")); component.addExtra(component1); component.addExtra(new TextComponent(" ")); - component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"To builder"); + component1 = + new TextComponent(ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "To builder"); component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "To builder")); component.addExtra(component1); player.spigot().sendMessage(component); @@ -173,23 +187,28 @@ public void onLeftClick() { BukkitTask task = new BukkitRunnable() { @Override public void run() { - ParticleCuboid cuboid = new ParticleCuboid(builder.getOrigin().toVector(), new Vector(schematic.getWidth(), schematic.getHeight(), schematic.getLength())); + ParticleCuboid cuboid = new ParticleCuboid(builder.getOrigin().toVector(), + new Vector(schematic.getWidth(), + schematic.getHeight(), + schematic.getLength())); cuboid.rotate(builder.getRotation()); cuboid.render(player); } - }.runTaskTimer(SchematicBuilder.getInstance(), 5, 5); + }.runTaskTimer(Blueprint.getInstance(), 5, 5); menu.registerTask(task); menu.registerListener(new Listener() { @EventHandler public void onChat(AsyncPlayerChatEvent event) { - if (!event.getPlayer().equals(player)) {return;} + if (!event.getPlayer().equals(player)) { + return; + } String message = event.getMessage().strip(); if (message.equalsIgnoreCase("counterclockwise")) { event.setCancelled(true); - builder.setRotation(builder.getRotation()-1); + builder.setRotation(builder.getRotation() - 1); } else if (message.equalsIgnoreCase("clockwise")) { event.setCancelled(true); - builder.setRotation(builder.getRotation()+1); + builder.setRotation(builder.getRotation() + 1); } else if (message.equalsIgnoreCase("Stop")) { HandlerList.unregisterAll(this); event.setCancelled(true); @@ -208,11 +227,14 @@ public void onChat(AsyncPlayerChatEvent event) { @EventHandler public void onBlockClick(PlayerInteractEvent event) { switch (event.getAction()) { - case LEFT_CLICK_BLOCK: case LEFT_CLICK_AIR: case RIGHT_CLICK_BLOCK: case RIGHT_CLICK_AIR: { - float yaw = player.getLocation().getYaw(); - float pitch = player.getLocation().getPitch(); + case LEFT_CLICK_BLOCK: + case LEFT_CLICK_AIR: + case RIGHT_CLICK_BLOCK: + case RIGHT_CLICK_AIR: { + float yaw = player.getLocation().getYaw(); + float pitch = player.getLocation().getPitch(); Location location = builder.getOrigin(); - Vector offset; + Vector offset; if (pitch < -45F) { // Up offset = new Vector(0, 1, 0); } else if (pitch <= 45F) { // Front @@ -232,13 +254,18 @@ public void onBlockClick(PlayerInteractEvent event) { } float soundPitch = 0.5F; switch (event.getAction()) { - case RIGHT_CLICK_BLOCK: case RIGHT_CLICK_AIR: { + case RIGHT_CLICK_BLOCK: + case RIGHT_CLICK_AIR: { offset.multiply(-1); soundPitch = 1.5F; break; } } - player.playSound(player.getEyeLocation(), Sound.ENTITY_PLAYER_ATTACK_WEAK, SoundCategory.MASTER, 1, soundPitch); + player.playSound(player.getEyeLocation(), + Sound.ENTITY_PLAYER_ATTACK_WEAK, + SoundCategory.MASTER, + 1, + soundPitch); location.add(offset); builder.setOrigin(location); break; @@ -252,7 +279,9 @@ public void onBlockClick(PlayerInteractEvent event) { case "required-materials": { int total = 0; if (builder.getSchematic() != null) { - for (Integer amount : builder.getMissingMaterials().values()) {total += amount;} + for (Integer amount : builder.getMissingMaterials().values()) { + total += amount; + } } ItemStack itemStack = this.getItem(function); ItemUT.replaceLore(itemStack, "%current%", String.valueOf(total)); @@ -267,7 +296,7 @@ public void onLeftClick() { } case "settings": { if (player.hasPermission("schematicbuilder.npc.edit")) { - return new Slot(this.getItem(function+"-admin")) { + return new Slot(this.getItem(function + "-admin")) { @Override public void onLeftClick() { this.menu.openSubMenu(new SettingsMenu(player, builder.getNPC(), SettingsMenu.PLAYER)); @@ -281,7 +310,7 @@ public void onShiftLeftClick() { } else if (SettingsMenu.PLAYER.isEmpty()) { return null; } else { - return new Slot(this.getItem(function+"-player")) { + return new Slot(this.getItem(function + "-player")) { @Override public void onLeftClick() { this.menu.openSubMenu(new SettingsMenu(player, builder.getNPC(), SettingsMenu.PLAYER)); @@ -304,9 +333,11 @@ public void onLeftClick() { @Override public void onLeftClick() { if (checkNotBusy(builder, player)) { - Menu menu = this.menu; - BaseComponent component = new TextComponent("▸ Click on a block from the structure you want to select, or type "); - BaseComponent component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"cancel"); + Menu menu = this.menu; + BaseComponent component = new TextComponent( + "▸ Click on a block from the structure you want to select, or type "); + BaseComponent component1 = + new TextComponent(ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "cancel"); component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "cancel")); component.addExtra(component1); component.addExtra(new TextComponent(" to go back.")); @@ -316,7 +347,9 @@ public void onLeftClick() { menu.registerListener(new Listener() { @EventHandler public void onChat(AsyncPlayerChatEvent event) { - if (!event.getPlayer().equals(player)) {return;} + if (!event.getPlayer().equals(player)) { + return; + } if (event.getMessage().strip().equalsIgnoreCase("cancel")) { HandlerList.unregisterAll(this); event.setCancelled(true); @@ -327,22 +360,33 @@ public void onChat(AsyncPlayerChatEvent event) { @EventHandler public void onBlockClick(PlayerInteractEvent event) { switch (event.getAction()) { - case LEFT_CLICK_BLOCK: case RIGHT_CLICK_BLOCK: case LEFT_CLICK_AIR: case RIGHT_CLICK_AIR: { + case LEFT_CLICK_BLOCK: + case RIGHT_CLICK_BLOCK: + case LEFT_CLICK_AIR: + case RIGHT_CLICK_AIR: { event.setCancelled(true); Block block = event.getClickedBlock(); - if (block == null) {return;} - PersistentBuilding persistentBuilding = SchematicBuilder.getInstance().getBuildingRegistry().getPersistentBuilding(block.getLocation()); + if (block == null) { + return; + } + PersistentBuilding persistentBuilding = Blueprint.getInstance() + .getBuildingRegistry() + .getPersistentBuilding(block.getLocation()); if (persistentBuilding == null) { - BaseComponent component = new TextComponent(ChatColor.RED+"This block doesn't belong to a existing building. Type "); - BaseComponent component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"cancel"); - component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "cancel")); + BaseComponent component = new TextComponent(ChatColor.RED + + "This block doesn't belong to a existing building. Type "); + BaseComponent component1 = new TextComponent( + ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "cancel"); + component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, + "cancel")); component.addExtra(component1); - component.addExtra(new TextComponent(ChatColor.RED+" to go back.")); + component.addExtra(new TextComponent( + ChatColor.RED + " to go back.")); player.spigot().sendMessage(component); } else { HandlerList.unregisterAll(this); builder.setPersistentBuilding(persistentBuilding); - player.sendMessage(ChatColor.GREEN+"Building selected"); + player.sendMessage(ChatColor.GREEN + "Building selected"); menu.open(); } break; @@ -366,7 +410,9 @@ public void onLeftClick() { } case "collected-materials": { int total = 0; - for (Integer amount : builder.ExcavateMaterials.values()) {total += amount;} + for (Integer amount : builder.ExcavateMaterials.values()) { + total += amount; + } ItemStack itemStack = this.getItem(function); ItemUT.replaceLore(itemStack, "%current%", String.valueOf(total)); return new Slot(itemStack) { @@ -405,14 +451,17 @@ public void onLeftClick() { return new Slot(itemStack) { @Override public void onMiddleClick() { - Menu menu = this.menu; + Menu menu = this.menu; BaseComponent component = new TextComponent("▸ Enter the desired layers, or "); - BaseComponent component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"cancel"); + BaseComponent component1 = + new TextComponent(ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "cancel"); component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "cancel")); component.addExtra(component1); component.addExtra(new TextComponent(" to go back. ")); - component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"Current value"); - component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, String.valueOf(builder.getBuildYLayers()))); + component1 = new TextComponent( + ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "Current value"); + component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, + String.valueOf(builder.getBuildYLayers()))); component.addExtra(component1); player.spigot().sendMessage(component); @@ -420,7 +469,9 @@ public void onMiddleClick() { menu.registerListener(new Listener() { @EventHandler public void onChat(AsyncPlayerChatEvent event) { - if (!event.getPlayer().equals(player)) {return;} + if (!event.getPlayer().equals(player)) { + return; + } HandlerList.unregisterAll(this); event.setCancelled(true); String message = event.getMessage().strip(); @@ -428,7 +479,7 @@ public void onChat(AsyncPlayerChatEvent event) { try { builder.setBuildYLayers(Integer.parseInt(message)); } catch (NumberFormatException e) { - player.sendMessage("Invalid number '"+message+'\''); + player.sendMessage("Invalid number '" + message + '\''); } } menu.openSync(); @@ -438,13 +489,13 @@ public void onChat(AsyncPlayerChatEvent event) { @Override public void onLeftClick() { - builder.setBuildYLayers(builder.getBuildYLayers()-1); + builder.setBuildYLayers(builder.getBuildYLayers() - 1); this.menu.open(); } @Override public void onRightClick() { - builder.setBuildYLayers(builder.getBuildYLayers()+1); + builder.setBuildYLayers(builder.getBuildYLayers() + 1); this.menu.open(); } @@ -456,8 +507,8 @@ public void onDrop() { }; } case "silent": { - boolean isSilent = builder.isSilent(); - ItemStack itemStack = this.getItem(function+'-'+isSilent); + boolean isSilent = builder.isSilent(); + ItemStack itemStack = this.getItem(function + '-' + isSilent); ItemUT.replaceLore(itemStack, "%current%", String.valueOf(isSilent)); return new Slot(itemStack) { @Override @@ -470,9 +521,9 @@ public void onLeftClick() { case "citizens": { ItemStack itemStack = this.getItem(function); List actions = new ArrayList<>(); - actions.add(ChatColor.BLUE+"On Start: "+ChatColor.WHITE+builder.getOnStart()); - actions.add(ChatColor.BLUE+"On Complete: "+ChatColor.WHITE+builder.getOnComplete()); - actions.add(ChatColor.BLUE+"On Cancel: "+ChatColor.WHITE+builder.getOnCancel()); + actions.add(ChatColor.BLUE + "On Start: " + ChatColor.WHITE + builder.getOnStart()); + actions.add(ChatColor.BLUE + "On Complete: " + ChatColor.WHITE + builder.getOnComplete()); + actions.add(ChatColor.BLUE + "On Cancel: " + ChatColor.WHITE + builder.getOnCancel()); ItemUT.replaceLore(itemStack, "%current%", actions); return new Slot(itemStack) { @Override @@ -484,8 +535,8 @@ public void onLeftClick() { }; } case "needs-materials": { - boolean needsMaterials = builder.requiresMaterials(); - ItemStack itemStack = this.getItem(function+'-'+needsMaterials); + boolean needsMaterials = builder.requiresMaterials(); + ItemStack itemStack = this.getItem(function + '-' + needsMaterials); ItemUT.replaceLore(itemStack, "%current%", String.valueOf(needsMaterials)); return new Slot(itemStack) { @Override @@ -496,8 +547,8 @@ public void onLeftClick() { }; } case "hold-item": { - boolean holdsItems = builder.holdsItems(); - ItemStack itemStack = this.getItem(function); + boolean holdsItems = builder.holdsItems(); + ItemStack itemStack = this.getItem(function); ItemUT.replaceLore(itemStack, "%current%", String.valueOf(holdsItems)); return new Slot(itemStack) { @Override @@ -508,8 +559,8 @@ public void onLeftClick() { }; } case "ignore-liquid": { - boolean ignoresLiquids = builder.ignoresLiquids(); - ItemStack itemStack = this.getItem(function); + boolean ignoresLiquids = builder.ignoresLiquids(); + ItemStack itemStack = this.getItem(function); ItemUT.replaceLore(itemStack, "%current%", String.valueOf(ignoresLiquids)); return new Slot(itemStack) { @Override @@ -537,14 +588,17 @@ public void onLeftClick() { return new Slot(itemStack) { @Override public void onMiddleClick() { - Menu menu = this.menu; - BaseComponent component = new TextComponent("▸ Enter the building timeout, or "); - BaseComponent component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"cancel"); + Menu menu = this.menu; + BaseComponent component = new TextComponent("▸ Enter the building timeout, or "); + BaseComponent component1 = + new TextComponent(ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "cancel"); component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "cancel")); component.addExtra(component1); component.addExtra(new TextComponent(" to go back. ")); - component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"Current value"); - component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, String.valueOf(builder.getMoveTimeoutSeconds()))); + component1 = new TextComponent( + ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "Current value"); + component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, + String.valueOf(builder.getMoveTimeoutSeconds()))); component.addExtra(component1); player.spigot().sendMessage(component); @@ -552,7 +606,9 @@ public void onMiddleClick() { menu.registerListener(new Listener() { @EventHandler public void onChat(AsyncPlayerChatEvent event) { - if (!event.getPlayer().equals(player)) {return;} + if (!event.getPlayer().equals(player)) { + return; + } HandlerList.unregisterAll(this); event.setCancelled(true); String message = event.getMessage().strip(); @@ -560,22 +616,23 @@ public void onChat(AsyncPlayerChatEvent event) { try { builder.setMoveTimeoutSeconds(Double.parseDouble(message)); } catch (NumberFormatException e) { - player.sendMessage("Invalid number '"+message+'\''); + player.sendMessage("Invalid number '" + message + '\''); } } menu.openSync(); } }); } + @Override public void onLeftClick() { - builder.setMoveTimeoutSeconds(builder.getMoveTimeoutSeconds()-1); + builder.setMoveTimeoutSeconds(builder.getMoveTimeoutSeconds() - 1); this.menu.open(); } @Override public void onRightClick() { - builder.setMoveTimeoutSeconds(builder.getMoveTimeoutSeconds()+1); + builder.setMoveTimeoutSeconds(builder.getMoveTimeoutSeconds() + 1); this.menu.open(); } @@ -615,12 +672,13 @@ public void onLeftClick() { private static boolean checkNotBusy(BuilderTrait builder, Player player) { switch (builder.getState()) { - case IDLE: case COLLECTING: { + case IDLE: + case COLLECTING: { return true; } default: { - player.sendMessage(SchematicBuilder.format( - SchematicBuilder.getInstance().config().getCantWhileBuildingMessage(), + player.sendMessage(Blueprint.format( + Blueprint.getInstance().config().getCantWhileBuildingMessage(), builder.getNPC(), builder.getSchematic(), player, @@ -633,14 +691,17 @@ private static boolean checkNotBusy(BuilderTrait builder, Player player) { protected final NPC npc; public BuilderMenu(Player player, NPC npc) { - super(player, CONFIG.getRows(), CONFIG.getTitle(Objects.requireNonNull(SchematicBuilder.getBuilder(npc), npc.getName()+" is not a builder"))); + super(player, + CONFIG.getRows(), + CONFIG.getTitle(Objects.requireNonNull(Blueprint.getBuilder(npc), + npc.getName() + " is not a builder"))); this.npc = npc; } @Override public void setContents() { - BuilderTrait builder = SchematicBuilder.getBuilder(npc); - Preconditions.checkArgument(builder != null, npc.getName()+" is not a builder"); + BuilderTrait builder = Blueprint.getBuilder(npc); + Preconditions.checkArgument(builder != null, npc.getName() + " is not a builder"); CONFIG.setSlots(this, builder); } @@ -656,48 +717,48 @@ public ParticleCuboid(Vector origin, Vector size) { public void rotate(int rotations) { this.size = Util.rotateVector(this.size, rotations); if (rotations == 1) { - this.origin.setX(this.origin.getX()+1); + this.origin.setX(this.origin.getX() + 1); } else if (rotations == 2) { - this.origin.setX(this.origin.getX()+1); - this.origin.setZ(this.origin.getZ()+1); + this.origin.setX(this.origin.getX() + 1); + this.origin.setZ(this.origin.getZ() + 1); } else if (rotations == 3) { - this.origin.setZ(this.origin.getZ()+1); + this.origin.setZ(this.origin.getZ() + 1); } } public void render(Player player) { - double width = this.size.getX(); + double width = this.size.getX(); double height = this.size.getY(); double length = this.size.getZ(); - double offset = width/5; - int amount = Math.max(1, Math.abs((int) width*5)); - double x = this.origin.getX()+width/2; - double y = this.origin.getY(); - double z = this.origin.getZ(); + double offset = width / 5; + int amount = Math.max(1, Math.abs((int) width * 5)); + double x = this.origin.getX() + width / 2; + double y = this.origin.getY(); + double z = this.origin.getZ(); player.spawnParticle(Particle.CRIT, x, y, z, amount, offset, 0, 0, 0); - player.spawnParticle(Particle.CRIT, x, y+height, z, amount, offset, 0, 0, 0); - player.spawnParticle(Particle.CRIT, x, y, z+length, amount, offset, 0, 0, 0); - player.spawnParticle(Particle.CRIT, x, y+height, z+length, amount, offset, 0, 0, 0); + player.spawnParticle(Particle.CRIT, x, y + height, z, amount, offset, 0, 0, 0); + player.spawnParticle(Particle.CRIT, x, y, z + length, amount, offset, 0, 0, 0); + player.spawnParticle(Particle.CRIT, x, y + height, z + length, amount, offset, 0, 0, 0); x = this.origin.getX(); - y += height/2; - offset = height/5; - amount = Math.max(1, Math.abs((int) height*5)); + y += height / 2; + offset = height / 5; + amount = Math.max(1, Math.abs((int) height * 5)); player.spawnParticle(Particle.CRIT, x, y, z, amount, 0, offset, 0, 0); - player.spawnParticle(Particle.CRIT, x+width, y, z, amount, 0, offset, 0, 0); - player.spawnParticle(Particle.CRIT, x, y, z+length, amount, 0, offset, 0, 0); - player.spawnParticle(Particle.CRIT, x+width, y, z+length, amount, 0, offset, 0, 0); + player.spawnParticle(Particle.CRIT, x + width, y, z, amount, 0, offset, 0, 0); + player.spawnParticle(Particle.CRIT, x, y, z + length, amount, 0, offset, 0, 0); + player.spawnParticle(Particle.CRIT, x + width, y, z + length, amount, 0, offset, 0, 0); y = this.origin.getY(); - z += length/2; - offset = length/5; - amount = Math.max(5, Math.abs((int) length*5)); + z += length / 2; + offset = length / 5; + amount = Math.max(5, Math.abs((int) length * 5)); player.spawnParticle(Particle.CRIT, x, y, z, amount, 0, 0, offset, 0); - player.spawnParticle(Particle.CRIT, x+width, y, z, amount, 0, 0, offset, 0); - player.spawnParticle(Particle.CRIT, x, y+height, z, amount, 0, 0, offset, 0); - player.spawnParticle(Particle.CRIT, x+width, y+height, z, amount, 0, 0, offset, 0); + player.spawnParticle(Particle.CRIT, x + width, y, z, amount, 0, 0, offset, 0); + player.spawnParticle(Particle.CRIT, x, y + height, z, amount, 0, 0, offset, 0); + player.spawnParticle(Particle.CRIT, x + width, y + height, z, amount, 0, 0, offset, 0); } } } diff --git a/src/main/java/com/promcteam/blueprint/menus/CitizensActionsMenu.java b/src/main/java/com/promcteam/blueprint/menus/CitizensActionsMenu.java new file mode 100644 index 0000000..9dfbb72 --- /dev/null +++ b/src/main/java/com/promcteam/blueprint/menus/CitizensActionsMenu.java @@ -0,0 +1,214 @@ +package com.promcteam.blueprint.menus; + +import com.google.common.base.Preconditions; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.codex.manager.api.menu.Menu; +import com.promcteam.codex.manager.api.menu.Slot; +import com.promcteam.codex.manager.api.menu.YAMLMenu; +import com.promcteam.codex.utils.ItemUT; +import net.citizensnpcs.api.npc.NPC; +import net.md_5.bungee.api.chat.BaseComponent; +import net.md_5.bungee.api.chat.ClickEvent; +import net.md_5.bungee.api.chat.TextComponent; +import org.bukkit.ChatColor; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.HandlerList; +import org.bukkit.event.Listener; +import org.bukkit.event.player.AsyncPlayerChatEvent; +import org.bukkit.inventory.ItemStack; +import org.jetbrains.annotations.Nullable; + +import java.util.Objects; + +public class CitizensActionsMenu extends Menu { + public static final YAMLMenu CONFIG = + new YAMLMenu(Blueprint.getInstance(), "menus/citizens-actions.yml") { + @Override + protected String getTitle(String yamlTitle, BuilderTrait parameter) { + return yamlTitle.replace("%npc%", parameter.getNPC().getName()); + } + + @Override + @Nullable + public Slot getSlot(String function, BuilderTrait builder, Player player) { + switch (function) { + case "on-start": { + ItemStack itemStack = this.getItem(function); + String current = builder.getOnStart() == null ? "null" : builder.getOnStart(); + ItemUT.replaceLore(itemStack, "%current%", current); + return new Slot(itemStack) { + @Override + public void onLeftClick() { + Menu menu = this.menu; + BaseComponent component = + new TextComponent("▸ Enter the desired action on start, or "); + BaseComponent component1 = new TextComponent( + ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "cancel"); + component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, + "cancel")); + component.addExtra(component1); + component.addExtra(new TextComponent(" to go back. ")); + component1 = new TextComponent( + ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "Current value"); + component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, + current)); + component.addExtra(component1); + player.spigot().sendMessage(component); + + this.menu.fakeClose(); + menu.registerListener(new Listener() { + @EventHandler + public void onChat(AsyncPlayerChatEvent event) { + if (!event.getPlayer().equals(player)) { + return; + } + HandlerList.unregisterAll(this); + event.setCancelled(true); + String message = event.getMessage().strip(); + if (!message.equalsIgnoreCase("cancel")) { + if (message.equalsIgnoreCase("null")) { + builder.setOnStart(null); + } else { + builder.setOnStart(message); + } + } + menu.openSync(); + } + }); + } + + @Override + public void onDrop() { + builder.setOnStart(null); + this.menu.open(); + } + }; + } + case "on-complete": { + ItemStack itemStack = this.getItem(function); + String current = builder.getOnComplete() == null ? "null" : builder.getOnComplete(); + ItemUT.replaceLore(itemStack, "%current%", current); + return new Slot(itemStack) { + @Override + public void onLeftClick() { + Menu menu = this.menu; + BaseComponent component = + new TextComponent("▸ Enter the desired action on complete, or "); + BaseComponent component1 = new TextComponent( + ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "cancel"); + component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, + "cancel")); + component.addExtra(component1); + component.addExtra(new TextComponent(" to go back. ")); + component1 = new TextComponent( + ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "Current value"); + component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, + current)); + component.addExtra(component1); + player.spigot().sendMessage(component); + + this.menu.fakeClose(); + menu.registerListener(new Listener() { + @EventHandler + public void onChat(AsyncPlayerChatEvent event) { + if (!event.getPlayer().equals(player)) { + return; + } + HandlerList.unregisterAll(this); + event.setCancelled(true); + String message = event.getMessage().strip(); + if (!message.equalsIgnoreCase("cancel")) { + if (message.equalsIgnoreCase("null")) { + builder.setOnComplete(null); + } else { + builder.setOnComplete(message); + } + } + menu.openSync(); + } + }); + } + + @Override + public void onDrop() { + builder.setOnComplete(null); + this.menu.open(); + } + }; + } + case "on-cancel": { + ItemStack itemStack = this.getItem(function); + String current = builder.getOnCancel() == null ? "null" : builder.getOnCancel(); + ItemUT.replaceLore(itemStack, "%current%", current); + return new Slot(itemStack) { + @Override + public void onLeftClick() { + Menu menu = this.menu; + BaseComponent component = + new TextComponent("▸ Enter the desired action on cancel, or "); + BaseComponent component1 = new TextComponent( + ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "cancel"); + component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, + "cancel")); + component.addExtra(component1); + component.addExtra(new TextComponent(" to go back. ")); + component1 = new TextComponent( + ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "Current value"); + component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, + current)); + component.addExtra(component1); + player.spigot().sendMessage(component); + + this.menu.fakeClose(); + menu.registerListener(new Listener() { + @EventHandler + public void onChat(AsyncPlayerChatEvent event) { + if (!event.getPlayer().equals(player)) { + return; + } + HandlerList.unregisterAll(this); + event.setCancelled(true); + String message = event.getMessage().strip(); + if (!message.equalsIgnoreCase("cancel")) { + if (message.equalsIgnoreCase("null")) { + builder.setOnCancel(null); + } else { + builder.setOnCancel(message); + } + } + menu.openSync(); + } + }); + } + + @Override + public void onDrop() { + builder.setOnCancel(null); + this.menu.open(); + } + }; + } + } + return null; + } + }; + + protected final NPC npc; + + public CitizensActionsMenu(Player player, NPC npc) { + super(player, + CONFIG.getRows(), + CONFIG.getTitle(Objects.requireNonNull(Blueprint.getBuilder(npc), + npc.getName() + " is not a builder"))); + this.npc = npc; + } + + @Override + public void setContents() { + BuilderTrait builder = Blueprint.getBuilder(npc); + Preconditions.checkArgument(builder != null, npc.getName() + " is not a builder"); + CONFIG.setSlots(this, builder); + } +} diff --git a/src/main/java/fr/weefle/constructor/menus/ExcavatedMenu.java b/src/main/java/com/promcteam/blueprint/menus/ExcavatedMenu.java similarity index 77% rename from src/main/java/fr/weefle/constructor/menus/ExcavatedMenu.java rename to src/main/java/com/promcteam/blueprint/menus/ExcavatedMenu.java index 8ffacde..240d4a0 100644 --- a/src/main/java/fr/weefle/constructor/menus/ExcavatedMenu.java +++ b/src/main/java/com/promcteam/blueprint/menus/ExcavatedMenu.java @@ -1,8 +1,8 @@ -package fr.weefle.constructor.menus; +package com.promcteam.blueprint.menus; -import fr.weefle.constructor.SchematicBuilder; -import mc.promcteam.engine.manager.api.menu.Menu; -import mc.promcteam.engine.manager.api.menu.Slot; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.codex.manager.api.menu.Menu; +import com.promcteam.codex.manager.api.menu.Slot; import net.citizensnpcs.api.npc.NPC; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -22,7 +22,7 @@ public ExcavatedMenu(Player player, NPC npc) { @Override public void setContents() { int i = 0; - for (Map.Entry entry : Objects.requireNonNull(SchematicBuilder.getBuilder(npc), + for (Map.Entry entry : Objects.requireNonNull(Blueprint.getBuilder(npc), npc.getName() + " is not a builder").ExcavateMaterials.entrySet()) { int total = entry.getValue(); while (total > 0) { @@ -30,11 +30,15 @@ public void setContents() { if (i % this.inventory.getSize() == 53) { this.setSlot(i, getNextButton()); i++; - } else if (i % 9 == 8) {i++;} + } else if (i % 9 == 8) { + i++; + } if (i % this.inventory.getSize() == 45) { this.setSlot(i, getPrevButton()); i++; - } else if (i % 9 == 0) {i++;} + } else if (i % 9 == 0) { + i++; + } int amount = Math.min(total, 64); this.setSlot(i, new Slot(new ItemStack(entry.getKey(), amount))); total -= amount; diff --git a/src/main/java/fr/weefle/constructor/menus/MaterialsMenu.java b/src/main/java/com/promcteam/blueprint/menus/MaterialsMenu.java similarity index 51% rename from src/main/java/fr/weefle/constructor/menus/MaterialsMenu.java rename to src/main/java/com/promcteam/blueprint/menus/MaterialsMenu.java index 8b04e41..e9fa34d 100644 --- a/src/main/java/fr/weefle/constructor/menus/MaterialsMenu.java +++ b/src/main/java/com/promcteam/blueprint/menus/MaterialsMenu.java @@ -1,8 +1,8 @@ -package fr.weefle.constructor.menus; +package com.promcteam.blueprint.menus; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import mc.promcteam.engine.manager.api.menu.Menu; -import mc.promcteam.engine.manager.api.menu.Slot; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.codex.manager.api.menu.Menu; +import com.promcteam.codex.manager.api.menu.Slot; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; @@ -21,28 +21,33 @@ public MaterialsMenu(Player player, @NotNull BuilderTrait builder) { @Override public void setContents() { - Map obtainedMaterials = this.builder.getStoredMaterials(); - int i = 0; - for (Map.Entry entry : Objects.requireNonNull(this.builder.getSchematic(), this.builder.getName()+" has no schematic loaded").getMaterials().entrySet()) { + Map obtainedMaterials = this.builder.getStoredMaterials(); + int i = 0; + for (Map.Entry entry : Objects.requireNonNull(this.builder.getSchematic(), + this.builder.getName() + " has no schematic loaded").getMaterials().entrySet()) { Material material = entry.getKey(); - int total = entry.getValue()-obtainedMaterials.getOrDefault(material, 0); + int total = entry.getValue() - obtainedMaterials.getOrDefault(material, 0); while (total > 0) { i++; - if (i%this.inventory.getSize() == 53) { + if (i % this.inventory.getSize() == 53) { this.setSlot(i, getNextButton()); i++; - } else if (i%9 == 8) { i++; } - if (i%this.inventory.getSize() == 45) { + } else if (i % 9 == 8) { + i++; + } + if (i % this.inventory.getSize() == 45) { this.setSlot(i, getPrevButton()); i++; - } else if (i%9 == 0) { i++; } + } else if (i % 9 == 0) { + i++; + } int amount = Math.min(total, 64); this.setSlot(i, new MaterialSlot(material, amount)); total -= amount; } } - this.setSlot(this.getPages()*this.inventory.getSize()-9, getPrevButton()); - this.setSlot(this.getPages()*this.inventory.getSize()-1, getNextButton()); + this.setSlot(this.getPages() * this.inventory.getSize() - 9, getPrevButton()); + this.setSlot(this.getPages() * this.inventory.getSize() - 1, getNextButton()); } private static class MaterialSlot extends Slot { diff --git a/src/main/java/fr/weefle/constructor/menus/SchematicListMenu.java b/src/main/java/com/promcteam/blueprint/menus/SchematicListMenu.java similarity index 50% rename from src/main/java/fr/weefle/constructor/menus/SchematicListMenu.java rename to src/main/java/com/promcteam/blueprint/menus/SchematicListMenu.java index 9f14306..78f3c40 100644 --- a/src/main/java/fr/weefle/constructor/menus/SchematicListMenu.java +++ b/src/main/java/com/promcteam/blueprint/menus/SchematicListMenu.java @@ -1,9 +1,9 @@ -package fr.weefle.constructor.menus; +package com.promcteam.blueprint.menus; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.commands.LoadSubCommand; -import mc.promcteam.engine.manager.api.menu.FileExplorerMenu; -import mc.promcteam.engine.manager.api.menu.Slot; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.commands.LoadSubCommand; +import com.promcteam.codex.manager.api.menu.FileExplorerMenu; +import com.promcteam.codex.manager.api.menu.Slot; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -12,11 +12,17 @@ public class SchematicListMenu extends FileExplorerMenu { public SchematicListMenu(Player player) { - super(player, SchematicBuilder.getInstance().config().getSchematicsFolder(), 6, "SchematicBuilder - Schematics", file -> { - String name = file.getName(); - if (!name.endsWith(".schem") && !name.endsWith(".nbt") && !name.endsWith(".yml")) {return null;} - return new SchematicSlot(name); - }); + super(player, + Blueprint.getInstance().config().getSchematicsFolder(), + 6, + "SchematicBuilder - Schematics", + file -> { + String name = file.getName(); + if (!name.endsWith(".schem") && !name.endsWith(".nbt") && !name.endsWith(".yml")) { + return null; + } + return new SchematicSlot(name); + }); } private static class SchematicSlot extends Slot { @@ -27,7 +33,7 @@ public SchematicSlot(String fileName) { this.fileName = fileName; ItemMeta meta = this.itemStack.getItemMeta(); if (meta != null) { - meta.setDisplayName(ChatColor.RESET+fileName); + meta.setDisplayName(ChatColor.RESET + fileName); this.itemStack.setItemMeta(meta); } } @@ -35,7 +41,9 @@ public SchematicSlot(String fileName) { @Override public void onLeftClick() { Player player = menu.getPlayer(); - LoadSubCommand.execute(((FileExplorerMenu) this.menu).getPath()+this.fileName, player, player::closeInventory); + LoadSubCommand.execute(((FileExplorerMenu) this.menu).getPath() + this.fileName, + player, + player::closeInventory); } } } diff --git a/src/main/java/com/promcteam/blueprint/menus/SchematicMenu.java b/src/main/java/com/promcteam/blueprint/menus/SchematicMenu.java new file mode 100644 index 0000000..b6066bd --- /dev/null +++ b/src/main/java/com/promcteam/blueprint/menus/SchematicMenu.java @@ -0,0 +1,46 @@ +package com.promcteam.blueprint.menus; + +import com.promcteam.blueprint.Blueprint; +import com.promcteam.codex.manager.api.menu.FileExplorerMenu; +import com.promcteam.codex.manager.api.menu.Slot; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; + +public class SchematicMenu extends FileExplorerMenu { + public SchematicMenu(Player player) { + super(player, + Blueprint.getInstance().config().getSchematicsFolder(), + 6, + "SchematicBuilder - Schematics", + file -> { + String name = file.getName(); + if (!name.endsWith(".schem") && !name.endsWith(".nbt") && !name.endsWith(".yml")) { + return null; + } + return new SchematicSlot(name); + }); + } + + private static class SchematicSlot extends Slot { + private final String fileName; + + public SchematicSlot(String fileName) { + super(new ItemStack(fileName.endsWith(".yml") ? Material.PAPER : Material.MAP)); + this.fileName = fileName; + ItemMeta meta = this.itemStack.getItemMeta(); + if (meta != null) { + meta.setDisplayName(ChatColor.RESET + fileName); + this.itemStack.setItemMeta(meta); + } + } + + @Override + public void onLeftClick() { + Player player = menu.getPlayer(); + player.performCommand("schematicbuilder load " + ((FileExplorerMenu) menu).getPath() + fileName); + } + } +} diff --git a/src/main/java/com/promcteam/blueprint/menus/SettingsMenu.java b/src/main/java/com/promcteam/blueprint/menus/SettingsMenu.java new file mode 100644 index 0000000..47acc85 --- /dev/null +++ b/src/main/java/com/promcteam/blueprint/menus/SettingsMenu.java @@ -0,0 +1,36 @@ +package com.promcteam.blueprint.menus; + +import com.google.common.base.Preconditions; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.codex.manager.api.menu.Menu; +import net.citizensnpcs.api.npc.NPC; +import org.bukkit.entity.Player; + +import java.util.Objects; + +public class SettingsMenu extends Menu { + public static final BuilderMenu.YAMLBuilderMenu PLAYER = + new BuilderMenu.YAMLBuilderMenu(Blueprint.getInstance(), "menus/builder-settings.yml"); + public static final BuilderMenu.YAMLBuilderMenu ADMIN = + new BuilderMenu.YAMLBuilderMenu(Blueprint.getInstance(), "menus/builder-settings-admin.yml"); + + protected final NPC npc; + private final BuilderMenu.YAMLBuilderMenu yamlMenu; + + public SettingsMenu(Player player, NPC npc, BuilderMenu.YAMLBuilderMenu yamlMenu) { + super(player, + yamlMenu.getRows(), + yamlMenu.getTitle(Objects.requireNonNull(Blueprint.getBuilder(npc), + npc.getName() + " is not a builder"))); + this.npc = npc; + this.yamlMenu = yamlMenu; + } + + @Override + public void setContents() { + BuilderTrait builder = Blueprint.getBuilder(npc); + Preconditions.checkArgument(builder != null, npc.getName() + " is not a builder"); + this.yamlMenu.setSlots(this, builder); + } +} diff --git a/src/main/java/com/promcteam/blueprint/menus/TiersMenu.java b/src/main/java/com/promcteam/blueprint/menus/TiersMenu.java new file mode 100644 index 0000000..a55fedd --- /dev/null +++ b/src/main/java/com/promcteam/blueprint/menus/TiersMenu.java @@ -0,0 +1,109 @@ +package com.promcteam.blueprint.menus; + +import com.promcteam.blueprint.schematic.Schematic; +import com.promcteam.blueprint.schematic.SchematicTier; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.schematic.YAMLSchematic; +import com.promcteam.codex.manager.api.menu.Menu; +import com.promcteam.codex.manager.api.menu.Slot; +import com.promcteam.codex.manager.api.menu.YAMLListMenu; +import com.promcteam.codex.utils.ItemUT; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; +import org.jetbrains.annotations.Nullable; + +import java.util.ArrayList; +import java.util.List; + +public class TiersMenu extends Menu { + public static final YAMLListMenu CONFIG = + new YAMLListMenu<>(Blueprint.getInstance(), "menus/tiers.yml") { + + @Override + protected String getTitle(String yamlTitle, Schematic schematic) {return yamlTitle;} + + @Override + public List getEntries(Schematic schematic) { + List slots; + if (schematic instanceof YAMLSchematic) { + YAMLSchematic yamlSchematic = (YAMLSchematic) schematic; + List tierList = yamlSchematic.getTiers(); + slots = new ArrayList<>(yamlSchematic.getTotalTiers()); + for (int tier = 0, tiers = tierList.size(), currentTier = yamlSchematic.getTier(); + tier < tiers; + tier++) { + ItemStack itemStack; + if (tier <= currentTier) { + itemStack = this.getItem("tier-completed"); + } else if (tier == currentTier + 1) { + itemStack = this.getItem("tier-in-progress"); + } else { + itemStack = this.getItem("tier-unattained"); + } + SchematicTier schematicTier = tierList.get(tier); + String displayName = schematicTier.getDisplayName(); + String tierString = String.valueOf(tier + 1); + ItemUT.replaceLore(itemStack, "%name%", displayName); + ItemUT.replaceLore(itemStack, "%tier%", tierString); + ItemUT.replaceLore(itemStack, "%width%", String.valueOf(schematicTier.getWidth())); + ItemUT.replaceLore(itemStack, "%length%", String.valueOf(schematicTier.getLength())); + ItemUT.replaceLore(itemStack, "%height%", String.valueOf(schematicTier.getHeight())); + ItemUT.replaceLore(itemStack, "%lore%", schematicTier.getLore()); + ItemMeta meta = itemStack.getItemMeta(); + if (meta != null) { + meta.setDisplayName(meta.getDisplayName() + .replace("%name%", displayName) + .replace("%tier%", tierString)); + itemStack.setItemMeta(meta); + } + slots.add(new Slot(itemStack)); + } + } else { + slots = new ArrayList<>(1); + ItemStack itemStack = this.getItem("tier-in-progress"); + String displayName = schematic.getDisplayName(); + String tierString = "1"; + ItemUT.replaceLore(itemStack, "%name%", displayName); + ItemUT.replaceLore(itemStack, "%tier%", tierString); + ItemUT.replaceLore(itemStack, "%width%", String.valueOf(schematic.getWidth())); + ItemUT.replaceLore(itemStack, "%length%", String.valueOf(schematic.getLength())); + ItemUT.replaceLore(itemStack, "%height%", String.valueOf(schematic.getHeight())); + ItemUT.replaceLore(itemStack, "%lore%", new ArrayList<>()); + ItemMeta meta = itemStack.getItemMeta(); + if (meta != null) { + meta.setDisplayName(meta.getDisplayName() + .replace("%name%", displayName) + .replace("%tier%", tierString)); + itemStack.setItemMeta(meta); + } + slots.add(new Slot(itemStack)); + } + return slots; + } + + @Override + @Nullable + public Slot getSlot(String function, Schematic schematic, Player player) { + switch (function) { + case "prev-page": { + return new PreviousPageButton(this.getItem(function)); + } + case "next-page": { + return new NextPageButton(this.getItem(function)); + } + } + return null; + } + }; + + private final Schematic schematic; + + public TiersMenu(Player player, Schematic schematic) { + super(player, CONFIG.getRows(), CONFIG.getTitle(schematic)); + this.schematic = schematic; + } + + @Override + public void setContents() {CONFIG.setSlots(this, this.schematic);} +} diff --git a/src/main/java/fr/weefle/constructor/nbt/ByteArrayTag.java b/src/main/java/com/promcteam/blueprint/nbt/ByteArrayTag.java similarity index 97% rename from src/main/java/fr/weefle/constructor/nbt/ByteArrayTag.java rename to src/main/java/com/promcteam/blueprint/nbt/ByteArrayTag.java index 1095f5a..6cf771c 100644 --- a/src/main/java/fr/weefle/constructor/nbt/ByteArrayTag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/ByteArrayTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; import java.util.List; diff --git a/src/main/java/fr/weefle/constructor/nbt/ByteTag.java b/src/main/java/com/promcteam/blueprint/nbt/ByteTag.java similarity index 96% rename from src/main/java/fr/weefle/constructor/nbt/ByteTag.java rename to src/main/java/com/promcteam/blueprint/nbt/ByteTag.java index 7d1327c..7543e8b 100644 --- a/src/main/java/fr/weefle/constructor/nbt/ByteTag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/ByteTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; /** * The {@code TAG_Byte} tag. diff --git a/src/main/java/fr/weefle/constructor/nbt/CompoundTag.java b/src/main/java/com/promcteam/blueprint/nbt/CompoundTag.java similarity index 99% rename from src/main/java/fr/weefle/constructor/nbt/CompoundTag.java rename to src/main/java/com/promcteam/blueprint/nbt/CompoundTag.java index 2e64ab8..18f21f1 100644 --- a/src/main/java/fr/weefle/constructor/nbt/CompoundTag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/CompoundTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; import com.google.common.collect.Maps; diff --git a/src/main/java/fr/weefle/constructor/nbt/CompoundTagBuilder.java b/src/main/java/com/promcteam/blueprint/nbt/CompoundTagBuilder.java similarity index 99% rename from src/main/java/fr/weefle/constructor/nbt/CompoundTagBuilder.java rename to src/main/java/com/promcteam/blueprint/nbt/CompoundTagBuilder.java index 02583d6..7e2b782 100644 --- a/src/main/java/fr/weefle/constructor/nbt/CompoundTagBuilder.java +++ b/src/main/java/com/promcteam/blueprint/nbt/CompoundTagBuilder.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/fr/weefle/constructor/nbt/DoubleTag.java b/src/main/java/com/promcteam/blueprint/nbt/DoubleTag.java similarity index 96% rename from src/main/java/fr/weefle/constructor/nbt/DoubleTag.java rename to src/main/java/com/promcteam/blueprint/nbt/DoubleTag.java index 83ca9ae..96157a7 100644 --- a/src/main/java/fr/weefle/constructor/nbt/DoubleTag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/DoubleTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; /** * The {@code TAG_Double} tag. diff --git a/src/main/java/fr/weefle/constructor/nbt/EndTag.java b/src/main/java/com/promcteam/blueprint/nbt/EndTag.java similarity index 96% rename from src/main/java/fr/weefle/constructor/nbt/EndTag.java rename to src/main/java/com/promcteam/blueprint/nbt/EndTag.java index c8e66b9..f745369 100644 --- a/src/main/java/fr/weefle/constructor/nbt/EndTag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/EndTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; /** * The {@code TAG_End} tag. diff --git a/src/main/java/fr/weefle/constructor/nbt/EndianSwitchableInputStream.java b/src/main/java/com/promcteam/blueprint/nbt/EndianSwitchableInputStream.java similarity index 98% rename from src/main/java/fr/weefle/constructor/nbt/EndianSwitchableInputStream.java rename to src/main/java/com/promcteam/blueprint/nbt/EndianSwitchableInputStream.java index ddc8841..0264133 100644 --- a/src/main/java/fr/weefle/constructor/nbt/EndianSwitchableInputStream.java +++ b/src/main/java/com/promcteam/blueprint/nbt/EndianSwitchableInputStream.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; import java.io.*; import java.nio.ByteOrder; diff --git a/src/main/java/fr/weefle/constructor/nbt/FloatTag.java b/src/main/java/com/promcteam/blueprint/nbt/FloatTag.java similarity index 96% rename from src/main/java/fr/weefle/constructor/nbt/FloatTag.java rename to src/main/java/com/promcteam/blueprint/nbt/FloatTag.java index 4aac5fe..f8a7ae7 100644 --- a/src/main/java/fr/weefle/constructor/nbt/FloatTag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/FloatTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; /** * The {@code TAG_Float} tag. diff --git a/src/main/java/fr/weefle/constructor/nbt/IntArrayTag.java b/src/main/java/com/promcteam/blueprint/nbt/IntArrayTag.java similarity index 97% rename from src/main/java/fr/weefle/constructor/nbt/IntArrayTag.java rename to src/main/java/com/promcteam/blueprint/nbt/IntArrayTag.java index 6d973e6..831eb0f 100644 --- a/src/main/java/fr/weefle/constructor/nbt/IntArrayTag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/IntArrayTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; import java.util.List; diff --git a/src/main/java/fr/weefle/constructor/nbt/IntTag.java b/src/main/java/com/promcteam/blueprint/nbt/IntTag.java similarity index 96% rename from src/main/java/fr/weefle/constructor/nbt/IntTag.java rename to src/main/java/com/promcteam/blueprint/nbt/IntTag.java index 181c5cc..99d4e0f 100644 --- a/src/main/java/fr/weefle/constructor/nbt/IntTag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/IntTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; /** * The {@code TAG_Int} tag. diff --git a/src/main/java/fr/weefle/constructor/nbt/ListTag.java b/src/main/java/com/promcteam/blueprint/nbt/ListTag.java similarity index 97% rename from src/main/java/fr/weefle/constructor/nbt/ListTag.java rename to src/main/java/com/promcteam/blueprint/nbt/ListTag.java index f065f0c..89c207d 100644 --- a/src/main/java/fr/weefle/constructor/nbt/ListTag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/ListTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; import com.google.common.collect.Lists; @@ -456,7 +456,12 @@ public String asString() { @Override public String toString() { StringBuilder bldr = new StringBuilder(); - bldr.append("TAG_List").append(": ").append(value.size()).append(" entries of type ").append(NBTUtils.getTypeName(type)).append("\r\n{\r\n"); + bldr.append("TAG_List") + .append(": ") + .append(value.size()) + .append(" entries of type ") + .append(NBTUtils.getTypeName(type)) + .append("\r\n{\r\n"); for (Tag t : value) { bldr.append(" ").append(t.toString().replaceAll("\r\n", "\r\n ")).append("\r\n"); } diff --git a/src/main/java/fr/weefle/constructor/nbt/ListTagBuilder.java b/src/main/java/com/promcteam/blueprint/nbt/ListTagBuilder.java similarity index 91% rename from src/main/java/fr/weefle/constructor/nbt/ListTagBuilder.java rename to src/main/java/com/promcteam/blueprint/nbt/ListTagBuilder.java index 713b0a4..39b7066 100644 --- a/src/main/java/fr/weefle/constructor/nbt/ListTagBuilder.java +++ b/src/main/java/com/promcteam/blueprint/nbt/ListTagBuilder.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; import java.util.ArrayList; import java.util.Arrays; @@ -32,7 +32,8 @@ public class ListTagBuilder { */ public ListTagBuilder add(Tag value) { if (!type.isInstance(value)) { - throw new IllegalArgumentException(value.getClass().getCanonicalName() + " is not of expected type " + type.getCanonicalName()); + throw new IllegalArgumentException( + value.getClass().getCanonicalName() + " is not of expected type " + type.getCanonicalName()); } entries.add(value); return this; diff --git a/src/main/java/fr/weefle/constructor/nbt/LongArrayTag.java b/src/main/java/com/promcteam/blueprint/nbt/LongArrayTag.java similarity index 92% rename from src/main/java/fr/weefle/constructor/nbt/LongArrayTag.java rename to src/main/java/com/promcteam/blueprint/nbt/LongArrayTag.java index dee3a03..787ef0b 100644 --- a/src/main/java/fr/weefle/constructor/nbt/LongArrayTag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/LongArrayTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -30,7 +30,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; import java.util.Arrays; import java.util.List; @@ -113,9 +113,15 @@ public String asString() { @Override public boolean equals(final Object obj) { - if (this == obj) {return true;} - if (!super.equals(obj)) {return false;} - if (!(obj instanceof IntArrayTag)) {return false;} + if (this == obj) { + return true; + } + if (!super.equals(obj)) { + return false; + } + if (!(obj instanceof IntArrayTag)) { + return false; + } final LongArrayTag other = (LongArrayTag) obj; return Arrays.equals(value, other.value); } diff --git a/src/main/java/fr/weefle/constructor/nbt/LongTag.java b/src/main/java/com/promcteam/blueprint/nbt/LongTag.java similarity index 96% rename from src/main/java/fr/weefle/constructor/nbt/LongTag.java rename to src/main/java/com/promcteam/blueprint/nbt/LongTag.java index 68648a4..174b6ac 100644 --- a/src/main/java/fr/weefle/constructor/nbt/LongTag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/LongTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; /** * The {@code TAG_Long} tag. diff --git a/src/main/java/fr/weefle/constructor/nbt/NBTConstants.java b/src/main/java/com/promcteam/blueprint/nbt/NBTConstants.java similarity index 97% rename from src/main/java/fr/weefle/constructor/nbt/NBTConstants.java rename to src/main/java/com/promcteam/blueprint/nbt/NBTConstants.java index 872c3c7..996ef19 100644 --- a/src/main/java/fr/weefle/constructor/nbt/NBTConstants.java +++ b/src/main/java/com/promcteam/blueprint/nbt/NBTConstants.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; diff --git a/src/main/java/fr/weefle/constructor/nbt/NBTInputStream.java b/src/main/java/com/promcteam/blueprint/nbt/NBTInputStream.java similarity index 98% rename from src/main/java/fr/weefle/constructor/nbt/NBTInputStream.java rename to src/main/java/com/promcteam/blueprint/nbt/NBTInputStream.java index c55170a..69b854f 100644 --- a/src/main/java/fr/weefle/constructor/nbt/NBTInputStream.java +++ b/src/main/java/com/promcteam/blueprint/nbt/NBTInputStream.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; import java.io.Closeable; import java.io.IOException; diff --git a/src/main/java/fr/weefle/constructor/nbt/NBTOutputStream.java b/src/main/java/com/promcteam/blueprint/nbt/NBTOutputStream.java similarity index 99% rename from src/main/java/fr/weefle/constructor/nbt/NBTOutputStream.java rename to src/main/java/com/promcteam/blueprint/nbt/NBTOutputStream.java index 8f56715..05d7e2f 100644 --- a/src/main/java/fr/weefle/constructor/nbt/NBTOutputStream.java +++ b/src/main/java/com/promcteam/blueprint/nbt/NBTOutputStream.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; import java.io.Closeable; import java.io.DataOutputStream; diff --git a/src/main/java/fr/weefle/constructor/nbt/NBTUtils.java b/src/main/java/com/promcteam/blueprint/nbt/NBTUtils.java similarity index 97% rename from src/main/java/fr/weefle/constructor/nbt/NBTUtils.java rename to src/main/java/com/promcteam/blueprint/nbt/NBTUtils.java index d3994fd..7fa3e0f 100644 --- a/src/main/java/fr/weefle/constructor/nbt/NBTUtils.java +++ b/src/main/java/com/promcteam/blueprint/nbt/NBTUtils.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; import java.util.Map; @@ -142,7 +142,8 @@ public static Class getTypeClass(int type) { * @return child tag * @throws IllegalArgumentException */ - public static T getChildTag(Map items, String key, Class expected) throws IllegalArgumentException { + public static T getChildTag(Map items, String key, Class expected) throws + IllegalArgumentException { if (!items.containsKey(key)) { throw new IllegalArgumentException("Missing a \"" + key + "\" tag"); } diff --git a/src/main/java/fr/weefle/constructor/nbt/NamedTag.java b/src/main/java/com/promcteam/blueprint/nbt/NamedTag.java similarity index 94% rename from src/main/java/fr/weefle/constructor/nbt/NamedTag.java rename to src/main/java/com/promcteam/blueprint/nbt/NamedTag.java index 841eacd..e6910ee 100644 --- a/src/main/java/fr/weefle/constructor/nbt/NamedTag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/NamedTag.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; /** diff --git a/src/main/java/fr/weefle/constructor/nbt/ShortTag.java b/src/main/java/com/promcteam/blueprint/nbt/ShortTag.java similarity index 96% rename from src/main/java/fr/weefle/constructor/nbt/ShortTag.java rename to src/main/java/com/promcteam/blueprint/nbt/ShortTag.java index 3e12e68..9190ba0 100644 --- a/src/main/java/fr/weefle/constructor/nbt/ShortTag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/ShortTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; /** * The {@code TAG_Short} tag. diff --git a/src/main/java/fr/weefle/constructor/nbt/StringTag.java b/src/main/java/com/promcteam/blueprint/nbt/StringTag.java similarity index 97% rename from src/main/java/fr/weefle/constructor/nbt/StringTag.java rename to src/main/java/com/promcteam/blueprint/nbt/StringTag.java index 440a9e5..d85e5e9 100644 --- a/src/main/java/fr/weefle/constructor/nbt/StringTag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/StringTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; /** * The {@code TAG_String} tag. diff --git a/src/main/java/fr/weefle/constructor/nbt/Tag.java b/src/main/java/com/promcteam/blueprint/nbt/Tag.java similarity index 96% rename from src/main/java/fr/weefle/constructor/nbt/Tag.java rename to src/main/java/com/promcteam/blueprint/nbt/Tag.java index d98f7ec..696b476 100644 --- a/src/main/java/fr/weefle/constructor/nbt/Tag.java +++ b/src/main/java/com/promcteam/blueprint/nbt/Tag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2010 Graham Edgecombe + * Copyright (c) 2024 ProMCTeam * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package fr.weefle.constructor.nbt; +package com.promcteam.blueprint.nbt; /** * Represents a NBT tag. diff --git a/src/main/java/fr/weefle/constructor/nms/NMS.java b/src/main/java/com/promcteam/blueprint/nms/NMS.java similarity index 86% rename from src/main/java/fr/weefle/constructor/nms/NMS.java rename to src/main/java/com/promcteam/blueprint/nms/NMS.java index 5e47c8e..9b19691 100644 --- a/src/main/java/fr/weefle/constructor/nms/NMS.java +++ b/src/main/java/com/promcteam/blueprint/nms/NMS.java @@ -1,8 +1,7 @@ -package fr.weefle.constructor.nms; +package com.promcteam.blueprint.nms; -import fr.weefle.constructor.api.StructureUtil; -import fr.weefle.constructor.nbt.*; -import fr.weefle.constructor.nms.providers.*; +import com.promcteam.blueprint.nbt.*; +import com.promcteam.blueprint.nms.providers.*; import org.bukkit.Bukkit; import java.util.AbstractList; @@ -10,11 +9,10 @@ public class NMS { - private static NMS instance; - public String version; - private NMSProvider nmsProvider; - private fr.weefle.constructor.api.TileChecker checker; - private StructureUtil structure; + private static NMS instance; + public String version; + private NMSProvider nmsProvider; + private com.promcteam.blueprint.API.TileChecker checker; public boolean setInstance() { String[] packageArray = Bukkit.getServer().getClass().getPackage().getName().split("\\."); @@ -52,11 +50,11 @@ public void setVersion(String version) { this.version = version; } - public fr.weefle.constructor.api.TileChecker getChecker() { + public com.promcteam.blueprint.API.TileChecker getChecker() { return checker; } - public void setChecker(fr.weefle.constructor.api.TileChecker checker) { + public void setChecker(com.promcteam.blueprint.API.TileChecker checker) { this.checker = checker; } diff --git a/src/main/java/fr/weefle/constructor/nms/TileChecker.java b/src/main/java/com/promcteam/blueprint/nms/TileChecker.java similarity index 79% rename from src/main/java/fr/weefle/constructor/nms/TileChecker.java rename to src/main/java/com/promcteam/blueprint/nms/TileChecker.java index a6f5d23..e9d99e4 100644 --- a/src/main/java/fr/weefle/constructor/nms/TileChecker.java +++ b/src/main/java/com/promcteam/blueprint/nms/TileChecker.java @@ -1,11 +1,11 @@ -package fr.weefle.constructor.nms; +package com.promcteam.blueprint.nms; -import fr.weefle.constructor.schematic.blocks.EmptyBuildBlock; -import fr.weefle.constructor.schematic.blocks.EntityMap; -import fr.weefle.constructor.schematic.blocks.TileBuildBlock; +import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; +import com.promcteam.blueprint.schematic.blocks.EntityMap; +import com.promcteam.blueprint.schematic.blocks.TileBuildBlock; import org.bukkit.block.Block; -public class TileChecker implements fr.weefle.constructor.api.TileChecker { +public class TileChecker implements com.promcteam.blueprint.API.TileChecker { public void check(EmptyBuildBlock next, Block pending) { @@ -18,7 +18,8 @@ public void check(EmptyBuildBlock next, Block pending) { NMS.getInstance().getNMSProvider().nbtTagCompound_putInt(nbt, "z", pending.getZ()); //nbt.set("Items", ((TileBuildBlock) next).items); //nbt.setString("id", ((TileBuildBlock_1_15_R1) next).id); - Object bp = NMS.getInstance().getNMSProvider().newBlockPosition(pending.getX(), pending.getY(), pending.getZ()); + Object bp = + NMS.getInstance().getNMSProvider().newBlockPosition(pending.getX(), pending.getY(), pending.getZ()); //Bukkit.getLogger().warning(pending.getX()+","+ pending.getY()+"," +pending.getZ()); Object te = NMS.getInstance().getNMSProvider().world_getTileEntity(pending.getWorld(), bp); //Bukkit.getLogger().warning(te.getBlock().toString() + " : " + bp); @@ -38,7 +39,8 @@ public void check(EmptyBuildBlock next, Block pending) { NMS.getInstance().getNMSProvider().nbtTagCompound_putInt(nmsnbt, "y", pending.getY()); NMS.getInstance().getNMSProvider().nbtTagCompound_putInt(nmsnbt, "z", pending.getZ()); //Bukkit.getLogger().warning(nmsnbt.asString()); - Object bp = NMS.getInstance().getNMSProvider().newBlockPosition(pending.getX(), pending.getY(), pending.getZ()); + Object bp = + NMS.getInstance().getNMSProvider().newBlockPosition(pending.getX(), pending.getY(), pending.getZ()); Object te = NMS.getInstance().getNMSProvider().world_getTileEntity(pending.getWorld(), bp); if (te != null) { diff --git a/src/main/java/fr/weefle/constructor/nms/providers/NMSProvider.java b/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider.java similarity index 83% rename from src/main/java/fr/weefle/constructor/nms/providers/NMSProvider.java rename to src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider.java index 083e984..2f76331 100644 --- a/src/main/java/fr/weefle/constructor/nms/providers/NMSProvider.java +++ b/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.nms.providers; +package com.promcteam.blueprint.nms.providers; import org.bukkit.World; import org.bukkit.event.entity.CreatureSpawnEvent; @@ -206,21 +206,28 @@ public String[] getEntity_getBukkitEntityMethodNames() { } public final Class getClassByNames(String[] names) throws ClassNotFoundException { - if (names.length == 0) {throw new IllegalArgumentException("At least one class name is required");} + if (names.length == 0) { + throw new IllegalArgumentException("At least one class name is required"); + } for (String name : names) { try { return Class.forName(name); - } catch (ClassNotFoundException ignored) {} + } catch (ClassNotFoundException ignored) { + } } throw new ClassNotFoundException(names[0]); } - public final Method getMethodByNames(Class clazz, String[] names, Class... parameterTypes) throws NoSuchMethodException { - if (names.length == 0) {throw new IllegalArgumentException("At least one method name is required");} + public final Method getMethodByNames(Class clazz, String[] names, Class... parameterTypes) throws + NoSuchMethodException { + if (names.length == 0) { + throw new IllegalArgumentException("At least one method name is required"); + } for (String name : names) { try { return clazz.getMethod(name, parameterTypes); - } catch (NoSuchMethodException ignored) {} + } catch (NoSuchMethodException ignored) { + } } throw new NoSuchMethodException(names[0]); } @@ -230,7 +237,10 @@ public final Method getMethodByNames(Class clazz, String[] names, Class... public final Object loadNBTFromInputStream(InputStream in) { if (NBTCompressedStreamTools_nbtFromInputStreamMethod == null) { try { - NBTCompressedStreamTools_nbtFromInputStreamMethod = getMethodByNames(getClassByNames(getNBTCompressedStreamToolsNames()), getNBTCompressedStreamTools_nbtFromInputStreamMethodNames(), InputStream.class); + NBTCompressedStreamTools_nbtFromInputStreamMethod = + getMethodByNames(getClassByNames(getNBTCompressedStreamToolsNames()), + getNBTCompressedStreamTools_nbtFromInputStreamMethodNames(), + InputStream.class); } catch (ClassNotFoundException | NoSuchMethodException e) { throw new RuntimeException(e); } @@ -247,7 +257,9 @@ public final Object loadNBTFromInputStream(InputStream in) { public final Object nbtTagByte_valueOf(byte value) { if (nbtTagByte_valueOfMethod == null) { try { - nbtTagByte_valueOfMethod = getMethodByNames(getClassByNames(getNBTTagByteClassNames()), getNBTTagByte_valueOfMethodNames(), byte.class); + nbtTagByte_valueOfMethod = getMethodByNames(getClassByNames(getNBTTagByteClassNames()), + getNBTTagByte_valueOfMethodNames(), + byte.class); } catch (ClassNotFoundException | NoSuchMethodException e) { throw new RuntimeException(e); } @@ -264,7 +276,8 @@ public final Object nbtTagByte_valueOf(byte value) { public final Object newNBTTagByteArray(byte[] value) { if (nbtTagByteArrayConstructor == null) { try { - nbtTagByteArrayConstructor = getClassByNames(getNBTTagByteArrayClassNames()).getConstructor(byte[].class); + nbtTagByteArrayConstructor = + getClassByNames(getNBTTagByteArrayClassNames()).getConstructor(byte[].class); } catch (ClassNotFoundException | NoSuchMethodException e) { throw new RuntimeException(e); } @@ -281,7 +294,8 @@ public final Object newNBTTagByteArray(byte[] value) { public final double nbtTagDouble_getAsDouble(Object nbtTagDouble) { if (nbtTagDouble_getAsDoubleMethod == null) { try { - nbtTagDouble_getAsDoubleMethod = getMethodByNames(getClassByNames(getNBTTagDoubleClassNames()), getNBTTagDouble_getAsDoubleMethodNames()); + nbtTagDouble_getAsDoubleMethod = getMethodByNames(getClassByNames(getNBTTagDoubleClassNames()), + getNBTTagDouble_getAsDoubleMethodNames()); } catch (ClassNotFoundException | NoSuchMethodException e) { throw new RuntimeException(e); } @@ -298,7 +312,9 @@ public final double nbtTagDouble_getAsDouble(Object nbtTagDouble) { public final Object nbtTagDouble_valueOf(double value) { if (nbtTagDouble_valueOfMethod == null) { try { - nbtTagDouble_valueOfMethod = getMethodByNames(getClassByNames(getNBTTagDoubleClassNames()), getNBTTagDouble_valueOfMethodNames(), double.class); + nbtTagDouble_valueOfMethod = getMethodByNames(getClassByNames(getNBTTagDoubleClassNames()), + getNBTTagDouble_valueOfMethodNames(), + double.class); } catch (ClassNotFoundException | NoSuchMethodException e) { throw new RuntimeException(e); } @@ -315,7 +331,8 @@ public final Object nbtTagDouble_valueOf(double value) { public final float nbtTagFloat_getAsFloat(Object nbtTagFloat) { if (nbtTagFloat_getAsFloatMethod == null) { try { - nbtTagFloat_getAsFloatMethod = getMethodByNames(getClassByNames(getNBTTagFloatClassNames()), getNBTTagFloat_getAsFloatMethodNames()); + nbtTagFloat_getAsFloatMethod = getMethodByNames(getClassByNames(getNBTTagFloatClassNames()), + getNBTTagFloat_getAsFloatMethodNames()); } catch (ClassNotFoundException | NoSuchMethodException e) { throw new RuntimeException(e); } @@ -332,7 +349,9 @@ public final float nbtTagFloat_getAsFloat(Object nbtTagFloat) { public final Object nbtTagFloat_valueOf(float value) { if (nbtTagFloat_valueOfMethod == null) { try { - nbtTagFloat_valueOfMethod = getMethodByNames(getClassByNames(getNBTTagFloatClassNames()), getNBTTagFloat_valueOfMethodNames(), float.class); + nbtTagFloat_valueOfMethod = getMethodByNames(getClassByNames(getNBTTagFloatClassNames()), + getNBTTagFloat_valueOfMethodNames(), + float.class); } catch (ClassNotFoundException | NoSuchMethodException e) { throw new RuntimeException(e); } @@ -349,7 +368,9 @@ public final Object nbtTagFloat_valueOf(float value) { public final Object nbtTagInt_valueOf(int value) { if (nbtTagInt_valueOfMethod == null) { try { - nbtTagInt_valueOfMethod = getMethodByNames(getClassByNames(getNBTTagIntClassNames()), getNBTTagInt_valueOfMethodNames(), int.class); + nbtTagInt_valueOfMethod = getMethodByNames(getClassByNames(getNBTTagIntClassNames()), + getNBTTagInt_valueOfMethodNames(), + int.class); } catch (ClassNotFoundException | NoSuchMethodException e) { throw new RuntimeException(e); } @@ -383,7 +404,8 @@ public final Object newNBTTagIntArray(int[] value) { public final AbstractList newNBTTagList() { if (nbtTagListConstructor == null) { try { - nbtTagListConstructor = (Constructor>) getClassByNames(getNBTTagListClassNames()).getConstructor(); + nbtTagListConstructor = + (Constructor>) getClassByNames(getNBTTagListClassNames()).getConstructor(); } catch (NoSuchMethodException | ClassNotFoundException e) { throw new RuntimeException(e); } @@ -400,7 +422,9 @@ public final AbstractList newNBTTagList() { public final Object nbtTagLong_valueOf(long value) { if (nbtTagLong_valueOfMethod == null) { try { - nbtTagLong_valueOfMethod = getMethodByNames(getClassByNames(getNBTTagLongClassNames()), getNBTTagLong_valueOfMethodNames(), long.class); + nbtTagLong_valueOfMethod = getMethodByNames(getClassByNames(getNBTTagLongClassNames()), + getNBTTagLong_valueOfMethodNames(), + long.class); } catch (ClassNotFoundException | NoSuchMethodException e) { throw new RuntimeException(e); } @@ -417,7 +441,9 @@ public final Object nbtTagLong_valueOf(long value) { public final Object nbtTagShort_valueOf(short value) { if (nbtTagShort_valueOfMethod == null) { try { - nbtTagShort_valueOfMethod = getMethodByNames(getClassByNames(getNBTTagShortClassNames()), getNBTTagShort_valueOfMethodNames(), short.class); + nbtTagShort_valueOfMethod = getMethodByNames(getClassByNames(getNBTTagShortClassNames()), + getNBTTagShort_valueOfMethodNames(), + short.class); } catch (ClassNotFoundException | NoSuchMethodException e) { throw new RuntimeException(e); } @@ -434,7 +460,9 @@ public final Object nbtTagShort_valueOf(short value) { public final Object nbtTagString_valueOf(String value) { if (nbtTagString_valueOfMethod == null) { try { - nbtTagString_valueOfMethod = getMethodByNames(getClassByNames(getNBTTagStringClassNames()), getNBTTagString_valueOfMethodNames(), String.class); + nbtTagString_valueOfMethod = getMethodByNames(getClassByNames(getNBTTagStringClassNames()), + getNBTTagString_valueOfMethodNames(), + String.class); } catch (ClassNotFoundException | NoSuchMethodException e) { throw new RuntimeException(e); } @@ -481,7 +509,8 @@ public final Object newNBTTagCompound() { public final int nbtTagCompound_getInt(Object nbtTagCompound, String key) { if (nbtTagCompound_getIntMethod == null) { try { - nbtTagCompound_getIntMethod = getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_getIntMethodNames(), String.class); + nbtTagCompound_getIntMethod = + getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_getIntMethodNames(), String.class); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } @@ -498,7 +527,9 @@ public final int nbtTagCompound_getInt(Object nbtTagCompound, String key) { public final short nbtTagCompound_getShort(Object nbtTagCompound, String key) { if (nbtTagCompound_getShortMethod == null) { try { - nbtTagCompound_getShortMethod = getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_getShortMethodNames(), String.class); + nbtTagCompound_getShortMethod = getMethodByNames(getNBTTagCompoundClass(), + getNBTTagCompound_getShortMethodNames(), + String.class); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } @@ -515,7 +546,9 @@ public final short nbtTagCompound_getShort(Object nbtTagCompound, String key) { public final int[] nbtTagCompound_getIntArray(Object nbtTagCompound, String key) { if (nbtTagCompound_getIntArrayMethod == null) { try { - nbtTagCompound_getIntArrayMethod = getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_getIntArrayMethodNames(), String.class); + nbtTagCompound_getIntArrayMethod = getMethodByNames(getNBTTagCompoundClass(), + getNBTTagCompound_getIntArrayMethodNames(), + String.class); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } @@ -532,7 +565,9 @@ public final int[] nbtTagCompound_getIntArray(Object nbtTagCompound, String key) public final Object nbtTagCompound_getCompound(Object nbtTagCompound, String key) { if (nbtTagCompound_getCompoundMethod == null) { try { - nbtTagCompound_getCompoundMethod = getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_getCompoundMethodNames(), String.class); + nbtTagCompound_getCompoundMethod = getMethodByNames(getNBTTagCompoundClass(), + getNBTTagCompound_getCompoundMethodNames(), + String.class); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } @@ -549,7 +584,8 @@ public final Object nbtTagCompound_getCompound(Object nbtTagCompound, String key public final Object nbtTagCompound_get(Object nbtTagCompound, String key) { if (nbtTagCompound_getMethod == null) { try { - nbtTagCompound_getMethod = getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_getMethodNames(), String.class); + nbtTagCompound_getMethod = + getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_getMethodNames(), String.class); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } @@ -566,7 +602,9 @@ public final Object nbtTagCompound_get(Object nbtTagCompound, String key) { public final byte[] nbtTagCompound_getByteArray(Object nbtTagCompound, String key) { if (nbtTagCompound_getByteArrayMethod == null) { try { - nbtTagCompound_getByteArrayMethod = getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_getByteArrayMethodNames(), String.class); + nbtTagCompound_getByteArrayMethod = getMethodByNames(getNBTTagCompoundClass(), + getNBTTagCompound_getByteArrayMethodNames(), + String.class); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } @@ -583,7 +621,8 @@ public final byte[] nbtTagCompound_getByteArray(Object nbtTagCompound, String ke public final Set nbtTagCompound_getAllKeys(Object nbtTagCompound) { if (nbtTagCompound_getAllKeysMethod == null) { try { - nbtTagCompound_getAllKeysMethod = getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_getAllKeysMethodNames()); + nbtTagCompound_getAllKeysMethod = + getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_getAllKeysMethodNames()); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } @@ -600,7 +639,8 @@ public final Set nbtTagCompound_getAllKeys(Object nbtTagCompound) { public final void nbtTagCompound_remove(Object nbtTagCompound, String key) { if (nbtTagCompound_removeMethod == null) { try { - nbtTagCompound_removeMethod = getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_removeMethodNames(), String.class); + nbtTagCompound_removeMethod = + getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_removeMethodNames(), String.class); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } @@ -617,7 +657,10 @@ public final void nbtTagCompound_remove(Object nbtTagCompound, String key) { public final AbstractList nbtTagCompound_getList(Object nbtTagCompound, String name, int type) { if (nbtTagCompound_getListMethod == null) { try { - nbtTagCompound_getListMethod = getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_getListMethodNames(), String.class, int.class); + nbtTagCompound_getListMethod = getMethodByNames(getNBTTagCompoundClass(), + getNBTTagCompound_getListMethodNames(), + String.class, + int.class); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } @@ -634,7 +677,10 @@ public final AbstractList nbtTagCompound_getList(Object nbtTagCompound, public final Object nbtTagCompound_put(Object nbtTagCompound, String name, Object nbtBase) { if (nbtTagCompound_putMethod == null) { try { - nbtTagCompound_putMethod = getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_putMethodNames(), String.class, getClassByNames(getNBTBaseClassNames())); + nbtTagCompound_putMethod = getMethodByNames(getNBTTagCompoundClass(), + getNBTTagCompound_putMethodNames(), + String.class, + getClassByNames(getNBTBaseClassNames())); } catch (NoSuchMethodException | ClassNotFoundException e) { throw new RuntimeException(e); } @@ -651,7 +697,10 @@ public final Object nbtTagCompound_put(Object nbtTagCompound, String name, Objec public final void nbtTagCompound_putInt(Object nbtTagCompound, String name, int value) { if (nbtTagCompound_putIntMethod == null) { try { - nbtTagCompound_putIntMethod = getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_putIntMethodNames(), String.class, int.class); + nbtTagCompound_putIntMethod = getMethodByNames(getNBTTagCompoundClass(), + getNBTTagCompound_putIntMethodNames(), + String.class, + int.class); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } @@ -668,7 +717,9 @@ public final void nbtTagCompound_putInt(Object nbtTagCompound, String name, int public final Object nbtTagCompound_merge(Object nbtTagCompound, Object toMerge) { if (nbtTagCompound_mergeMethod == null) { try { - nbtTagCompound_mergeMethod = getMethodByNames(getNBTTagCompoundClass(), getNBTTagCompound_mergeMethodNames(), getNBTTagCompoundClass()); + nbtTagCompound_mergeMethod = getMethodByNames(getNBTTagCompoundClass(), + getNBTTagCompound_mergeMethodNames(), + getNBTTagCompoundClass()); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } @@ -685,7 +736,8 @@ public final Object nbtTagCompound_merge(Object nbtTagCompound, Object toMerge) public final Object newBlockPosition(int x, int y, int z) { if (blockPositionConstructor == null) { try { - blockPositionConstructor = getClassByNames(getBlockPositionClassNames()).getConstructor(int.class, int.class, int.class); + blockPositionConstructor = + getClassByNames(getBlockPositionClassNames()).getConstructor(int.class, int.class, int.class); } catch (NoSuchMethodException | ClassNotFoundException e) { throw new RuntimeException(e); } @@ -720,7 +772,9 @@ public final Object world_getTileEntity(World world, Object blockPosition) { Object worldHandle = world_getHandle(world); if (world_getBlockEntityMethod == null) { try { - world_getBlockEntityMethod = getMethodByNames(worldHandle.getClass(), getWorld_getBlockEntityMethodNames(), getClassByNames(getBlockPositionClassNames())); + world_getBlockEntityMethod = getMethodByNames(worldHandle.getClass(), + getWorld_getBlockEntityMethodNames(), + getClassByNames(getBlockPositionClassNames())); } catch (NoSuchMethodException | ClassNotFoundException e) { throw new RuntimeException(e); } @@ -734,11 +788,16 @@ public final Object world_getTileEntity(World world, Object blockPosition) { private Method world_addFreshEntityWithPassengersMethod; - public final void world_addFreshEntityWithPassengers(World world, Object entity, CreatureSpawnEvent.SpawnReason spawnReason) { + public final void world_addFreshEntityWithPassengers(World world, + Object entity, + CreatureSpawnEvent.SpawnReason spawnReason) { Object worldHandle = world_getHandle(world); if (world_addFreshEntityWithPassengersMethod == null) { try { - world_addFreshEntityWithPassengersMethod = getMethodByNames(worldHandle.getClass(), getWorld_addFreshEntityWithPassengersMethodNames(), getClassByNames(getEntityClassNames()), CreatureSpawnEvent.SpawnReason.class); + world_addFreshEntityWithPassengersMethod = getMethodByNames(worldHandle.getClass(), + getWorld_addFreshEntityWithPassengersMethodNames(), + getClassByNames(getEntityClassNames()), + CreatureSpawnEvent.SpawnReason.class); } catch (NoSuchMethodException | ClassNotFoundException e) { throw new RuntimeException(e); } @@ -756,11 +815,16 @@ public final void world_addFreshEntityWithPassengers(World world, Object entity, public final void blockEntity_load(Object blockEntity, Object nbtTagCompound) { if (blockEntity_loadMethod == null) { try { - blockEntity_loadMethod = getMethodByNames(getClassByNames(getBlockEntityClassNames()), getBlockEntity_loadMethodNames(), getNBTTagCompoundClass()); + blockEntity_loadMethod = getMethodByNames(getClassByNames(getBlockEntityClassNames()), + getBlockEntity_loadMethodNames(), + getNBTTagCompoundClass()); blockEntity_loadMethod_old = false; } catch (NoSuchMethodException | ClassNotFoundException e) { try { - blockEntity_loadMethod = getMethodByNames(getClassByNames(getBlockEntityClassNames()), getBlockEntity_loadMethodNames(), getClassByNames(getIBlockDataClassNames()), getNBTTagCompoundClass()); + blockEntity_loadMethod = getMethodByNames(getClassByNames(getBlockEntityClassNames()), + getBlockEntity_loadMethodNames(), + getClassByNames(getIBlockDataClassNames()), + getNBTTagCompoundClass()); blockEntity_loadMethod_old = true; } catch (NoSuchMethodException | ClassNotFoundException e1) { throw new RuntimeException(e1); @@ -806,10 +870,16 @@ public final Class getLevelClass() { private Method entityType_loadEntityRecursiveMethod; - public final Object entityType_loadEntityRecursive(Object nbtTagCompound, World world, Function function) { + public final Object entityType_loadEntityRecursive(Object nbtTagCompound, + World world, + Function function) { if (entityType_loadEntityRecursiveMethod == null) { try { - entityType_loadEntityRecursiveMethod = getMethodByNames(getEntityTypeClass(), getEntityType_loadEntityRecursiveMethodNames(), getNBTTagCompoundClass(), getClassByNames(getLevelClassNames()), Function.class); + entityType_loadEntityRecursiveMethod = getMethodByNames(getEntityTypeClass(), + getEntityType_loadEntityRecursiveMethodNames(), + getNBTTagCompoundClass(), + getClassByNames(getLevelClassNames()), + Function.class); } catch (NoSuchMethodException | ClassNotFoundException e) { throw new RuntimeException(e); } @@ -839,7 +909,13 @@ public final Class getEntityClass() { public final void entity_absMoveTo(Object entity, double x, double y, double z, float yaw, float pitch) { if (entity_absMoveToMethod == null) { try { - entity_absMoveToMethod = getMethodByNames(getEntityClass(), getEntity_absMoveToMethodNames(), double.class, double.class, double.class, float.class, float.class); + entity_absMoveToMethod = getMethodByNames(getEntityClass(), + getEntity_absMoveToMethodNames(), + double.class, + double.class, + double.class, + float.class, + float.class); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } @@ -856,7 +932,8 @@ public final void entity_absMoveTo(Object entity, double x, double y, double z, public final Object entity_getBukkitEntity(Object entity) { if (entity_getBukkitEntityMethod == null) { try { - entity_getBukkitEntityMethod = getMethodByNames(getEntityClass(), getEntity_getBukkitEntityMethodNames()); + entity_getBukkitEntityMethod = + getMethodByNames(getEntityClass(), getEntity_getBukkitEntityMethodNames()); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } diff --git a/src/main/java/fr/weefle/constructor/nms/providers/NMSProvider_1_16.java b/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_16.java similarity index 98% rename from src/main/java/fr/weefle/constructor/nms/providers/NMSProvider_1_16.java rename to src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_16.java index c540d2e..1606d96 100644 --- a/src/main/java/fr/weefle/constructor/nms/providers/NMSProvider_1_16.java +++ b/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_16.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.nms.providers; +package com.promcteam.blueprint.nms.providers; public class NMSProvider_1_16 extends NMSProvider { private final String version; diff --git a/src/main/java/fr/weefle/constructor/nms/providers/NMSProvider_1_17.java b/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_17.java similarity index 91% rename from src/main/java/fr/weefle/constructor/nms/providers/NMSProvider_1_17.java rename to src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_17.java index 3ce1538..cdb9ae3 100644 --- a/src/main/java/fr/weefle/constructor/nms/providers/NMSProvider_1_17.java +++ b/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_17.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.nms.providers; +package com.promcteam.blueprint.nms.providers; public class NMSProvider_1_17 extends NMSProvider { diff --git a/src/main/java/fr/weefle/constructor/nms/providers/NMSProvider_1_18.java b/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_18.java similarity index 53% rename from src/main/java/fr/weefle/constructor/nms/providers/NMSProvider_1_18.java rename to src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_18.java index b4d50bc..c8da4da 100644 --- a/src/main/java/fr/weefle/constructor/nms/providers/NMSProvider_1_18.java +++ b/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_18.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.nms.providers; +package com.promcteam.blueprint.nms.providers; public class NMSProvider_1_18 extends NMSProvider { } diff --git a/src/main/java/fr/weefle/constructor/nms/providers/NMSProvider_1_19.java b/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_19.java similarity index 80% rename from src/main/java/fr/weefle/constructor/nms/providers/NMSProvider_1_19.java rename to src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_19.java index 595d343..d3a8fab 100644 --- a/src/main/java/fr/weefle/constructor/nms/providers/NMSProvider_1_19.java +++ b/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_19.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.nms.providers; +package com.promcteam.blueprint.nms.providers; public class NMSProvider_1_19 extends NMSProvider { diff --git a/src/main/java/fr/weefle/constructor/schematic/RawSchematic.java b/src/main/java/com/promcteam/blueprint/schematic/RawSchematic.java similarity index 77% rename from src/main/java/fr/weefle/constructor/schematic/RawSchematic.java rename to src/main/java/com/promcteam/blueprint/schematic/RawSchematic.java index 4486a96..3f763ed 100644 --- a/src/main/java/fr/weefle/constructor/schematic/RawSchematic.java +++ b/src/main/java/com/promcteam/blueprint/schematic/RawSchematic.java @@ -1,14 +1,14 @@ -package fr.weefle.constructor.schematic; +package com.promcteam.blueprint.schematic; import com.google.common.base.Preconditions; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import fr.weefle.constructor.nbt.*; -import fr.weefle.constructor.nms.NMS; -import fr.weefle.constructor.schematic.blocks.DataBuildBlock; -import fr.weefle.constructor.schematic.blocks.EmptyBuildBlock; -import fr.weefle.constructor.schematic.blocks.EntityMap; -import fr.weefle.constructor.schematic.blocks.TileBuildBlock; -import fr.weefle.constructor.util.Util; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.nbt.*; +import com.promcteam.blueprint.nms.NMS; +import com.promcteam.blueprint.schematic.blocks.DataBuildBlock; +import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; +import com.promcteam.blueprint.schematic.blocks.EntityMap; +import com.promcteam.blueprint.schematic.blocks.TileBuildBlock; +import com.promcteam.blueprint.util.Util; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -52,7 +52,9 @@ public RawSchematic(Path path) { @Override @NotNull public EmptyBuildBlock getBlockAt(int x, int y, int z) { - if (this.blocks == null) {throw new IllegalStateException("Schematic not loaded");} + if (this.blocks == null) { + throw new IllegalStateException("Schematic not loaded"); + } EmptyBuildBlock block = blocks[x][y][z]; return block == null ? new EmptyBuildBlock(x, y, z) : block; } @@ -63,19 +65,26 @@ private void load(boolean full) { Object data; try (FileInputStream in = new FileInputStream(file)) { data = NMS.getInstance().getNMSProvider().loadNBTFromInputStream(in); - } catch (IOException e) {throw new RuntimeException(e);} + } catch (IOException e) { + throw new RuntimeException(e); + } this.width = NMS.getInstance().getNMSProvider().nbtTagCompound_getShort(data, "Width"); this.height = NMS.getInstance().getNMSProvider().nbtTagCompound_getShort(data, "Height"); this.length = NMS.getInstance().getNMSProvider().nbtTagCompound_getShort(data, "Length"); int[] offset = NMS.getInstance().getNMSProvider().nbtTagCompound_getIntArray(data, "Offset"); - if (offset.length == 3) {absolutePosition = new Vector(offset[0], offset[1], offset[2]);} + if (offset.length == 3) { + absolutePosition = new Vector(offset[0], offset[1], offset[2]); + } - if (!full) {return;} + if (!full) { + return; + } this.blocks = new EmptyBuildBlock[width][height][length]; - Object palette = NMS.getInstance().getNMSProvider().nbtTagCompound_getCompound(data, "Palette"); + Object palette = + NMS.getInstance().getNMSProvider().nbtTagCompound_getCompound(data, "Palette"); Map blockStates = new HashMap<>(); for (String rawState : NMS.getInstance().getNMSProvider().nbtTagCompound_getAllKeys(palette)) { int id = NMS.getInstance().getNMSProvider().nbtTagCompound_getInt(palette, rawState); @@ -84,7 +93,8 @@ private void load(boolean full) { } catch (IllegalArgumentException e) { String materialName; if (rawState.contains("[")) { - materialName = rawState.substring(0, rawState.indexOf("[")).replace("minecraft:", "").toUpperCase(); + materialName = + rawState.substring(0, rawState.indexOf("[")).replace("minecraft:", "").toUpperCase(); } else { materialName = rawState.replace("minecraft:", "").toUpperCase(); } @@ -93,12 +103,14 @@ private void load(boolean full) { if (material == null) { material = Material.getMaterial(materialName, true); } - if (material == null) {continue;} + if (material == null) { + continue; + } blockStates.put(id, Bukkit.createBlockData(material)); } } - int version = NMS.getInstance().getNMSProvider().nbtTagCompound_getInt(data, "Version"); + int version = NMS.getInstance().getNMSProvider().nbtTagCompound_getInt(data, "Version"); List tileEntities; if (version > 1) { tileEntities = NMS.getInstance().getNMSProvider().nbtTagCompound_getList(data, "BlockEntities", 10); @@ -106,36 +118,40 @@ private void load(boolean full) { tileEntities = NMS.getInstance().getNMSProvider().nbtTagCompound_getList(data, "TileEntities", 10); } Map tileEntitiesMap = new HashMap<>(); - Class nbtTagCompound = NMS.getInstance().getNMSProvider().getNBTTagCompoundClass(); + Class nbtTagCompound = NMS.getInstance().getNMSProvider().getNBTTagCompoundClass(); for (Object tag : tileEntities) { - if (!nbtTagCompound.isAssignableFrom(tag.getClass())) {continue;} + if (!nbtTagCompound.isAssignableFrom(tag.getClass())) { + continue; + } int[] pos = NMS.getInstance().getNMSProvider().nbtTagCompound_getIntArray(tag, "Pos"); - if (pos.length == 3) { + if (pos.length == 3) { tileEntitiesMap.put(new Vector(pos[0], pos[1], pos[2]), tag); } } byte[] blocks = NMS.getInstance().getNMSProvider().nbtTagCompound_getByteArray(data, "BlockData"); - int index = 0; - int i = 0; + int index = 0; + int i = 0; while (i < blocks.length) { - int value = 0; + int value = 0; int varint_length = 0; while (true) { value |= (blocks[i] & 127) << (varint_length++ * 7); - if (varint_length > 5) {throw new RuntimeException("VarInt too big (probably corrupted data)");} + if (varint_length > 5) { + throw new RuntimeException("VarInt too big (probably corrupted data)"); + } if ((blocks[i] & 128) != 128) { i++; break; } i++; } - int y = index / (width * length); - int z = (index % (width * length)) / width; - int x = (index % (width * length)) % width; - Vector vector = new Vector(x, y, z); + int y = index / (width * length); + int z = (index % (width * length)) / width; + int x = (index % (width * length)) % width; + Vector vector = new Vector(x, y, z); BlockData blockState = blockStates.get(value); - Object tileEntity = tileEntitiesMap.remove(vector); + Object tileEntity = tileEntitiesMap.remove(vector); this.blocks[x][y][z] = tileEntity == null ? new DataBuildBlock(x, y, z, blockState) : new TileBuildBlock(x, y, z, blockState, tileEntity); @@ -146,26 +162,31 @@ private void load(boolean full) { for (Object object : NMS.getInstance().getNMSProvider().nbtTagCompound_getList(data, "Entities", 10)) { try { this.entities.add(new SchematicEntity(object, absolutePosition)); - } catch (Exception ignored) {} + } catch (Exception ignored) { + } } } else { CompoundTag data; try (NBTInputStream inputStream = new NBTInputStream(new FileInputStream(file), true)) { data = (CompoundTag) inputStream.readNamedTag().getTag(); - } catch (IOException e) {throw new RuntimeException(e);} + } catch (IOException e) { + throw new RuntimeException(e); + } ListTag sizeTag = data.getListTag("size"); this.width = sizeTag.getInt(0); this.height = sizeTag.getInt(1); this.length = sizeTag.getInt(2); - if (!full) {return;} + if (!full) { + return; + } this.blocks = new EmptyBuildBlock[width][height][length]; - Map blocks = new HashMap<>(); - Map tileEntities = new HashMap<>(); - ListTag blockTags = data.getListTag("blocks"); - ListTag paletteTags; + Map blocks = new HashMap<>(); + Map tileEntities = new HashMap<>(); + ListTag blockTags = data.getListTag("blocks"); + ListTag paletteTags; if (data.containsKey("palette")) { paletteTags = data.getListTag("palette"); readBlocks(paletteTags, blockTags, blocks, tileEntities); @@ -176,7 +197,7 @@ private void load(boolean full) { } } - for (Map.Entry entry : blocks.entrySet()) { + for (Map.Entry entry : blocks.entrySet()) { Vector vector = entry.getKey(); int x = vector.getBlockX(); int y = vector.getBlockY(); @@ -207,33 +228,51 @@ private void unload() { this.blocks = null; } - private void readBlocks(ListTag paletteTags, ListTag blockTags, Map blocks, Map tileEntities) { + private void readBlocks(ListTag paletteTags, + ListTag blockTags, + Map blocks, + Map tileEntities) { for (int i = 0; i < blockTags.getValue().size(); i++) { Tag tag = blockTags.getIfExists(i); - if (!(tag instanceof CompoundTag)) {continue;} - CompoundTag blockTag = (CompoundTag) tag; - ListTag positionTags = blockTag.getListTag("pos"); - Vector position = new Vector(positionTags.getInt(0), positionTags.getInt(1), positionTags.getInt(2)); + if (!(tag instanceof CompoundTag)) { + continue; + } + CompoundTag blockTag = (CompoundTag) tag; + ListTag positionTags = blockTag.getListTag("pos"); + Vector position = + new Vector(positionTags.getInt(0), positionTags.getInt(1), positionTags.getInt(2)); tag = paletteTags.getIfExists(blockTag.getInt("state")); - if (!(tag instanceof CompoundTag)) {continue;} + if (!(tag instanceof CompoundTag)) { + continue; + } CompoundTag data = (CompoundTag) tag; - if (!data.containsKey("Name")) {continue;} - String materialName = data.getString("Name").replace("minecraft:", "").toUpperCase(); - Material material = Material.getMaterial(materialName); - if (material == null) {material = Material.getMaterial(materialName, true);} - if (material == null || material == Material.AIR) {continue;} + if (!data.containsKey("Name")) { + continue; + } + String materialName = data.getString("Name").replace("minecraft:", "").toUpperCase(); + Material material = Material.getMaterial(materialName); + if (material == null) { + material = Material.getMaterial(materialName, true); + } + if (material == null || material == Material.AIR) { + continue; + } BlockData blockData; if (data.containsKey("Properties")) { - CompoundTag propertyTag = (CompoundTag) data.getValue().get("Properties"); - StringBuilder stringBuilder = new StringBuilder("["); + CompoundTag propertyTag = (CompoundTag) data.getValue().get("Properties"); + StringBuilder stringBuilder = new StringBuilder("["); Iterator> entryIterator = propertyTag.getValue().entrySet().iterator(); while (entryIterator.hasNext()) { Map.Entry entry = entryIterator.next(); - Tag value = entry.getValue(); - if (!(value instanceof StringTag)) {continue;} + Tag value = entry.getValue(); + if (!(value instanceof StringTag)) { + continue; + } stringBuilder.append(entry.getKey()).append('=').append(((StringTag) value).getValue()); - if (entryIterator.hasNext()) {stringBuilder.append(',');} + if (entryIterator.hasNext()) { + stringBuilder.append(','); + } } String blockDataString = stringBuilder.append(']').toString(); blockData = material.createBlockData(blockDataString); @@ -241,14 +280,16 @@ private void readBlocks(ListTag paletteTags, ListTag blockTags, Map buildQueue(BuilderTrait builder) { Queue queue = new LinkedList<>(); - int emptyLayers = 0; // Clear out empty payers on the bottom. - boolean ok = false; + int emptyLayers = 0; // Clear out empty payers on the bottom. + boolean ok = false; for (int tmpy = 0; tmpy < this.getHeight(); tmpy++) { for (int tmpx = 0; tmpx < this.getWidth(); tmpx++) { for (int tmpz = 0; tmpz < this.getLength(); tmpz++) { @@ -282,8 +323,11 @@ public Queue buildQueue(BuilderTrait builder) { } } } - if (ok) {break;} - else {emptyLayers++;} + if (ok) { + break; + } else { + emptyLayers++; + } } Queue exair = new LinkedList<>(); Queue air = new LinkedList<>(); @@ -315,14 +359,16 @@ public Queue buildQueue(BuilderTrait builder) { for (EmptyBuildBlock b : thisLayer) { //check if it needs to be placed. - Block pending = Objects.requireNonNull(origin.getWorld()).getBlockAt(offset(origin, b.X, b.Y, b.Z, emptyLayers, builder.getRotation())); + Block pending = Objects.requireNonNull(origin.getWorld()) + .getBlockAt(offset(origin, b.X, b.Y, b.Z, emptyLayers, builder.getRotation())); if (builder.isExcavate() && !pending.isEmpty()) { exair.add(new EmptyBuildBlock(b.X, b.Y, b.Z)); // TODO remove if (builder.ExcavateMaterials != null) { Material material = pending.getType(); if (material != org.bukkit.Material.AIR && material.isItem()) { - builder.ExcavateMaterials.put(material, builder.ExcavateMaterials.getOrDefault(material, 0) + 1); + builder.ExcavateMaterials.put(material, + builder.ExcavateMaterials.getOrDefault(material, 0) + 1); } } } @@ -340,7 +386,7 @@ public Queue buildQueue(BuilderTrait builder) { case AIR: case CAVE_AIR: case VOID_AIR: - // + // //first if (!builder.isIgnoreAir() && !builder.isExcavate()) air.add(b); break; @@ -349,7 +395,7 @@ public Queue buildQueue(BuilderTrait builder) { case LEGACY_STATIONARY_WATER: case LAVA: case LEGACY_STATIONARY_LAVA: - // + // //5th if (!builder.ignoresLiquids()) liquids.add(b); break; @@ -389,7 +435,7 @@ public Queue buildQueue(BuilderTrait builder) { case POTATO: case LEGACY_SKULL: case LEGACY_CARPET: - // + // //very last decors.add(b); break; @@ -426,7 +472,7 @@ public Queue buildQueue(BuilderTrait builder) { case LEGACY_GOLD_PLATE: case LEGACY_IRON_PLATE: case LEGACY_WOOD_BUTTON: - // + // //4th redstone.add(b); break; @@ -464,7 +510,7 @@ public Queue buildQueue(BuilderTrait builder) { case TRAPPED_CHEST: case ANVIL: case FLOWER_POT: - // + // //3rd furniture.add(b); break; diff --git a/src/main/java/fr/weefle/constructor/schematic/Schematic.java b/src/main/java/com/promcteam/blueprint/schematic/Schematic.java similarity index 84% rename from src/main/java/fr/weefle/constructor/schematic/Schematic.java rename to src/main/java/com/promcteam/blueprint/schematic/Schematic.java index b30f89e..772cc90 100644 --- a/src/main/java/fr/weefle/constructor/schematic/Schematic.java +++ b/src/main/java/com/promcteam/blueprint/schematic/Schematic.java @@ -1,8 +1,8 @@ -package fr.weefle.constructor.schematic; +package com.promcteam.blueprint.schematic; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import fr.weefle.constructor.schematic.blocks.EmptyBuildBlock; +import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.Material; @@ -20,10 +20,10 @@ import java.util.Queue; public abstract class Schematic { - protected final String path; - protected String displayName; - private Runnable hidePreviewRunnable; - private BukkitTask hidePreviewTask; + protected final String path; + protected String displayName; + private Runnable hidePreviewRunnable; + private BukkitTask hidePreviewTask; public Schematic(Path path) {this.path = path.toString();} @@ -83,7 +83,7 @@ public void preview(BuilderTrait builder, Player player, int ticks) { this.hidePreviewTask = new BukkitRunnable() { @Override public void run() {hidePreview();} - }.runTaskLater(SchematicBuilder.getInstance(), ticks); + }.runTaskLater(Blueprint.getInstance(), ticks); } @NotNull @@ -95,6 +95,7 @@ public void preview(BuilderTrait builder, Player player, int ticks) { public String getInfo() { return ChatColor.GREEN + "Path: " + ChatColor.WHITE + getPath() + ChatColor.GREEN + ", Name: " + ChatColor.WHITE + getDisplayName() + - ChatColor.GREEN + ", Size: " + ChatColor.WHITE + getWidth() + " wide, " + getLength() + " long, " + getHeight() + " tall"; + ChatColor.GREEN + ", Size: " + ChatColor.WHITE + getWidth() + " wide, " + getLength() + " long, " + + getHeight() + " tall"; } } diff --git a/src/main/java/fr/weefle/constructor/schematic/SchematicEntity.java b/src/main/java/com/promcteam/blueprint/schematic/SchematicEntity.java similarity index 62% rename from src/main/java/fr/weefle/constructor/schematic/SchematicEntity.java rename to src/main/java/com/promcteam/blueprint/schematic/SchematicEntity.java index 47af370..1e3f6f3 100644 --- a/src/main/java/fr/weefle/constructor/schematic/SchematicEntity.java +++ b/src/main/java/com/promcteam/blueprint/schematic/SchematicEntity.java @@ -1,7 +1,7 @@ -package fr.weefle.constructor.schematic; +package com.promcteam.blueprint.schematic; -import fr.weefle.constructor.nms.NMS; -import fr.weefle.constructor.nms.providers.NMSProvider; +import com.promcteam.blueprint.nms.providers.NMSProvider; +import com.promcteam.blueprint.nms.NMS; import org.bukkit.Location; import org.bukkit.entity.Entity; import org.bukkit.event.entity.CreatureSpawnEvent; @@ -12,7 +12,7 @@ public class SchematicEntity { private final Location location; - private final Object nbtCompound; + private final Object nbtCompound; public SchematicEntity(Object nbtCompound, Vector absolutePosition) { this.nbtCompound = nbtCompound; @@ -20,10 +20,10 @@ public SchematicEntity(Object nbtCompound, Vector absolutePosition) { NMSProvider nms = NMS.getInstance().getNMSProvider(); nms.nbtTagCompound_put(nbtCompound, "id", nms.nbtTagCompound_get(nbtCompound, "Id")); - List pos = nms.nbtTagCompound_getList(nbtCompound, "Pos", 6); - List rot = nms.nbtTagCompound_getList(nbtCompound, "Rotation", 5); - int posTagSize = pos.size(); - int rotTagSize = rot.size(); + List pos = nms.nbtTagCompound_getList(nbtCompound, "Pos", 6); + List rot = nms.nbtTagCompound_getList(nbtCompound, "Rotation", 5); + int posTagSize = pos.size(); + int rotTagSize = rot.size(); this.location = new Location( null, posTagSize > 0 ? nms.nbtTagDouble_getAsDouble(pos.get(0)) : 0, @@ -46,7 +46,9 @@ private void removeUnwantedTags(Object nbtTagCompound) { "PersistentIDLSB"}) { NMS.getInstance().getNMSProvider().nbtTagCompound_remove(nbtCompound, key); } - for (Object passenger : NMS.getInstance().getNMSProvider().nbtTagCompound_getList(nbtTagCompound, "Passengers", 10)) { + for (Object passenger : NMS.getInstance() + .getNMSProvider() + .nbtTagCompound_getList(nbtTagCompound, "Passengers", 10)) { removeUnwantedTags(passenger); } } @@ -56,12 +58,19 @@ public Location getLocation() { } public Entity spawn(Location origin, int rotations) { - Location location = origin.clone().add(this.location.toVector()); - NMSProvider nms = NMS.getInstance().getNMSProvider(); - Object nmsEntity = nms.entityType_loadEntityRecursive(nbtCompound, Objects.requireNonNull(origin.getWorld()), (loadedEntity) -> { - nms.entity_absMoveTo(loadedEntity, location.getX(), location.getY(), location.getZ(), location.getYaw()+rotations*90, location.getPitch()); - return loadedEntity; - }); + Location location = origin.clone().add(this.location.toVector()); + NMSProvider nms = NMS.getInstance().getNMSProvider(); + Object nmsEntity = nms.entityType_loadEntityRecursive(nbtCompound, + Objects.requireNonNull(origin.getWorld()), + (loadedEntity) -> { + nms.entity_absMoveTo(loadedEntity, + location.getX(), + location.getY(), + location.getZ(), + location.getYaw() + rotations * 90, + location.getPitch()); + return loadedEntity; + }); if (nmsEntity != null) { nms.world_addFreshEntityWithPassengers(origin.getWorld(), nmsEntity, CreatureSpawnEvent.SpawnReason.CUSTOM); return (Entity) nms.entity_getBukkitEntity(nmsEntity); diff --git a/src/main/java/fr/weefle/constructor/schematic/SchematicTier.java b/src/main/java/com/promcteam/blueprint/schematic/SchematicTier.java similarity index 84% rename from src/main/java/fr/weefle/constructor/schematic/SchematicTier.java rename to src/main/java/com/promcteam/blueprint/schematic/SchematicTier.java index c42cfe2..13944ab 100644 --- a/src/main/java/fr/weefle/constructor/schematic/SchematicTier.java +++ b/src/main/java/com/promcteam/blueprint/schematic/SchematicTier.java @@ -1,10 +1,10 @@ -package fr.weefle.constructor.schematic; +package com.promcteam.blueprint.schematic; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import fr.weefle.constructor.schematic.blocks.EmptyBuildBlock; -import fr.weefle.constructor.util.Util; -import mc.promcteam.engine.utils.StringUT; +import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.util.Util; +import com.promcteam.codex.utils.StringUT; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; @@ -20,8 +20,8 @@ public class SchematicTier extends Schematic { public static final String DISPLAY_NAME = "display-name"; public static final String OFFSET = "offset"; public static final String MATERIALS = "materials"; - public static final String LORE = "lore"; - private static final Vector ZERO = new Vector(0, 0, 0); + public static final String LORE = "lore"; + private static final Vector ZERO = new Vector(0, 0, 0); private final RawSchematic handle; private final Vector offset; @@ -30,13 +30,15 @@ public class SchematicTier extends Schematic { public SchematicTier(Path path, ConfigurationSection config) { super(path); - Schematic schematic = SchematicBuilder.getSchematic(path); + Schematic schematic = Blueprint.getSchematic(path); if (!(schematic instanceof RawSchematic)) { throw new ClassCastException("Referenced schematics must be .schem or .nbt files"); } this.handle = (RawSchematic) schematic; this.displayName = config.getString(DISPLAY_NAME); - if (this.displayName != null) {this.displayName = StringUT.color(this.displayName);} + if (this.displayName != null) { + this.displayName = StringUT.color(this.displayName); + } ConfigurationSection section = config.getConfigurationSection(OFFSET); this.offset = section == null ? ZERO : new Vector( diff --git a/src/main/java/fr/weefle/constructor/schematic/YAMLSchematic.java b/src/main/java/com/promcteam/blueprint/schematic/YAMLSchematic.java similarity index 60% rename from src/main/java/fr/weefle/constructor/schematic/YAMLSchematic.java rename to src/main/java/com/promcteam/blueprint/schematic/YAMLSchematic.java index dd6cf94..04b0d43 100644 --- a/src/main/java/fr/weefle/constructor/schematic/YAMLSchematic.java +++ b/src/main/java/com/promcteam/blueprint/schematic/YAMLSchematic.java @@ -1,8 +1,8 @@ -package fr.weefle.constructor.schematic; +package com.promcteam.blueprint.schematic; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import fr.weefle.constructor.schematic.blocks.EmptyBuildBlock; +import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; +import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; @@ -21,15 +21,20 @@ public class YAMLSchematic extends Schematic { public YAMLSchematic(Path path) { super(path); - YamlConfiguration config = YamlConfiguration.loadConfiguration(path.toFile()); - Set keys = config.getKeys(false); - if (keys.size() == 0) {throw new IllegalArgumentException("Must contain at least one tier");} + YamlConfiguration config = YamlConfiguration.loadConfiguration(path.toFile()); + Set keys = config.getKeys(false); + if (keys.size() == 0) { + throw new IllegalArgumentException("Must contain at least one tier"); + } this.tiers = new ArrayList<>(keys.size()); for (String key : keys) { ConfigurationSection section = config.getConfigurationSection(key); - if (section == null) {return;} - this.tiers.add(new SchematicTier(new File(SchematicBuilder.getInstance().config().getSchematicsFolder(), - Objects.requireNonNull(section.getString(SchematicTier.PATH), "Missing 'path' field")).toPath(), section)); + if (section == null) { + return; + } + this.tiers.add(new SchematicTier(new File(Blueprint.getInstance().config().getSchematicsFolder(), + Objects.requireNonNull(section.getString(SchematicTier.PATH), "Missing 'path' field")).toPath(), + section)); } } @@ -47,7 +52,7 @@ private YAMLSchematic(Path path, List tiers) { public int getTotalTiers() {return this.tiers.size();} - public int getNextTier() {return Math.min(this.tier+1, this.getTotalTiers()-1);} + public int getNextTier() {return Math.min(this.tier + 1, this.getTotalTiers() - 1);} public int setTier(int tier) {return this.tier = Math.min(tier, this.getTotalTiers());} @@ -60,30 +65,39 @@ public String getDisplayName() { } @Override - public @Nullable Vector getAbsolutePosition() {return this.tiers.get(Math.min(this.tier, this.getTotalTiers()-1)).getAbsolutePosition();} + public @Nullable Vector getAbsolutePosition() { + return this.tiers.get(Math.min(this.tier, this.getTotalTiers() - 1)) + .getAbsolutePosition(); + } @Override - public int getWidth() {return this.tiers.get(Math.min(this.getNextTier(), this.getTotalTiers()-1)).getWidth();} + public int getWidth() {return this.tiers.get(Math.min(this.getNextTier(), this.getTotalTiers() - 1)).getWidth();} @Override - public int getHeight() {return this.tiers.get(Math.min(this.getNextTier(), this.getTotalTiers()-1)).getHeight();} + public int getHeight() {return this.tiers.get(Math.min(this.getNextTier(), this.getTotalTiers() - 1)).getHeight();} @Override - public int getLength() {return this.tiers.get(Math.min(this.getNextTier(), this.getTotalTiers()-1)).getLength();} + public int getLength() {return this.tiers.get(Math.min(this.getNextTier(), this.getTotalTiers() - 1)).getLength();} @Override @NotNull - public EmptyBuildBlock getBlockAt(int x, int y, int z) {return this.tiers.get(Math.min(this.getNextTier(), this.getTotalTiers()-1)).getBlockAt(x, y, z);} + public EmptyBuildBlock getBlockAt(int x, int y, int z) { + return this.tiers.get(Math.min(this.getNextTier(), + this.getTotalTiers() - 1)).getBlockAt(x, y, z); + } @Override public Location offset(Location origin, double x, double y, double z, int emptyLayers, int rotation) { - return this.tiers.get(Math.min(this.getNextTier(), this.getTotalTiers()-1)).offset(origin, x, y, z, emptyLayers, rotation); + return this.tiers.get(Math.min(this.getNextTier(), this.getTotalTiers() - 1)) + .offset(origin, x, y, z, emptyLayers, rotation); } @Override public @NotNull Map getMaterials() { int tier = this.getNextTier(); - if (tier >= getTotalTiers()) { return new HashMap<>(); } + if (tier >= getTotalTiers()) { + return new HashMap<>(); + } return this.tiers.get(tier).getMaterials(); } @@ -91,7 +105,9 @@ public Location offset(Location origin, double x, double y, double z, int emptyL @NotNull public Queue buildQueue(BuilderTrait builder) { int tier = this.getNextTier(); - if (tier >= getTotalTiers()) { return new LinkedList<>(); } + if (tier >= getTotalTiers()) { + return new LinkedList<>(); + } return this.tiers.get(tier).buildQueue(builder); } @@ -99,7 +115,9 @@ public Queue buildQueue(BuilderTrait builder) { @NotNull public Queue getEntities() { int tier = this.getNextTier(); - if (tier >= getTotalTiers()) { return new LinkedList<>(); } + if (tier >= getTotalTiers()) { + return new LinkedList<>(); + } return this.tiers.get(tier).getEntities(); } } diff --git a/src/main/java/fr/weefle/constructor/schematic/blocks/DataBuildBlock.java b/src/main/java/com/promcteam/blueprint/schematic/blocks/DataBuildBlock.java similarity index 87% rename from src/main/java/fr/weefle/constructor/schematic/blocks/DataBuildBlock.java rename to src/main/java/com/promcteam/blueprint/schematic/blocks/DataBuildBlock.java index 697fd41..878e70b 100644 --- a/src/main/java/fr/weefle/constructor/schematic/blocks/DataBuildBlock.java +++ b/src/main/java/com/promcteam/blueprint/schematic/blocks/DataBuildBlock.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.schematic.blocks; +package com.promcteam.blueprint.schematic.blocks; import org.bukkit.block.data.BlockData; diff --git a/src/main/java/fr/weefle/constructor/schematic/blocks/EmptyBuildBlock.java b/src/main/java/com/promcteam/blueprint/schematic/blocks/EmptyBuildBlock.java similarity index 88% rename from src/main/java/fr/weefle/constructor/schematic/blocks/EmptyBuildBlock.java rename to src/main/java/com/promcteam/blueprint/schematic/blocks/EmptyBuildBlock.java index 2968117..6aab9e2 100644 --- a/src/main/java/fr/weefle/constructor/schematic/blocks/EmptyBuildBlock.java +++ b/src/main/java/com/promcteam/blueprint/schematic/blocks/EmptyBuildBlock.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.schematic.blocks; +package com.promcteam.blueprint.schematic.blocks; import org.bukkit.Material; import org.bukkit.block.data.BlockData; diff --git a/src/main/java/fr/weefle/constructor/schematic/blocks/EntityMap.java b/src/main/java/com/promcteam/blueprint/schematic/blocks/EntityMap.java similarity index 76% rename from src/main/java/fr/weefle/constructor/schematic/blocks/EntityMap.java rename to src/main/java/com/promcteam/blueprint/schematic/blocks/EntityMap.java index ef22f66..0bbf835 100644 --- a/src/main/java/fr/weefle/constructor/schematic/blocks/EntityMap.java +++ b/src/main/java/com/promcteam/blueprint/schematic/blocks/EntityMap.java @@ -1,6 +1,6 @@ -package fr.weefle.constructor.schematic.blocks; +package com.promcteam.blueprint.schematic.blocks; -import fr.weefle.constructor.nbt.Tag; +import com.promcteam.blueprint.nbt.Tag; import org.bukkit.block.data.BlockData; public class EntityMap extends DataBuildBlock { diff --git a/src/main/java/fr/weefle/constructor/schematic/blocks/TileBuildBlock.java b/src/main/java/com/promcteam/blueprint/schematic/blocks/TileBuildBlock.java similarity index 85% rename from src/main/java/fr/weefle/constructor/schematic/blocks/TileBuildBlock.java rename to src/main/java/com/promcteam/blueprint/schematic/blocks/TileBuildBlock.java index 963b105..ee41287 100644 --- a/src/main/java/fr/weefle/constructor/schematic/blocks/TileBuildBlock.java +++ b/src/main/java/com/promcteam/blueprint/schematic/blocks/TileBuildBlock.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.schematic.blocks; +package com.promcteam.blueprint.schematic.blocks; import org.bukkit.block.data.BlockData; diff --git a/src/main/java/fr/weefle/constructor/util/Cuboid.java b/src/main/java/com/promcteam/blueprint/util/Cuboid.java similarity index 96% rename from src/main/java/fr/weefle/constructor/util/Cuboid.java rename to src/main/java/com/promcteam/blueprint/util/Cuboid.java index dee409d..cbd70b1 100644 --- a/src/main/java/fr/weefle/constructor/util/Cuboid.java +++ b/src/main/java/com/promcteam/blueprint/util/Cuboid.java @@ -1,4 +1,4 @@ -package fr.weefle.constructor.util; +package com.promcteam.blueprint.util; import org.bukkit.Bukkit; import org.bukkit.Chunk; @@ -166,7 +166,10 @@ public Location getCenter() { int x1 = this.getUpperX() + 1; int y1 = this.getUpperY() + 1; int z1 = this.getUpperZ() + 1; - return new Location(this.getWorld(), this.getLowerX() + (x1 - this.getLowerX()) / 2.0, this.getLowerY() + (y1 - this.getLowerY()) / 2.0, this.getLowerZ() + (z1 - this.getLowerZ()) / 2.0); + return new Location(this.getWorld(), + this.getLowerX() + (x1 - this.getLowerX()) / 2.0, + this.getLowerY() + (y1 - this.getLowerY()) / 2.0, + this.getLowerZ() + (z1 - this.getLowerZ()) / 2.0); } /** @@ -329,7 +332,9 @@ public Cuboid outset(CuboidDirection dir, int amount) { Cuboid c; switch (dir) { case Horizontal: - c = expand(CuboidDirection.North, amount).expand(CuboidDirection.South, amount).expand(CuboidDirection.East, amount).expand(CuboidDirection.West, amount); + c = expand(CuboidDirection.North, amount).expand(CuboidDirection.South, amount) + .expand(CuboidDirection.East, amount) + .expand(CuboidDirection.West, amount); break; case Vertical: c = expand(CuboidDirection.Down, amount).expand(CuboidDirection.Up, amount); @@ -420,7 +425,12 @@ public byte getAverageLightLevel() { * @return A new Cuboid with no external air blocks */ public Cuboid contract() { - return this.contract(CuboidDirection.Down).contract(CuboidDirection.South).contract(CuboidDirection.East).contract(CuboidDirection.Up).contract(CuboidDirection.North).contract(CuboidDirection.West); + return this.contract(CuboidDirection.Down) + .contract(CuboidDirection.South) + .contract(CuboidDirection.East) + .contract(CuboidDirection.Up) + .contract(CuboidDirection.North) + .contract(CuboidDirection.West); } /** @@ -584,7 +594,9 @@ public Cuboid clone() { @Override public String toString() { - return new String("Cuboid: " + this.worldName + "," + this.x1 + "," + this.y1 + "," + this.z1 + "=>" + this.x2 + "," + this.y2 + "," + this.z2); + return new String( + "Cuboid: " + this.worldName + "," + this.x1 + "," + this.y1 + "," + this.z1 + "=>" + this.x2 + "," + + this.y2 + "," + this.z2); } public class CuboidIterator implements Iterator { diff --git a/src/main/java/fr/weefle/constructor/util/Util.java b/src/main/java/com/promcteam/blueprint/util/Util.java similarity index 90% rename from src/main/java/fr/weefle/constructor/util/Util.java rename to src/main/java/com/promcteam/blueprint/util/Util.java index d3d9950..3ed8dff 100644 --- a/src/main/java/fr/weefle/constructor/util/Util.java +++ b/src/main/java/com/promcteam/blueprint/util/Util.java @@ -1,6 +1,6 @@ -package fr.weefle.constructor.util; +package com.promcteam.blueprint.util; -import fr.weefle.constructor.schematic.blocks.EmptyBuildBlock; +import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.util.Vector; @@ -26,7 +26,10 @@ public static String printMaterials(Map map) { return sb.toString(); } - public static List spiralPrintLayer(int starty, int ylayers, EmptyBuildBlock[][][] a, boolean reverse) { + public static List spiralPrintLayer(int starty, + int ylayers, + EmptyBuildBlock[][][] a, + boolean reverse) { int i, k = 0, l = 0; int m = a.length; @@ -121,7 +124,10 @@ public static List spiralPrintLayer(int starty, int ylayers, Em } - public static List LinearPrintLayer(int starty, int ylayers, EmptyBuildBlock[][][] a, boolean reverse) { + public static List LinearPrintLayer(int starty, + int ylayers, + EmptyBuildBlock[][][] a, + boolean reverse) { int i = 0, k = 0; int di = 1; int dk = 1; @@ -177,7 +183,7 @@ public static boolean canStand(org.bukkit.block.Block base) { return false; } - public static int normalizeRotations(int rotation) {return (rotation%4+4)%4;} + public static int normalizeRotations(int rotation) {return (rotation % 4 + 4) % 4;} public static Vector rotateVector(Vector vector, int rotation) { rotation = normalizeRotations(rotation); diff --git a/src/main/java/fr/weefle/constructor/API/TileChecker.java b/src/main/java/fr/weefle/constructor/API/TileChecker.java deleted file mode 100644 index 9eeab14..0000000 --- a/src/main/java/fr/weefle/constructor/API/TileChecker.java +++ /dev/null @@ -1,13 +0,0 @@ -package fr.weefle.constructor.api; - -import fr.weefle.constructor.schematic.blocks.EmptyBuildBlock; -import org.bukkit.block.Block; - -import java.lang.reflect.InvocationTargetException; - -public interface TileChecker { - - void check(EmptyBuildBlock next, Block pending) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, ClassNotFoundException, InstantiationException; - - -} diff --git a/src/main/java/fr/weefle/constructor/commands/InfoSubCommand.java b/src/main/java/fr/weefle/constructor/commands/InfoSubCommand.java deleted file mode 100644 index 05dd781..0000000 --- a/src/main/java/fr/weefle/constructor/commands/InfoSubCommand.java +++ /dev/null @@ -1,63 +0,0 @@ -package fr.weefle.constructor.commands; - -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import net.citizensnpcs.api.npc.NPC; -import org.bukkit.ChatColor; -import org.bukkit.command.Command; -import org.bukkit.command.CommandSender; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.List; - -public class InfoSubCommand extends AbstractCommand { - public InfoSubCommand(@Nullable SchematicBuilderCommand parent) { - super("info", parent); - this.permission = "schematicbuilder.info"; - } - - @Override - public void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull List args) { - BuilderTrait builder = getSelectedBuilder(sender); - if (builder == null) {return;} - NPC npc = builder.getNPC(); - - if (args.size() != 0) { - sendUsage(sender); - return; - } - - sender.sendMessage(ChatColor.GOLD + "----- Builder Info for " + npc.getName() + '<' + npc.getId() + "> ------"); - - // DecimalFormat df= new DecimalFormat("#"); - - if (builder.getSchematic() != null) { - sender.sendMessage(ChatColor.GREEN + "Schematic: " + builder.getSchematic().getInfo()); - } else { - sender.sendMessage(ChatColor.YELLOW + "No schematic loaded."); - } - - if (builder.getOrigin() == null) { - sender.sendMessage(ChatColor.GREEN + "Origin: " + ChatColor.WHITE + "My Location"); - } else { - sender.sendMessage(ChatColor.GREEN + "Origin: " + ChatColor.WHITE + builder.getOrigin()); - } - - sender.sendMessage(ChatColor.GREEN + "Status: " + ChatColor.WHITE + builder.getState() + ChatColor.GREEN + " Timeout: " + ChatColor.WHITE + builder.getMoveTimeoutSeconds()); - sender.sendMessage(ChatColor.GREEN + "Require Mats: " + ChatColor.WHITE + builder.requiresMaterials() + ChatColor.GREEN + " Hold Items: " + ChatColor.WHITE + builder.holdsItems()); - - if (builder.getState() == BuilderTrait.BuilderState.BUILDING) { - sender.sendMessage(ChatColor.BLUE + "Location: " + ChatColor.WHITE + " x:" + builder.getOrigin().getBlockX() + " y:" + builder.getOrigin().getBlockY() + " z:" + builder.getOrigin().getBlockZ()); - sender.sendMessage(ChatColor.BLUE + "Build Pattern XZ: " + ChatColor.WHITE + builder.getBuildPatternXZ() + ChatColor.BLUE + " Build Y Layers: " + ChatColor.WHITE + builder.getBuildYLayers()); - sender.sendMessage(ChatColor.BLUE + "Ignore Air: " + ChatColor.WHITE + builder.isIgnoreAir() + ChatColor.BLUE + " Ignore Liquid: " + ChatColor.WHITE + builder.ignoresLiquids()); - sender.sendMessage(ChatColor.BLUE + "Hold Items: " + ChatColor.WHITE + builder.holdsItems() + ChatColor.BLUE + " Excavate: " + ChatColor.WHITE + builder.isExcavate()); - sender.sendMessage(ChatColor.BLUE + "On Complete: " + ChatColor.WHITE + builder.getOnComplete() + ChatColor.BLUE + " " + - "On Cancel: " + ChatColor.WHITE + builder.getOnCancel()); - long c = builder.startingcount; - sender.sendMessage(ChatColor.BLUE + "Blocks: Total: " + ChatColor.WHITE + c + ChatColor.BLUE + " Remaining: " + ChatColor.WHITE + builder.getQueuedBlocks()); - double percent = ((double) (c - builder.getQueuedBlocks()) / (double) c) * 100; - sender.sendMessage(ChatColor.BLUE + "Complete: " + ChatColor.WHITE + String.format("%1$.1f", percent) + "%"); - } - } - -} diff --git a/src/main/java/fr/weefle/constructor/commands/SurveySubCommand.java b/src/main/java/fr/weefle/constructor/commands/SurveySubCommand.java deleted file mode 100644 index 735420a..0000000 --- a/src/main/java/fr/weefle/constructor/commands/SurveySubCommand.java +++ /dev/null @@ -1,36 +0,0 @@ -package fr.weefle.constructor.commands; - -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import fr.weefle.constructor.util.Util; -import net.citizensnpcs.api.npc.NPC; -import org.bukkit.ChatColor; -import org.bukkit.command.Command; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.List; - -public class SurveySubCommand extends AbstractCommand { - public SurveySubCommand(@Nullable SchematicBuilderCommand parent) { - super("survey", "View the list of materials required to build the loaded schematic at the current origin with the specified options", parent); - this.permission = "schematicbuilder.survey"; - addAllowedSender(Player.class); - registerHyphenArgument(new HyphenArgument("excavate", "true", "false")); - } - - @Override - public void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull List args) { - BuilderTrait builder = getSelectedBuilder(sender); - if (builder == null) {return;} - NPC npc = builder.getNPC(); - if (builder.getState() != BuilderTrait.BuilderState.COLLECTING) { - sender.sendMessage(npc.getName()+ChatColor.GREEN+" is not collecting any materials"); - return; - } - sender.sendMessage(SchematicBuilder.format(SchematicBuilder.getInstance().config().getSurveyMessage(), npc, builder.getSchematic(), sender, null, "0")); - sender.sendMessage(Util.printMaterials(builder.getMissingMaterials())); - } -} diff --git a/src/main/java/fr/weefle/constructor/menus/BuildPatternMenu.java b/src/main/java/fr/weefle/constructor/menus/BuildPatternMenu.java deleted file mode 100644 index 0c2e137..0000000 --- a/src/main/java/fr/weefle/constructor/menus/BuildPatternMenu.java +++ /dev/null @@ -1,60 +0,0 @@ -package fr.weefle.constructor.menus; - -import com.google.common.base.Preconditions; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import mc.promcteam.engine.manager.api.menu.Menu; -import mc.promcteam.engine.manager.api.menu.Slot; -import mc.promcteam.engine.manager.api.menu.YAMLMenu; -import mc.promcteam.engine.utils.ItemUT; -import net.citizensnpcs.api.npc.NPC; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import org.jetbrains.annotations.Nullable; - -import java.util.Objects; - -public class BuildPatternMenu extends Menu { - public static final YAMLMenu CONFIG = new YAMLMenu<>(SchematicBuilder.getInstance(), "menus/build-pattern.yml") { - @Override - protected String getTitle(String yamlTitle, BuilderTrait parameter) { - return yamlTitle.replace("%npc%", parameter.getNPC().getName()); - } - - @Override - @Nullable - public Slot getSlot(String function, BuilderTrait builder, Player player) { - ItemStack itemStack = this.getItem(function); - ItemUT.replaceLore(itemStack, "%current%", builder.getBuildPatternXZ().name() - .toLowerCase() - .replace('_', ' ')); - try { - BuilderTrait.BuildPatternXZ patternXZ = BuilderTrait.BuildPatternXZ.valueOf(function - .toUpperCase() - .replace('-', '_')); - return new Slot(itemStack) { - @Override - public void onLeftClick() { - builder.setBuildPatternXZ(patternXZ); - player.closeInventory(); - } - }; - } catch (IllegalArgumentException ignored) {} - return null; - } - }; - - protected final NPC npc; - - public BuildPatternMenu(Player player, NPC npc) { - super(player, CONFIG.getRows(), CONFIG.getTitle(Objects.requireNonNull(SchematicBuilder.getBuilder(npc), npc.getName()+" is not a builder"))); - this.npc = npc; - } - - @Override - public void setContents() { - BuilderTrait builder = SchematicBuilder.getBuilder(npc); - Preconditions.checkArgument(builder != null, npc.getName()+" is not a builder"); - CONFIG.setSlots(this, builder); - } -} diff --git a/src/main/java/fr/weefle/constructor/menus/CitizensActionsMenu.java b/src/main/java/fr/weefle/constructor/menus/CitizensActionsMenu.java deleted file mode 100644 index e9eb0c9..0000000 --- a/src/main/java/fr/weefle/constructor/menus/CitizensActionsMenu.java +++ /dev/null @@ -1,189 +0,0 @@ -package fr.weefle.constructor.menus; - -import com.google.common.base.Preconditions; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import mc.promcteam.engine.manager.api.menu.Menu; -import mc.promcteam.engine.manager.api.menu.Slot; -import mc.promcteam.engine.manager.api.menu.YAMLMenu; -import mc.promcteam.engine.utils.ItemUT; -import net.citizensnpcs.api.npc.NPC; -import net.md_5.bungee.api.chat.BaseComponent; -import net.md_5.bungee.api.chat.ClickEvent; -import net.md_5.bungee.api.chat.TextComponent; -import org.bukkit.ChatColor; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.HandlerList; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.inventory.ItemStack; -import org.jetbrains.annotations.Nullable; - -import java.util.Objects; - -public class CitizensActionsMenu extends Menu { - public static final YAMLMenu CONFIG = new YAMLMenu(SchematicBuilder.getInstance(), "menus/citizens-actions.yml") { - @Override - protected String getTitle(String yamlTitle, BuilderTrait parameter) { - return yamlTitle.replace("%npc%", parameter.getNPC().getName()); - } - - @Override - @Nullable - public Slot getSlot(String function, BuilderTrait builder, Player player) { - switch (function) { - case "on-start": { - ItemStack itemStack = this.getItem(function); - String current = builder.getOnStart() == null ? "null" : builder.getOnStart(); - ItemUT.replaceLore(itemStack, "%current%", current); - return new Slot(itemStack) { - @Override - public void onLeftClick() { - Menu menu = this.menu; - BaseComponent component = new TextComponent("▸ Enter the desired action on start, or "); - BaseComponent component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"cancel"); - component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "cancel")); - component.addExtra(component1); - component.addExtra(new TextComponent(" to go back. ")); - component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"Current value"); - component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, current)); - component.addExtra(component1); - player.spigot().sendMessage(component); - - this.menu.fakeClose(); - menu.registerListener(new Listener() { - @EventHandler - public void onChat(AsyncPlayerChatEvent event) { - if (!event.getPlayer().equals(player)) {return;} - HandlerList.unregisterAll(this); - event.setCancelled(true); - String message = event.getMessage().strip(); - if (!message.equalsIgnoreCase("cancel")) { - if (message.equalsIgnoreCase("null")) { - builder.setOnStart(null); - } else { - builder.setOnStart(message); - } - } - menu.openSync(); - } - }); - } - - @Override - public void onDrop() { - builder.setOnStart(null); - this.menu.open(); - } - }; - } - case "on-complete": { - ItemStack itemStack = this.getItem(function); - String current = builder.getOnComplete() == null ? "null" : builder.getOnComplete(); - ItemUT.replaceLore(itemStack, "%current%", current); - return new Slot(itemStack) { - @Override - public void onLeftClick() { - Menu menu = this.menu; - BaseComponent component = new TextComponent("▸ Enter the desired action on complete, or "); - BaseComponent component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"cancel"); - component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "cancel")); - component.addExtra(component1); - component.addExtra(new TextComponent(" to go back. ")); - component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"Current value"); - component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, current)); - component.addExtra(component1); - player.spigot().sendMessage(component); - - this.menu.fakeClose(); - menu.registerListener(new Listener() { - @EventHandler - public void onChat(AsyncPlayerChatEvent event) { - if (!event.getPlayer().equals(player)) {return;} - HandlerList.unregisterAll(this); - event.setCancelled(true); - String message = event.getMessage().strip(); - if (!message.equalsIgnoreCase("cancel")) { - if (message.equalsIgnoreCase("null")) { - builder.setOnComplete(null); - } else { - builder.setOnComplete(message); - } - } - menu.openSync(); - } - }); - } - - @Override - public void onDrop() { - builder.setOnComplete(null); - this.menu.open(); - } - }; - } - case "on-cancel": { - ItemStack itemStack = this.getItem(function); - String current = builder.getOnCancel() == null ? "null" : builder.getOnCancel(); - ItemUT.replaceLore(itemStack, "%current%", current); - return new Slot(itemStack) { - @Override - public void onLeftClick() { - Menu menu = this.menu; - BaseComponent component = new TextComponent("▸ Enter the desired action on cancel, or "); - BaseComponent component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"cancel"); - component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "cancel")); - component.addExtra(component1); - component.addExtra(new TextComponent(" to go back. ")); - component1 = new TextComponent(ChatColor.GOLD.toString()+ChatColor.UNDERLINE+"Current value"); - component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, current)); - component.addExtra(component1); - player.spigot().sendMessage(component); - - this.menu.fakeClose(); - menu.registerListener(new Listener() { - @EventHandler - public void onChat(AsyncPlayerChatEvent event) { - if (!event.getPlayer().equals(player)) {return;} - HandlerList.unregisterAll(this); - event.setCancelled(true); - String message = event.getMessage().strip(); - if (!message.equalsIgnoreCase("cancel")) { - if (message.equalsIgnoreCase("null")) { - builder.setOnCancel(null); - } else { - builder.setOnCancel(message); - } - } - menu.openSync(); - } - }); - } - - @Override - public void onDrop() { - builder.setOnCancel(null); - this.menu.open(); - } - }; - } - } - return null; - } - }; - - protected final NPC npc; - - public CitizensActionsMenu(Player player, NPC npc) { - super(player, CONFIG.getRows(), CONFIG.getTitle(Objects.requireNonNull(SchematicBuilder.getBuilder(npc), npc.getName()+" is not a builder"))); - this.npc = npc; - } - - @Override - public void setContents() { - BuilderTrait builder = SchematicBuilder.getBuilder(npc); - Preconditions.checkArgument(builder != null, npc.getName()+" is not a builder"); - CONFIG.setSlots(this, builder); - } -} diff --git a/src/main/java/fr/weefle/constructor/menus/SchematicMenu.java b/src/main/java/fr/weefle/constructor/menus/SchematicMenu.java deleted file mode 100644 index e45cb89..0000000 --- a/src/main/java/fr/weefle/constructor/menus/SchematicMenu.java +++ /dev/null @@ -1,40 +0,0 @@ -package fr.weefle.constructor.menus; - -import fr.weefle.constructor.SchematicBuilder; -import mc.promcteam.engine.manager.api.menu.FileExplorerMenu; -import mc.promcteam.engine.manager.api.menu.Slot; -import org.bukkit.ChatColor; -import org.bukkit.Material; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; - -public class SchematicMenu extends FileExplorerMenu { - public SchematicMenu(Player player) { - super(player, SchematicBuilder.getInstance().config().getSchematicsFolder(), 6, "SchematicBuilder - Schematics", file -> { - String name = file.getName(); - if (!name.endsWith(".schem") && !name.endsWith(".nbt") && !name.endsWith(".yml")) {return null;} - return new SchematicSlot(name); - }); - } - - private static class SchematicSlot extends Slot { - private final String fileName; - - public SchematicSlot(String fileName) { - super(new ItemStack(fileName.endsWith(".yml") ? Material.PAPER : Material.MAP)); - this.fileName = fileName; - ItemMeta meta = this.itemStack.getItemMeta(); - if (meta != null) { - meta.setDisplayName(ChatColor.RESET+fileName); - this.itemStack.setItemMeta(meta); - } - } - - @Override - public void onLeftClick() { - Player player = menu.getPlayer(); - player.performCommand("schematicbuilder load " +((FileExplorerMenu) menu).getPath()+fileName); - } - } -} diff --git a/src/main/java/fr/weefle/constructor/menus/SettingsMenu.java b/src/main/java/fr/weefle/constructor/menus/SettingsMenu.java deleted file mode 100644 index 51c7382..0000000 --- a/src/main/java/fr/weefle/constructor/menus/SettingsMenu.java +++ /dev/null @@ -1,31 +0,0 @@ -package fr.weefle.constructor.menus; - -import com.google.common.base.Preconditions; -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.hooks.citizens.BuilderTrait; -import mc.promcteam.engine.manager.api.menu.Menu; -import net.citizensnpcs.api.npc.NPC; -import org.bukkit.entity.Player; - -import java.util.Objects; - -public class SettingsMenu extends Menu { - public static final BuilderMenu.YAMLBuilderMenu PLAYER = new BuilderMenu.YAMLBuilderMenu(SchematicBuilder.getInstance(), "menus/builder-settings.yml"); - public static final BuilderMenu.YAMLBuilderMenu ADMIN = new BuilderMenu.YAMLBuilderMenu(SchematicBuilder.getInstance(), "menus/builder-settings-admin.yml"); - - protected final NPC npc; - private final BuilderMenu.YAMLBuilderMenu yamlMenu; - - public SettingsMenu(Player player, NPC npc, BuilderMenu.YAMLBuilderMenu yamlMenu) { - super(player, yamlMenu.getRows(), yamlMenu.getTitle(Objects.requireNonNull(SchematicBuilder.getBuilder(npc), npc.getName()+" is not a builder"))); - this.npc = npc; - this.yamlMenu = yamlMenu; - } - - @Override - public void setContents() { - BuilderTrait builder = SchematicBuilder.getBuilder(npc); - Preconditions.checkArgument(builder != null, npc.getName()+" is not a builder"); - this.yamlMenu.setSlots(this, builder); - } -} diff --git a/src/main/java/fr/weefle/constructor/menus/TiersMenu.java b/src/main/java/fr/weefle/constructor/menus/TiersMenu.java deleted file mode 100644 index 6928335..0000000 --- a/src/main/java/fr/weefle/constructor/menus/TiersMenu.java +++ /dev/null @@ -1,106 +0,0 @@ -package fr.weefle.constructor.menus; - -import fr.weefle.constructor.SchematicBuilder; -import fr.weefle.constructor.schematic.Schematic; -import fr.weefle.constructor.schematic.SchematicTier; -import fr.weefle.constructor.schematic.YAMLSchematic; -import mc.promcteam.engine.manager.api.menu.Menu; -import mc.promcteam.engine.manager.api.menu.Slot; -import mc.promcteam.engine.manager.api.menu.YAMLListMenu; -import mc.promcteam.engine.utils.ItemUT; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; -import org.jetbrains.annotations.Nullable; - -import java.util.ArrayList; -import java.util.List; - -public class TiersMenu extends Menu { - public static final YAMLListMenu CONFIG = new YAMLListMenu<>(SchematicBuilder.getInstance(), "menus/tiers.yml") { - - @Override - protected String getTitle(String yamlTitle, Schematic schematic) {return yamlTitle;} - - @Override - public List getEntries(Schematic schematic) { - List slots; - if (schematic instanceof YAMLSchematic) { - YAMLSchematic yamlSchematic = (YAMLSchematic) schematic; - List tierList = yamlSchematic.getTiers(); - slots = new ArrayList<>(yamlSchematic.getTotalTiers()); - for (int tier = 0, tiers = tierList.size(), currentTier = yamlSchematic.getTier(); tier < tiers; tier++) { - ItemStack itemStack; - if (tier <= currentTier) { - itemStack = this.getItem("tier-completed"); - } else if (tier == currentTier + 1) { - itemStack = this.getItem("tier-in-progress"); - } else { - itemStack = this.getItem("tier-unattained"); - } - SchematicTier schematicTier = tierList.get(tier); - String displayName = schematicTier.getDisplayName(); - String tierString = String.valueOf(tier+1); - ItemUT.replaceLore(itemStack, "%name%", displayName); - ItemUT.replaceLore(itemStack, "%tier%", tierString); - ItemUT.replaceLore(itemStack, "%width%", String.valueOf(schematicTier.getWidth())); - ItemUT.replaceLore(itemStack, "%length%", String.valueOf(schematicTier.getLength())); - ItemUT.replaceLore(itemStack, "%height%", String.valueOf(schematicTier.getHeight())); - ItemUT.replaceLore(itemStack, "%lore%", schematicTier.getLore()); - ItemMeta meta = itemStack.getItemMeta(); - if (meta != null) { - meta.setDisplayName(meta.getDisplayName() - .replace("%name%", displayName) - .replace("%tier%", tierString)); - itemStack.setItemMeta(meta); - } - slots.add(new Slot(itemStack)); - } - } else { - slots = new ArrayList<>(1); - ItemStack itemStack = this.getItem("tier-in-progress"); - String displayName = schematic.getDisplayName(); - String tierString = "1"; - ItemUT.replaceLore(itemStack, "%name%", displayName); - ItemUT.replaceLore(itemStack, "%tier%", tierString); - ItemUT.replaceLore(itemStack, "%width%", String.valueOf(schematic.getWidth())); - ItemUT.replaceLore(itemStack, "%length%", String.valueOf(schematic.getLength())); - ItemUT.replaceLore(itemStack, "%height%", String.valueOf(schematic.getHeight())); - ItemUT.replaceLore(itemStack, "%lore%", new ArrayList<>()); - ItemMeta meta = itemStack.getItemMeta(); - if (meta != null) { - meta.setDisplayName(meta.getDisplayName() - .replace("%name%", displayName) - .replace("%tier%", tierString)); - itemStack.setItemMeta(meta); - } - slots.add(new Slot(itemStack)); - } - return slots; - } - - @Override - @Nullable - public Slot getSlot(String function, Schematic schematic, Player player) { - switch (function) { - case "prev-page": { - return new PreviousPageButton(this.getItem(function)); - } - case "next-page": { - return new NextPageButton(this.getItem(function)); - } - } - return null; - } - }; - - private final Schematic schematic; - - public TiersMenu(Player player, Schematic schematic) { - super(player, CONFIG.getRows(), CONFIG.getTitle(schematic)); - this.schematic = schematic; - } - - @Override - public void setContents() {CONFIG.setSlots(this, this.schematic);} -} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 6863dc0..5304f7b 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,22 +1,22 @@ -#ProSchematicBuilder configuration +#Blueprint configuration #The directory to look for schematics. -SchematicsFolder: plugins/ProSchematicBuilder/schematics/ +SchematicsFolder: plugins/${project.name}/schematics/ -#Customize the messages ProSchematicBuilder sends. , , , , and can be used as placeholders where appropriate. +#Customize the messages Blueprint sends. , , , , and can be used as placeholders where appropriate. DefaultTexts: - BuildStarted: "&a has started to build &f!" - BuildComplete: "&a has completed build of &f!" - BuildCanceled: "&c's build of &f&c has been canceled!" - BuildCollecting: "&6 needs &f &6more blocks to start building &f." - Survey: "&a needs these materials to build &f &aat this location." - Supply_List: "&f says: &6I still need the following items to build &f, &6:" - Supply_Need_Item: "&f says: &aI still need &f &afor &f&9. Right-click again to donate." - Supply_Dont_Need_Item: "&f says: &6I don't need any &f&6. Thanks anyway." - Supply_Item_Taken: "&f says: &aThanks for the &f , !" - CantWhileBuilding: "&c can't do this while building!" - NoSchematicSelected: "&c needs a selected schematic to do this." - CantMoveSchematic: "&c can't reposition an already started building." + BuildStarted: "&a has started to build &f!" + BuildComplete: "&a has completed build of &f!" + BuildCanceled: "&c's build of &f&c has been canceled!" + BuildCollecting: "&6 needs &f &6more blocks to start building &f." + Survey: "&a needs these materials to build &f &aat this location." + Supply_List: "&f says: &6I still need the following items to build &f, &6:" + Supply_Need_Item: "&f says: &aI still need &f &afor &f&9. Right-click again to donate." + Supply_Dont_Need_Item: "&f says: &6I don't need any &f&6. Thanks anyway." + Supply_Item_Taken: "&f says: &aThanks for the &f , !" + CantWhileBuilding: "&c can't do this while building!" + NoSchematicSelected: "&c needs a selected schematic to do this." + CantMoveSchematic: "&c can't reposition an already started building." DefaultOptions: MoveTimeoutSeconds: 1.0 diff --git a/src/main/resources/menus/build-pattern.yml b/src/main/resources/menus/build-pattern.yml index 6c884c7..c70b007 100644 --- a/src/main/resources/menus/build-pattern.yml +++ b/src/main/resources/menus/build-pattern.yml @@ -3,7 +3,7 @@ rows: 1 items: empty: display-name: "" - lore: [] + lore: [ ] material: "air" amount: 1 custom-model-data: 0 diff --git a/src/main/resources/menus/builder-settings-admin.yml b/src/main/resources/menus/builder-settings-admin.yml index 9581c1f..78946e7 100644 --- a/src/main/resources/menus/builder-settings-admin.yml +++ b/src/main/resources/menus/builder-settings-admin.yml @@ -3,7 +3,7 @@ rows: 2 items: empty: display-name: "" - lore: [] + lore: [ ] material: "air" amount: 1 custom-model-data: 0 diff --git a/src/main/resources/menus/builder-settings.yml b/src/main/resources/menus/builder-settings.yml index 1c96cbd..8269a3b 100644 --- a/src/main/resources/menus/builder-settings.yml +++ b/src/main/resources/menus/builder-settings.yml @@ -3,7 +3,7 @@ rows: 1 items: empty: display-name: "" - lore: [] + lore: [ ] material: "air" amount: 1 custom-model-data: 0 diff --git a/src/main/resources/menus/builder.yml b/src/main/resources/menus/builder.yml index aca943c..15f0ba6 100644 --- a/src/main/resources/menus/builder.yml +++ b/src/main/resources/menus/builder.yml @@ -4,7 +4,7 @@ rows: 2 items: empty: display-name: "" - lore: [] + lore: [ ] material: "air" amount: 1 custom-model-data: 0 @@ -18,7 +18,7 @@ items: custom-model-data: 0 schematic-null: display-name: "&7No schematic selected" - lore: [] + lore: [ ] material: "stone_bricks" amount: 1 custom-model-data: 0 @@ -38,13 +38,13 @@ items: custom-model-data: 0 trigger-start: display-name: "&aStart building" - lore: [] + lore: [ ] material: "green_wool" amount: 1 custom-model-data: 0 trigger-stop: display-name: "&aStop building" - lore: [] + lore: [ ] material: "red_wool" amount: 1 custom-model-data: 0 @@ -65,7 +65,7 @@ items: custom-model-data: 0 settings-player: display-name: "&aChange building settings" - lore: [] + lore: [ ] material: "command_block" amount: 1 custom-model-data: 0 @@ -79,13 +79,13 @@ items: custom-model-data: 0 new-schematic: display-name: "&aLoad new schematic" - lore: [] + lore: [ ] material: "book" amount: 1 custom-model-data: 0 existing-structure: display-name: "&aSelect existing structure" - lore: [] + lore: [ ] material: "book" amount: 1 custom-model-data: 0 diff --git a/src/main/resources/menus/citizens-actions.yml b/src/main/resources/menus/citizens-actions.yml index cbcca45..4b0c633 100644 --- a/src/main/resources/menus/citizens-actions.yml +++ b/src/main/resources/menus/citizens-actions.yml @@ -3,7 +3,7 @@ rows: 1 items: empty: display-name: "" - lore: [] + lore: [ ] material: "air" amount: 1 custom-model-data: 0 diff --git a/src/main/resources/menus/tiers.yml b/src/main/resources/menus/tiers.yml index 2e1fc6b..a2d0a1f 100644 --- a/src/main/resources/menus/tiers.yml +++ b/src/main/resources/menus/tiers.yml @@ -3,7 +3,7 @@ rows: 6 items: empty: display-name: "" - lore: [] + lore: [ ] material: "air" amount: 1 custom-model-data: 0 @@ -42,14 +42,14 @@ items: custom-model-data: 0 prev-page: display-name: "&3Previous Page" - lore: [] + lore: [ ] material: "player_head" skull-texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWE0YTliNzBhMjVhMjdkODE4OWU2MGQyN2VhOGNjOTYzMmMzNmI0NjkyODE1NWRlNzc1NWYzNjZlZjA0Yzg3NyJ9fX0=" amount: 1 custom-model-data: 0 next-page: display-name: "&3Next Page" - lore: [] + lore: [ ] material: "player_head" skull-texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTkxNTJjMmU5MWY0NzA0ODViZTIyMmRiNWQyYTg5NWNhZGM5MDMzMjZmNWM2NzFiZjhhNTU5MTQ5NjczYmU4MCJ9fX0=" amount: 1 diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 7cd15fa..91d579e 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,9 +1,9 @@ -name: ProSchematicBuilder -authors: [Weefle, Sentropic] +name: ${project.name} +authors: [ Weefle, Sentropic ] version: ${project.version} -main: fr.weefle.constructor.SchematicBuilder -depend: [ProMCCore, Citizens] -softdepend: [Denizen, dynmap, Towny] +main: com.promcteam.blueprint.Blueprint +depend: [ Codex, Citizens ] +softdepend: [ Denizen, dynmap, Towny ] api-version: 1.19 commands: schematicbuilder: From 625453bec7ebddeeb6d9d142e756a58689b10ee0 Mon Sep 17 00:00:00 2001 From: Travja Date: Tue, 26 Mar 2024 01:08:58 -0600 Subject: [PATCH 2/7] More renaming --- .../com/promcteam/blueprint/Blueprint.java | 2 +- .../java/com/promcteam/blueprint/Updater.java | 10 ++++---- .../blueprint/commands/LoadSubCommand.java | 2 +- .../blueprint/commands/PreviewSubCommand.java | 2 +- .../blueprint/commands/SurveySubCommand.java | 2 +- .../hooks/citizens/BuilderTrait.java | 4 ++-- .../PersistentBuildingPersistenceLoader.java | 2 +- .../SchematicPersistenceLoader.java | 2 +- .../blueprint/listener/BuilderListener.java | 6 ++--- .../blueprint/menus/BuildPatternMenu.java | 2 +- .../blueprint/menus/BuilderMenu.java | 24 +++++++++---------- .../blueprint/menus/CitizensActionsMenu.java | 14 +++++------ .../promcteam/blueprint/menus/TiersMenu.java | 4 ++-- .../blueprint/schematic/Schematic.java | 2 +- .../blueprint/schematic/SchematicEntity.java | 2 +- .../blueprint/schematic/SchematicTier.java | 4 ++-- .../blueprint/schematic/YAMLSchematic.java | 2 +- 17 files changed, 43 insertions(+), 43 deletions(-) diff --git a/src/main/java/com/promcteam/blueprint/Blueprint.java b/src/main/java/com/promcteam/blueprint/Blueprint.java index 744b150..c54cd1b 100644 --- a/src/main/java/com/promcteam/blueprint/Blueprint.java +++ b/src/main/java/com/promcteam/blueprint/Blueprint.java @@ -4,6 +4,7 @@ import com.denizenscript.denizen.objects.NPCTag; import com.google.common.collect.MapMaker; import com.promcteam.blueprint.hooks.DenizenSupport; +import com.promcteam.blueprint.hooks.citizens.BuilderTrait; import com.promcteam.blueprint.listener.SelectionListener; import com.promcteam.blueprint.listener.TraitListener; import com.promcteam.blueprint.nms.NMS; @@ -11,7 +12,6 @@ import com.promcteam.blueprint.schematic.Schematic; import com.promcteam.blueprint.schematic.YAMLSchematic; import com.promcteam.codex.manager.api.menu.YAMLMenu; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.npc.NPC; import org.bukkit.Bukkit; import org.bukkit.ChatColor; diff --git a/src/main/java/com/promcteam/blueprint/Updater.java b/src/main/java/com/promcteam/blueprint/Updater.java index 8166996..4f2575b 100644 --- a/src/main/java/com/promcteam/blueprint/Updater.java +++ b/src/main/java/com/promcteam/blueprint/Updater.java @@ -15,11 +15,11 @@ public class Updater extends Thread { - private int id; - public static boolean update = false; - private boolean log = false; - private boolean enabled = true; - public static boolean enabledingame = true; + private int id; + public static boolean update = false; + private boolean log = false; + private boolean enabled = true; + public static boolean enabledingame = true; private URL url; private final Blueprint m; diff --git a/src/main/java/com/promcteam/blueprint/commands/LoadSubCommand.java b/src/main/java/com/promcteam/blueprint/commands/LoadSubCommand.java index 6faba8f..a5c7506 100644 --- a/src/main/java/com/promcteam/blueprint/commands/LoadSubCommand.java +++ b/src/main/java/com/promcteam/blueprint/commands/LoadSubCommand.java @@ -1,8 +1,8 @@ package com.promcteam.blueprint.commands; -import com.promcteam.blueprint.schematic.Schematic; import com.promcteam.blueprint.Blueprint; import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.schematic.Schematic; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; diff --git a/src/main/java/com/promcteam/blueprint/commands/PreviewSubCommand.java b/src/main/java/com/promcteam/blueprint/commands/PreviewSubCommand.java index 467da0d..8135934 100644 --- a/src/main/java/com/promcteam/blueprint/commands/PreviewSubCommand.java +++ b/src/main/java/com/promcteam/blueprint/commands/PreviewSubCommand.java @@ -1,7 +1,7 @@ package com.promcteam.blueprint.commands; -import com.promcteam.blueprint.schematic.Schematic; import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.schematic.Schematic; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; diff --git a/src/main/java/com/promcteam/blueprint/commands/SurveySubCommand.java b/src/main/java/com/promcteam/blueprint/commands/SurveySubCommand.java index 09da462..2c2438a 100644 --- a/src/main/java/com/promcteam/blueprint/commands/SurveySubCommand.java +++ b/src/main/java/com/promcteam/blueprint/commands/SurveySubCommand.java @@ -1,8 +1,8 @@ package com.promcteam.blueprint.commands; import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.util.Util; import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.util.Util; import net.citizensnpcs.api.npc.NPC; import org.bukkit.ChatColor; import org.bukkit.command.Command; diff --git a/src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTrait.java b/src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTrait.java index f624b50..5f0edf2 100644 --- a/src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTrait.java +++ b/src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTrait.java @@ -78,7 +78,7 @@ public class BuilderTrait extends Trait implements Toggleable { int rotation = 0; @Persist("ContinueLoc") Location continueLoc = null; - // Fixme after server restart, builder should continue the building where it left off + // Fixme after server restart, builder should continue the building where it left off @Persist("Materials") @DelegatePersistence(MaterialIntegerMapPersistenceLoader.class) MaterialMapWrapper materials = new MaterialMapWrapper(new TreeMap<>()); @@ -274,7 +274,7 @@ public void handleRightClick(NPCRightClickEvent event) { } Material material = heldItem.getType(); Map requiredMaterials = this.schematic.getMaterials(); - int needed = + int needed = requiredMaterials.getOrDefault(material, 0) - this.materials.getHandle() .getOrDefault(material, 0); Config config = Blueprint.getInstance().config(); diff --git a/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java b/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java index 3d9f151..f1628d9 100644 --- a/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java +++ b/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java @@ -1,7 +1,7 @@ package com.promcteam.blueprint.hooks.citizens.persistence; -import com.promcteam.blueprint.PersistentBuilding; import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.PersistentBuilding; import net.citizensnpcs.api.persistence.Persister; import net.citizensnpcs.api.util.DataKey; diff --git a/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/SchematicPersistenceLoader.java b/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/SchematicPersistenceLoader.java index 4760580..2429acb 100644 --- a/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/SchematicPersistenceLoader.java +++ b/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/SchematicPersistenceLoader.java @@ -1,7 +1,7 @@ package com.promcteam.blueprint.hooks.citizens.persistence; -import com.promcteam.blueprint.schematic.Schematic; import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.schematic.Schematic; import net.citizensnpcs.api.persistence.Persister; import net.citizensnpcs.api.util.DataKey; diff --git a/src/main/java/com/promcteam/blueprint/listener/BuilderListener.java b/src/main/java/com/promcteam/blueprint/listener/BuilderListener.java index 11260b7..d6fc0b2 100644 --- a/src/main/java/com/promcteam/blueprint/listener/BuilderListener.java +++ b/src/main/java/com/promcteam/blueprint/listener/BuilderListener.java @@ -3,12 +3,12 @@ import com.palmergames.bukkit.towny.TownyAPI; import com.palmergames.bukkit.towny.object.Town; -import com.promcteam.blueprint.menus.ExcavatedMenu; -import com.promcteam.blueprint.menus.MaterialsMenu; import com.promcteam.blueprint.Blueprint; import com.promcteam.blueprint.hooks.citizens.BuilderTrait; import com.promcteam.blueprint.hooks.citizens.BuilderTrait.BuilderState; -import com.promcteam.codex.utils.ItemUT; +import com.promcteam.blueprint.menus.ExcavatedMenu; +import com.promcteam.blueprint.menus.MaterialsMenu; +import com.promcteam.codex.util.ItemUT; import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.event.NPCLeftClickEvent; import net.citizensnpcs.api.event.NPCRightClickEvent; diff --git a/src/main/java/com/promcteam/blueprint/menus/BuildPatternMenu.java b/src/main/java/com/promcteam/blueprint/menus/BuildPatternMenu.java index b7fa348..4471782 100644 --- a/src/main/java/com/promcteam/blueprint/menus/BuildPatternMenu.java +++ b/src/main/java/com/promcteam/blueprint/menus/BuildPatternMenu.java @@ -6,7 +6,7 @@ import com.promcteam.codex.manager.api.menu.Menu; import com.promcteam.codex.manager.api.menu.Slot; import com.promcteam.codex.manager.api.menu.YAMLMenu; -import com.promcteam.codex.utils.ItemUT; +import com.promcteam.codex.util.ItemUT; import net.citizensnpcs.api.npc.NPC; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; diff --git a/src/main/java/com/promcteam/blueprint/menus/BuilderMenu.java b/src/main/java/com/promcteam/blueprint/menus/BuilderMenu.java index 2494d49..3b13c0b 100644 --- a/src/main/java/com/promcteam/blueprint/menus/BuilderMenu.java +++ b/src/main/java/com/promcteam/blueprint/menus/BuilderMenu.java @@ -1,18 +1,18 @@ package com.promcteam.blueprint.menus; import com.google.common.base.Preconditions; -import com.promcteam.blueprint.schematic.Schematic; -import com.promcteam.blueprint.PersistentBuilding; import com.promcteam.blueprint.Blueprint; +import com.promcteam.blueprint.PersistentBuilding; import com.promcteam.blueprint.commands.ExcavatedSubCommand; import com.promcteam.blueprint.commands.PreviewSubCommand; import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.schematic.Schematic; import com.promcteam.blueprint.schematic.YAMLSchematic; import com.promcteam.blueprint.util.Util; import com.promcteam.codex.manager.api.menu.Menu; import com.promcteam.codex.manager.api.menu.Slot; import com.promcteam.codex.manager.api.menu.YAMLMenu; -import com.promcteam.codex.utils.ItemUT; +import com.promcteam.codex.util.ItemUT; import net.citizensnpcs.api.npc.NPC; import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.ClickEvent; @@ -58,7 +58,7 @@ public Slot getSlot(String function, BuilderTrait builder, Player player) { if (schematic == null) { return new Slot(this.getItem(function + "-null")); } - int tier = + int tier = schematic instanceof YAMLSchematic ? ((YAMLSchematic) schematic).getTier() + 1 : 1; ItemStack itemStack = this.getItem(function + "-notnull"); itemStack.setAmount(Math.max(1, tier)); @@ -150,7 +150,7 @@ public void onLeftClick() { return; } - Menu menu = this.menu; + Menu menu = this.menu; BaseComponent component = new TextComponent( "▸ While facing in each direction, left click to push the building, or right click to bring it closer."); player.spigot().sendMessage(component); @@ -333,8 +333,8 @@ public void onLeftClick() { @Override public void onLeftClick() { if (checkNotBusy(builder, player)) { - Menu menu = this.menu; - BaseComponent component = new TextComponent( + Menu menu = this.menu; + BaseComponent component = new TextComponent( "▸ Click on a block from the structure you want to select, or type "); BaseComponent component1 = new TextComponent(ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "cancel"); @@ -373,7 +373,7 @@ public void onBlockClick(PlayerInteractEvent event) { .getBuildingRegistry() .getPersistentBuilding(block.getLocation()); if (persistentBuilding == null) { - BaseComponent component = new TextComponent(ChatColor.RED + BaseComponent component = new TextComponent(ChatColor.RED + "This block doesn't belong to a existing building. Type "); BaseComponent component1 = new TextComponent( ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "cancel"); @@ -451,8 +451,8 @@ public void onLeftClick() { return new Slot(itemStack) { @Override public void onMiddleClick() { - Menu menu = this.menu; - BaseComponent component = new TextComponent("▸ Enter the desired layers, or "); + Menu menu = this.menu; + BaseComponent component = new TextComponent("▸ Enter the desired layers, or "); BaseComponent component1 = new TextComponent(ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "cancel"); component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "cancel")); @@ -588,8 +588,8 @@ public void onLeftClick() { return new Slot(itemStack) { @Override public void onMiddleClick() { - Menu menu = this.menu; - BaseComponent component = new TextComponent("▸ Enter the building timeout, or "); + Menu menu = this.menu; + BaseComponent component = new TextComponent("▸ Enter the building timeout, or "); BaseComponent component1 = new TextComponent(ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "cancel"); component1.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "cancel")); diff --git a/src/main/java/com/promcteam/blueprint/menus/CitizensActionsMenu.java b/src/main/java/com/promcteam/blueprint/menus/CitizensActionsMenu.java index 9dfbb72..153910f 100644 --- a/src/main/java/com/promcteam/blueprint/menus/CitizensActionsMenu.java +++ b/src/main/java/com/promcteam/blueprint/menus/CitizensActionsMenu.java @@ -6,7 +6,7 @@ import com.promcteam.codex.manager.api.menu.Menu; import com.promcteam.codex.manager.api.menu.Slot; import com.promcteam.codex.manager.api.menu.YAMLMenu; -import com.promcteam.codex.utils.ItemUT; +import com.promcteam.codex.util.ItemUT; import net.citizensnpcs.api.npc.NPC; import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.ClickEvent; @@ -41,8 +41,8 @@ public Slot getSlot(String function, BuilderTrait builder, Player player) { return new Slot(itemStack) { @Override public void onLeftClick() { - Menu menu = this.menu; - BaseComponent component = + Menu menu = this.menu; + BaseComponent component = new TextComponent("▸ Enter the desired action on start, or "); BaseComponent component1 = new TextComponent( ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "cancel"); @@ -93,8 +93,8 @@ public void onDrop() { return new Slot(itemStack) { @Override public void onLeftClick() { - Menu menu = this.menu; - BaseComponent component = + Menu menu = this.menu; + BaseComponent component = new TextComponent("▸ Enter the desired action on complete, or "); BaseComponent component1 = new TextComponent( ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "cancel"); @@ -145,8 +145,8 @@ public void onDrop() { return new Slot(itemStack) { @Override public void onLeftClick() { - Menu menu = this.menu; - BaseComponent component = + Menu menu = this.menu; + BaseComponent component = new TextComponent("▸ Enter the desired action on cancel, or "); BaseComponent component1 = new TextComponent( ChatColor.GOLD.toString() + ChatColor.UNDERLINE + "cancel"); diff --git a/src/main/java/com/promcteam/blueprint/menus/TiersMenu.java b/src/main/java/com/promcteam/blueprint/menus/TiersMenu.java index a55fedd..8f692ec 100644 --- a/src/main/java/com/promcteam/blueprint/menus/TiersMenu.java +++ b/src/main/java/com/promcteam/blueprint/menus/TiersMenu.java @@ -1,13 +1,13 @@ package com.promcteam.blueprint.menus; +import com.promcteam.blueprint.Blueprint; import com.promcteam.blueprint.schematic.Schematic; import com.promcteam.blueprint.schematic.SchematicTier; -import com.promcteam.blueprint.Blueprint; import com.promcteam.blueprint.schematic.YAMLSchematic; import com.promcteam.codex.manager.api.menu.Menu; import com.promcteam.codex.manager.api.menu.Slot; import com.promcteam.codex.manager.api.menu.YAMLListMenu; -import com.promcteam.codex.utils.ItemUT; +import com.promcteam.codex.util.ItemUT; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; diff --git a/src/main/java/com/promcteam/blueprint/schematic/Schematic.java b/src/main/java/com/promcteam/blueprint/schematic/Schematic.java index 772cc90..8723bda 100644 --- a/src/main/java/com/promcteam/blueprint/schematic/Schematic.java +++ b/src/main/java/com/promcteam/blueprint/schematic/Schematic.java @@ -1,8 +1,8 @@ package com.promcteam.blueprint.schematic; -import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; import com.promcteam.blueprint.Blueprint; import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.Material; diff --git a/src/main/java/com/promcteam/blueprint/schematic/SchematicEntity.java b/src/main/java/com/promcteam/blueprint/schematic/SchematicEntity.java index 1e3f6f3..a6ab86a 100644 --- a/src/main/java/com/promcteam/blueprint/schematic/SchematicEntity.java +++ b/src/main/java/com/promcteam/blueprint/schematic/SchematicEntity.java @@ -1,7 +1,7 @@ package com.promcteam.blueprint.schematic; -import com.promcteam.blueprint.nms.providers.NMSProvider; import com.promcteam.blueprint.nms.NMS; +import com.promcteam.blueprint.nms.providers.NMSProvider; import org.bukkit.Location; import org.bukkit.entity.Entity; import org.bukkit.event.entity.CreatureSpawnEvent; diff --git a/src/main/java/com/promcteam/blueprint/schematic/SchematicTier.java b/src/main/java/com/promcteam/blueprint/schematic/SchematicTier.java index 13944ab..6e5db47 100644 --- a/src/main/java/com/promcteam/blueprint/schematic/SchematicTier.java +++ b/src/main/java/com/promcteam/blueprint/schematic/SchematicTier.java @@ -1,10 +1,10 @@ package com.promcteam.blueprint.schematic; -import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; import com.promcteam.blueprint.Blueprint; import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; import com.promcteam.blueprint.util.Util; -import com.promcteam.codex.utils.StringUT; +import com.promcteam.codex.util.StringUT; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; diff --git a/src/main/java/com/promcteam/blueprint/schematic/YAMLSchematic.java b/src/main/java/com/promcteam/blueprint/schematic/YAMLSchematic.java index 04b0d43..1fa8996 100644 --- a/src/main/java/com/promcteam/blueprint/schematic/YAMLSchematic.java +++ b/src/main/java/com/promcteam/blueprint/schematic/YAMLSchematic.java @@ -1,8 +1,8 @@ package com.promcteam.blueprint.schematic; -import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; import com.promcteam.blueprint.Blueprint; import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; From 86fb65912d4204b0d37b169c66c75e52beea0fa4 Mon Sep 17 00:00:00 2001 From: Travja Date: Fri, 29 Mar 2024 21:37:52 -0600 Subject: [PATCH 3/7] Update parent --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2a6c2f5..855eb04 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ com.promcteam promc-parent - 1.20.4-SNAPSHOT + 1.20.4-R1-SNAPSHOT blueprint From db0163f52c223ce18975e445a9e46c7a6b1b6160 Mon Sep 17 00:00:00 2001 From: Travja Date: Wed, 3 Apr 2024 22:53:47 -0600 Subject: [PATCH 4/7] The Great Rename --- README.md | 6 ++-- doc/README.md | 6 ++-- pom.xml | 21 ++++++------ .../blueprint/API/BlueprintAPI.java | 6 ++-- .../blueprint/API/StructureUtil.java | 4 +-- .../blueprint/API/TileChecker.java | 4 +-- .../magemonkey}/blueprint/Blueprint.java | 20 ++++++------ .../blueprint/BuildingRegistry.java | 2 +- .../magemonkey}/blueprint/Config.java | 2 +- .../magemonkey}/blueprint/Metrics.java | 2 +- .../blueprint/PersistentBuilding.java | 4 +-- .../magemonkey}/blueprint/Updater.java | 2 +- .../blueprint/commands/AbstractCommand.java | 6 ++-- .../blueprint/commands/BuildSubCommand.java | 4 +-- .../blueprint/commands/CancelSubCommand.java | 6 ++-- .../commands/ExcavatedSubCommand.java | 4 +-- .../blueprint/commands/HyphenArgument.java | 2 +- .../blueprint/commands/InfoSubCommand.java | 4 +-- .../blueprint/commands/LoadSubCommand.java | 8 ++--- .../blueprint/commands/NPCSubCommand.java | 4 +-- .../blueprint/commands/PreviewSubCommand.java | 6 ++-- .../blueprint/commands/ReloadSubCommand.java | 4 +-- .../commands/SchematicBuilderCommand.java | 2 +- .../commands/StructureSubCommand.java | 6 ++-- .../blueprint/commands/SurveySubCommand.java | 8 ++--- .../blueprint/hooks/DenizenSupport.java | 2 +- .../blueprint/hooks/WorldEditManager.java | 2 +- .../citizens/BuilderTeleportStuckAction.java | 2 +- .../hooks/citizens/BuilderTrait.java | 32 +++++++++---------- .../MaterialIntegerMapPersistenceLoader.java | 2 +- .../persistence/MaterialMapWrapper.java | 2 +- .../PersistentBuildingPersistenceLoader.java | 6 ++-- .../SchematicPersistenceLoader.java | 6 ++-- .../blueprint/listener/BuilderListener.java | 14 ++++---- .../blueprint/listener/SelectionListener.java | 4 +-- .../blueprint/listener/TraitListener.java | 8 ++--- .../blueprint/listener/UpdaterListener.java | 4 +-- .../blueprint/menus/BuildPatternMenu.java | 14 ++++---- .../blueprint/menus/BuilderListMenu.java | 10 +++--- .../blueprint/menus/BuilderMenu.java | 26 +++++++-------- .../blueprint/menus/CitizensActionsMenu.java | 14 ++++---- .../blueprint/menus/ExcavatedMenu.java | 8 ++--- .../blueprint/menus/MaterialsMenu.java | 8 ++--- .../blueprint/menus/SchematicListMenu.java | 10 +++--- .../blueprint/menus/SchematicMenu.java | 8 ++--- .../blueprint/menus/SettingsMenu.java | 8 ++--- .../blueprint/menus/TiersMenu.java | 18 +++++------ .../blueprint/nbt/ByteArrayTag.java | 4 +-- .../magemonkey}/blueprint/nbt/ByteTag.java | 4 +-- .../blueprint/nbt/CompoundTag.java | 4 +-- .../blueprint/nbt/CompoundTagBuilder.java | 2 +- .../magemonkey}/blueprint/nbt/DoubleTag.java | 4 +-- .../magemonkey}/blueprint/nbt/EndTag.java | 4 +-- .../nbt/EndianSwitchableInputStream.java | 2 +- .../magemonkey}/blueprint/nbt/FloatTag.java | 4 +-- .../blueprint/nbt/IntArrayTag.java | 4 +-- .../magemonkey}/blueprint/nbt/IntTag.java | 4 +-- .../magemonkey}/blueprint/nbt/ListTag.java | 4 +-- .../blueprint/nbt/ListTagBuilder.java | 2 +- .../blueprint/nbt/LongArrayTag.java | 4 +-- .../magemonkey}/blueprint/nbt/LongTag.java | 4 +-- .../blueprint/nbt/NBTConstants.java | 4 +-- .../blueprint/nbt/NBTInputStream.java | 4 +-- .../blueprint/nbt/NBTOutputStream.java | 4 +-- .../magemonkey}/blueprint/nbt/NBTUtils.java | 2 +- .../magemonkey}/blueprint/nbt/NamedTag.java | 2 +- .../magemonkey}/blueprint/nbt/ShortTag.java | 4 +-- .../magemonkey}/blueprint/nbt/StringTag.java | 4 +-- .../magemonkey}/blueprint/nbt/Tag.java | 4 +-- .../magemonkey}/blueprint/nms/NMS.java | 12 +++---- .../blueprint/nms/TileChecker.java | 10 +++--- .../blueprint/nms/providers/NMSProvider.java | 2 +- .../nms/providers/NMSProvider_1_16.java | 2 +- .../nms/providers/NMSProvider_1_17.java | 2 +- .../nms/providers/NMSProvider_1_18.java | 2 +- .../nms/providers/NMSProvider_1_19.java | 2 +- .../blueprint/schematic/RawSchematic.java | 18 +++++------ .../blueprint/schematic/Schematic.java | 8 ++--- .../blueprint/schematic/SchematicEntity.java | 6 ++-- .../blueprint/schematic/SchematicTier.java | 12 +++---- .../blueprint/schematic/YAMLSchematic.java | 8 ++--- .../schematic/blocks/DataBuildBlock.java | 2 +- .../schematic/blocks/EmptyBuildBlock.java | 2 +- .../blueprint/schematic/blocks/EntityMap.java | 4 +-- .../schematic/blocks/TileBuildBlock.java | 2 +- .../magemonkey}/blueprint/util/Cuboid.java | 2 +- .../magemonkey}/blueprint/util/Util.java | 4 +-- src/main/resources/plugin.yml | 2 +- 88 files changed, 264 insertions(+), 267 deletions(-) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/API/BlueprintAPI.java (90%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/API/StructureUtil.java (92%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/API/TileChecker.java (76%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/Blueprint.java (92%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/BuildingRegistry.java (98%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/Config.java (98%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/Metrics.java (99%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/PersistentBuilding.java (96%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/Updater.java (99%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/commands/AbstractCommand.java (98%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/commands/BuildSubCommand.java (97%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/commands/CancelSubCommand.java (89%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/commands/ExcavatedSubCommand.java (94%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/commands/HyphenArgument.java (93%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/commands/InfoSubCommand.java (97%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/commands/LoadSubCommand.java (96%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/commands/NPCSubCommand.java (89%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/commands/PreviewSubCommand.java (94%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/commands/ReloadSubCommand.java (90%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/commands/SchematicBuilderCommand.java (97%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/commands/StructureSubCommand.java (93%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/commands/SurveySubCommand.java (89%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/hooks/DenizenSupport.java (95%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/hooks/WorldEditManager.java (97%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/hooks/citizens/BuilderTeleportStuckAction.java (95%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/hooks/citizens/BuilderTrait.java (96%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/hooks/citizens/persistence/MaterialIntegerMapPersistenceLoader.java (96%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/hooks/citizens/persistence/MaterialMapWrapper.java (84%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java (79%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/hooks/citizens/persistence/SchematicPersistenceLoader.java (82%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/listener/BuilderListener.java (95%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/listener/SelectionListener.java (97%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/listener/TraitListener.java (77%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/listener/UpdaterListener.java (88%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/menus/BuildPatternMenu.java (86%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/menus/BuilderListMenu.java (93%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/menus/BuilderMenu.java (98%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/menus/CitizensActionsMenu.java (97%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/menus/ExcavatedMenu.java (88%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/menus/MaterialsMenu.java (90%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/menus/SchematicListMenu.java (85%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/menus/SchematicMenu.java (87%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/menus/SettingsMenu.java (85%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/menus/TiersMenu.java (91%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/ByteArrayTag.java (97%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/ByteTag.java (96%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/CompoundTag.java (99%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/CompoundTagBuilder.java (99%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/DoubleTag.java (96%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/EndTag.java (95%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/EndianSwitchableInputStream.java (98%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/FloatTag.java (96%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/IntArrayTag.java (97%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/IntTag.java (96%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/ListTag.java (99%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/ListTagBuilder.java (98%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/LongArrayTag.java (97%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/LongTag.java (96%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/NBTConstants.java (97%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/NBTInputStream.java (98%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/NBTOutputStream.java (99%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/NBTUtils.java (99%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/NamedTag.java (93%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/ShortTag.java (96%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/StringTag.java (96%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nbt/Tag.java (95%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nms/NMS.java (92%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nms/TileChecker.java (89%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nms/providers/NMSProvider.java (99%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nms/providers/NMSProvider_1_16.java (98%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nms/providers/NMSProvider_1_17.java (91%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nms/providers/NMSProvider_1_18.java (51%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/nms/providers/NMSProvider_1_19.java (78%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/schematic/RawSchematic.java (97%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/schematic/Schematic.java (93%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/schematic/SchematicEntity.java (95%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/schematic/SchematicTier.java (91%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/schematic/YAMLSchematic.java (94%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/schematic/blocks/DataBuildBlock.java (87%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/schematic/blocks/EmptyBuildBlock.java (87%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/schematic/blocks/EntityMap.java (74%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/schematic/blocks/TileBuildBlock.java (85%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/util/Cuboid.java (99%) rename src/main/java/{com/promcteam => studio/magemonkey}/blueprint/util/Util.java (98%) diff --git a/README.md b/README.md index 9e5bf66..5f5039b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -[![Build](https://github.com/promcteam/blueprint/actions/workflows/maven.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/blueprint/) -[![Build](https://github.com/promcteam/blueprint/actions/workflows/release.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/blueprint/) -[![Build](https://github.com/promcteam/blueprint/actions/workflows/devbuild.yml/badge.svg?branch=dev)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/blueprint/1.0.0-R0.1-SNAPSHOT/) +[![Build](https://github.com/promcteam/blueprint/actions/workflows/maven.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/studio/magemonkey/blueprint/) +[![Build](https://github.com/promcteam/blueprint/actions/workflows/release.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/studio/magemonkey/blueprint/) +[![Build](https://github.com/promcteam/blueprint/actions/workflows/devbuild.yml/badge.svg?branch=dev)](https://s01.oss.sonatype.org/content/repositories/snapshots/studio/magemonkey/blueprint/1.0.0-R0.1-SNAPSHOT/) # Blueprint diff --git a/doc/README.md b/doc/README.md index 1edf994..785d253 100644 --- a/doc/README.md +++ b/doc/README.md @@ -1,6 +1,6 @@ -[![Build](https://github.com/promcteam/${project.artifactId}/actions/workflows/maven.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/${project.artifactId}/) -[![Build](https://github.com/promcteam/${project.artifactId}/actions/workflows/release.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/${project.artifactId}/) -[![Build](https://github.com/promcteam/${project.artifactId}/actions/workflows/devbuild.yml/badge.svg?branch=dev)](https://s01.oss.sonatype.org/content/repositories/snapshots/com/promcteam/${project.artifactId}/${project.version}/) +[![Build](https://github.com/promcteam/${project.artifactId}/actions/workflows/maven.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/studio/magemonkey/${project.artifactId}/) +[![Build](https://github.com/promcteam/${project.artifactId}/actions/workflows/release.yml/badge.svg?branch=main)](https://s01.oss.sonatype.org/content/repositories/snapshots/studio/magemonkey/${project.artifactId}/) +[![Build](https://github.com/promcteam/${project.artifactId}/actions/workflows/devbuild.yml/badge.svg?branch=dev)](https://s01.oss.sonatype.org/content/repositories/snapshots/studio/magemonkey/${project.artifactId}/${project.version}/) # ${project.name} diff --git a/pom.xml b/pom.xml index 855eb04..d02c22d 100644 --- a/pom.xml +++ b/pom.xml @@ -5,24 +5,21 @@ 4.0.0 - com.promcteam - promc-parent - 1.20.4-R1-SNAPSHOT + studio.magemonkey + magemonkey-parent + 1.20.4-SNAPSHOT blueprint + Blueprint 1.0.0-R0.1-SNAPSHOT + Let NPCs build your schematics and structures block by block with Citizens 1.8 1.0.0-R0.1-SNAPSHOT - Blueprint - Let NPCs build your schematics and structures block by block with Citizens - - - @@ -49,7 +46,7 @@ spigot-api - com.promcteam + studio.magemonkey codex @@ -148,9 +145,9 @@ - ProMCTeam - ProMCTeam - https://promcteam.com + Mage Monkey Studios + Mage Monkey Studios + https://magemonkey.studio diff --git a/src/main/java/com/promcteam/blueprint/API/BlueprintAPI.java b/src/main/java/studio/magemonkey/blueprint/API/BlueprintAPI.java similarity index 90% rename from src/main/java/com/promcteam/blueprint/API/BlueprintAPI.java rename to src/main/java/studio/magemonkey/blueprint/API/BlueprintAPI.java index d9d4a09..bdde65a 100644 --- a/src/main/java/com/promcteam/blueprint/API/BlueprintAPI.java +++ b/src/main/java/studio/magemonkey/blueprint/API/BlueprintAPI.java @@ -1,7 +1,7 @@ -package com.promcteam.blueprint.API; +package studio.magemonkey.blueprint.API; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.api.npc.NPCRegistry; diff --git a/src/main/java/com/promcteam/blueprint/API/StructureUtil.java b/src/main/java/studio/magemonkey/blueprint/API/StructureUtil.java similarity index 92% rename from src/main/java/com/promcteam/blueprint/API/StructureUtil.java rename to src/main/java/studio/magemonkey/blueprint/API/StructureUtil.java index a654d6a..565662d 100644 --- a/src/main/java/com/promcteam/blueprint/API/StructureUtil.java +++ b/src/main/java/studio/magemonkey/blueprint/API/StructureUtil.java @@ -1,7 +1,7 @@ -package com.promcteam.blueprint.API; +package studio.magemonkey.blueprint.API; import com.github.shynixn.structureblocklib.api.bukkit.StructureBlockLibApi; -import com.promcteam.blueprint.Blueprint; +import studio.magemonkey.blueprint.Blueprint; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.util.Vector; diff --git a/src/main/java/com/promcteam/blueprint/API/TileChecker.java b/src/main/java/studio/magemonkey/blueprint/API/TileChecker.java similarity index 76% rename from src/main/java/com/promcteam/blueprint/API/TileChecker.java rename to src/main/java/studio/magemonkey/blueprint/API/TileChecker.java index 2e9087e..2f05b4f 100644 --- a/src/main/java/com/promcteam/blueprint/API/TileChecker.java +++ b/src/main/java/studio/magemonkey/blueprint/API/TileChecker.java @@ -1,6 +1,6 @@ -package com.promcteam.blueprint.API; +package studio.magemonkey.blueprint.API; -import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; +import studio.magemonkey.blueprint.schematic.blocks.EmptyBuildBlock; import org.bukkit.block.Block; import java.lang.reflect.InvocationTargetException; diff --git a/src/main/java/com/promcteam/blueprint/Blueprint.java b/src/main/java/studio/magemonkey/blueprint/Blueprint.java similarity index 92% rename from src/main/java/com/promcteam/blueprint/Blueprint.java rename to src/main/java/studio/magemonkey/blueprint/Blueprint.java index c54cd1b..2225f33 100644 --- a/src/main/java/com/promcteam/blueprint/Blueprint.java +++ b/src/main/java/studio/magemonkey/blueprint/Blueprint.java @@ -1,17 +1,17 @@ -package com.promcteam.blueprint; +package studio.magemonkey.blueprint; import com.denizenscript.denizen.npc.traits.AssignmentTrait; import com.denizenscript.denizen.objects.NPCTag; import com.google.common.collect.MapMaker; -import com.promcteam.blueprint.hooks.DenizenSupport; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.blueprint.listener.SelectionListener; -import com.promcteam.blueprint.listener.TraitListener; -import com.promcteam.blueprint.nms.NMS; -import com.promcteam.blueprint.schematic.RawSchematic; -import com.promcteam.blueprint.schematic.Schematic; -import com.promcteam.blueprint.schematic.YAMLSchematic; -import com.promcteam.codex.manager.api.menu.YAMLMenu; +import studio.magemonkey.blueprint.hooks.DenizenSupport; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.listener.SelectionListener; +import studio.magemonkey.blueprint.listener.TraitListener; +import studio.magemonkey.blueprint.nms.NMS; +import studio.magemonkey.blueprint.schematic.RawSchematic; +import studio.magemonkey.blueprint.schematic.Schematic; +import studio.magemonkey.blueprint.schematic.YAMLSchematic; +import studio.magemonkey.codex.manager.api.menu.YAMLMenu; import net.citizensnpcs.api.npc.NPC; import org.bukkit.Bukkit; import org.bukkit.ChatColor; diff --git a/src/main/java/com/promcteam/blueprint/BuildingRegistry.java b/src/main/java/studio/magemonkey/blueprint/BuildingRegistry.java similarity index 98% rename from src/main/java/com/promcteam/blueprint/BuildingRegistry.java rename to src/main/java/studio/magemonkey/blueprint/BuildingRegistry.java index 6f3e121..8b04533 100644 --- a/src/main/java/com/promcteam/blueprint/BuildingRegistry.java +++ b/src/main/java/studio/magemonkey/blueprint/BuildingRegistry.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint; +package studio.magemonkey.blueprint; import org.bukkit.Location; import org.bukkit.configuration.file.YamlConfiguration; diff --git a/src/main/java/com/promcteam/blueprint/Config.java b/src/main/java/studio/magemonkey/blueprint/Config.java similarity index 98% rename from src/main/java/com/promcteam/blueprint/Config.java rename to src/main/java/studio/magemonkey/blueprint/Config.java index e9129b2..8cf56af 100644 --- a/src/main/java/com/promcteam/blueprint/Config.java +++ b/src/main/java/studio/magemonkey/blueprint/Config.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint; +package studio.magemonkey.blueprint; import org.bukkit.configuration.file.FileConfiguration; diff --git a/src/main/java/com/promcteam/blueprint/Metrics.java b/src/main/java/studio/magemonkey/blueprint/Metrics.java similarity index 99% rename from src/main/java/com/promcteam/blueprint/Metrics.java rename to src/main/java/studio/magemonkey/blueprint/Metrics.java index 708de3f..2fcb368 100644 --- a/src/main/java/com/promcteam/blueprint/Metrics.java +++ b/src/main/java/studio/magemonkey/blueprint/Metrics.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint; +package studio.magemonkey.blueprint; import org.bukkit.Bukkit; import org.bukkit.configuration.file.YamlConfiguration; diff --git a/src/main/java/com/promcteam/blueprint/PersistentBuilding.java b/src/main/java/studio/magemonkey/blueprint/PersistentBuilding.java similarity index 96% rename from src/main/java/com/promcteam/blueprint/PersistentBuilding.java rename to src/main/java/studio/magemonkey/blueprint/PersistentBuilding.java index bdb2c73..58e2c6f 100644 --- a/src/main/java/com/promcteam/blueprint/PersistentBuilding.java +++ b/src/main/java/studio/magemonkey/blueprint/PersistentBuilding.java @@ -1,6 +1,6 @@ -package com.promcteam.blueprint; +package studio.magemonkey.blueprint; -import com.promcteam.blueprint.schematic.YAMLSchematic; +import studio.magemonkey.blueprint.schematic.YAMLSchematic; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.World; diff --git a/src/main/java/com/promcteam/blueprint/Updater.java b/src/main/java/studio/magemonkey/blueprint/Updater.java similarity index 99% rename from src/main/java/com/promcteam/blueprint/Updater.java rename to src/main/java/studio/magemonkey/blueprint/Updater.java index 4f2575b..da87142 100644 --- a/src/main/java/com/promcteam/blueprint/Updater.java +++ b/src/main/java/studio/magemonkey/blueprint/Updater.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint; +package studio.magemonkey.blueprint; import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.YamlConfiguration; diff --git a/src/main/java/com/promcteam/blueprint/commands/AbstractCommand.java b/src/main/java/studio/magemonkey/blueprint/commands/AbstractCommand.java similarity index 98% rename from src/main/java/com/promcteam/blueprint/commands/AbstractCommand.java rename to src/main/java/studio/magemonkey/blueprint/commands/AbstractCommand.java index 9d079d7..a9e14af 100644 --- a/src/main/java/com/promcteam/blueprint/commands/AbstractCommand.java +++ b/src/main/java/studio/magemonkey/blueprint/commands/AbstractCommand.java @@ -1,7 +1,7 @@ -package com.promcteam.blueprint.commands; +package studio.magemonkey.blueprint.commands; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.api.trait.trait.Owner; diff --git a/src/main/java/com/promcteam/blueprint/commands/BuildSubCommand.java b/src/main/java/studio/magemonkey/blueprint/commands/BuildSubCommand.java similarity index 97% rename from src/main/java/com/promcteam/blueprint/commands/BuildSubCommand.java rename to src/main/java/studio/magemonkey/blueprint/commands/BuildSubCommand.java index 2f10d73..959b78a 100644 --- a/src/main/java/com/promcteam/blueprint/commands/BuildSubCommand.java +++ b/src/main/java/studio/magemonkey/blueprint/commands/BuildSubCommand.java @@ -1,6 +1,6 @@ -package com.promcteam.blueprint.commands; +package studio.magemonkey.blueprint.commands; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.npc.NPC; import org.bukkit.ChatColor; import org.bukkit.command.Command; diff --git a/src/main/java/com/promcteam/blueprint/commands/CancelSubCommand.java b/src/main/java/studio/magemonkey/blueprint/commands/CancelSubCommand.java similarity index 89% rename from src/main/java/com/promcteam/blueprint/commands/CancelSubCommand.java rename to src/main/java/studio/magemonkey/blueprint/commands/CancelSubCommand.java index 6a8c78b..94105d9 100644 --- a/src/main/java/com/promcteam/blueprint/commands/CancelSubCommand.java +++ b/src/main/java/studio/magemonkey/blueprint/commands/CancelSubCommand.java @@ -1,7 +1,7 @@ -package com.promcteam.blueprint.commands; +package studio.magemonkey.blueprint.commands; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.npc.NPC; import org.bukkit.ChatColor; import org.bukkit.command.Command; diff --git a/src/main/java/com/promcteam/blueprint/commands/ExcavatedSubCommand.java b/src/main/java/studio/magemonkey/blueprint/commands/ExcavatedSubCommand.java similarity index 94% rename from src/main/java/com/promcteam/blueprint/commands/ExcavatedSubCommand.java rename to src/main/java/studio/magemonkey/blueprint/commands/ExcavatedSubCommand.java index be45ded..19f17df 100644 --- a/src/main/java/com/promcteam/blueprint/commands/ExcavatedSubCommand.java +++ b/src/main/java/studio/magemonkey/blueprint/commands/ExcavatedSubCommand.java @@ -1,6 +1,6 @@ -package com.promcteam.blueprint.commands; +package studio.magemonkey.blueprint.commands; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.npc.NPC; import org.bukkit.ChatColor; import org.bukkit.Material; diff --git a/src/main/java/com/promcteam/blueprint/commands/HyphenArgument.java b/src/main/java/studio/magemonkey/blueprint/commands/HyphenArgument.java similarity index 93% rename from src/main/java/com/promcteam/blueprint/commands/HyphenArgument.java rename to src/main/java/studio/magemonkey/blueprint/commands/HyphenArgument.java index f0b11b6..59ffc60 100644 --- a/src/main/java/com/promcteam/blueprint/commands/HyphenArgument.java +++ b/src/main/java/studio/magemonkey/blueprint/commands/HyphenArgument.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.commands; +package studio.magemonkey.blueprint.commands; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/main/java/com/promcteam/blueprint/commands/InfoSubCommand.java b/src/main/java/studio/magemonkey/blueprint/commands/InfoSubCommand.java similarity index 97% rename from src/main/java/com/promcteam/blueprint/commands/InfoSubCommand.java rename to src/main/java/studio/magemonkey/blueprint/commands/InfoSubCommand.java index 8749713..ca36d69 100644 --- a/src/main/java/com/promcteam/blueprint/commands/InfoSubCommand.java +++ b/src/main/java/studio/magemonkey/blueprint/commands/InfoSubCommand.java @@ -1,6 +1,6 @@ -package com.promcteam.blueprint.commands; +package studio.magemonkey.blueprint.commands; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.npc.NPC; import org.bukkit.ChatColor; import org.bukkit.command.Command; diff --git a/src/main/java/com/promcteam/blueprint/commands/LoadSubCommand.java b/src/main/java/studio/magemonkey/blueprint/commands/LoadSubCommand.java similarity index 96% rename from src/main/java/com/promcteam/blueprint/commands/LoadSubCommand.java rename to src/main/java/studio/magemonkey/blueprint/commands/LoadSubCommand.java index a5c7506..6011d38 100644 --- a/src/main/java/com/promcteam/blueprint/commands/LoadSubCommand.java +++ b/src/main/java/studio/magemonkey/blueprint/commands/LoadSubCommand.java @@ -1,8 +1,8 @@ -package com.promcteam.blueprint.commands; +package studio.magemonkey.blueprint.commands; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.blueprint.schematic.Schematic; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.schematic.Schematic; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; diff --git a/src/main/java/com/promcteam/blueprint/commands/NPCSubCommand.java b/src/main/java/studio/magemonkey/blueprint/commands/NPCSubCommand.java similarity index 89% rename from src/main/java/com/promcteam/blueprint/commands/NPCSubCommand.java rename to src/main/java/studio/magemonkey/blueprint/commands/NPCSubCommand.java index a0cdf57..0f32bd9 100644 --- a/src/main/java/com/promcteam/blueprint/commands/NPCSubCommand.java +++ b/src/main/java/studio/magemonkey/blueprint/commands/NPCSubCommand.java @@ -1,6 +1,6 @@ -package com.promcteam.blueprint.commands; +package studio.magemonkey.blueprint.commands; -import com.promcteam.blueprint.menus.BuilderListMenu; +import studio.magemonkey.blueprint.menus.BuilderListMenu; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; diff --git a/src/main/java/com/promcteam/blueprint/commands/PreviewSubCommand.java b/src/main/java/studio/magemonkey/blueprint/commands/PreviewSubCommand.java similarity index 94% rename from src/main/java/com/promcteam/blueprint/commands/PreviewSubCommand.java rename to src/main/java/studio/magemonkey/blueprint/commands/PreviewSubCommand.java index 8135934..d6e1cf3 100644 --- a/src/main/java/com/promcteam/blueprint/commands/PreviewSubCommand.java +++ b/src/main/java/studio/magemonkey/blueprint/commands/PreviewSubCommand.java @@ -1,7 +1,7 @@ -package com.promcteam.blueprint.commands; +package studio.magemonkey.blueprint.commands; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.blueprint.schematic.Schematic; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.schematic.Schematic; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; diff --git a/src/main/java/com/promcteam/blueprint/commands/ReloadSubCommand.java b/src/main/java/studio/magemonkey/blueprint/commands/ReloadSubCommand.java similarity index 90% rename from src/main/java/com/promcteam/blueprint/commands/ReloadSubCommand.java rename to src/main/java/studio/magemonkey/blueprint/commands/ReloadSubCommand.java index 6bae357..d832f97 100644 --- a/src/main/java/com/promcteam/blueprint/commands/ReloadSubCommand.java +++ b/src/main/java/studio/magemonkey/blueprint/commands/ReloadSubCommand.java @@ -1,6 +1,6 @@ -package com.promcteam.blueprint.commands; +package studio.magemonkey.blueprint.commands; -import com.promcteam.blueprint.Blueprint; +import studio.magemonkey.blueprint.Blueprint; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; diff --git a/src/main/java/com/promcteam/blueprint/commands/SchematicBuilderCommand.java b/src/main/java/studio/magemonkey/blueprint/commands/SchematicBuilderCommand.java similarity index 97% rename from src/main/java/com/promcteam/blueprint/commands/SchematicBuilderCommand.java rename to src/main/java/studio/magemonkey/blueprint/commands/SchematicBuilderCommand.java index aba8387..a73205f 100644 --- a/src/main/java/com/promcteam/blueprint/commands/SchematicBuilderCommand.java +++ b/src/main/java/studio/magemonkey/blueprint/commands/SchematicBuilderCommand.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.commands; +package studio.magemonkey.blueprint.commands; import org.bukkit.ChatColor; import org.bukkit.command.Command; diff --git a/src/main/java/com/promcteam/blueprint/commands/StructureSubCommand.java b/src/main/java/studio/magemonkey/blueprint/commands/StructureSubCommand.java similarity index 93% rename from src/main/java/com/promcteam/blueprint/commands/StructureSubCommand.java rename to src/main/java/studio/magemonkey/blueprint/commands/StructureSubCommand.java index 1320e3d..ffeec7d 100644 --- a/src/main/java/com/promcteam/blueprint/commands/StructureSubCommand.java +++ b/src/main/java/studio/magemonkey/blueprint/commands/StructureSubCommand.java @@ -1,7 +1,7 @@ -package com.promcteam.blueprint.commands; +package studio.magemonkey.blueprint.commands; -import com.promcteam.blueprint.API.StructureUtil; -import com.promcteam.blueprint.listener.SelectionListener; +import studio.magemonkey.blueprint.API.StructureUtil; +import studio.magemonkey.blueprint.listener.SelectionListener; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; diff --git a/src/main/java/com/promcteam/blueprint/commands/SurveySubCommand.java b/src/main/java/studio/magemonkey/blueprint/commands/SurveySubCommand.java similarity index 89% rename from src/main/java/com/promcteam/blueprint/commands/SurveySubCommand.java rename to src/main/java/studio/magemonkey/blueprint/commands/SurveySubCommand.java index 2c2438a..194c1f2 100644 --- a/src/main/java/com/promcteam/blueprint/commands/SurveySubCommand.java +++ b/src/main/java/studio/magemonkey/blueprint/commands/SurveySubCommand.java @@ -1,8 +1,8 @@ -package com.promcteam.blueprint.commands; +package studio.magemonkey.blueprint.commands; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.blueprint.util.Util; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.util.Util; import net.citizensnpcs.api.npc.NPC; import org.bukkit.ChatColor; import org.bukkit.command.Command; diff --git a/src/main/java/com/promcteam/blueprint/hooks/DenizenSupport.java b/src/main/java/studio/magemonkey/blueprint/hooks/DenizenSupport.java similarity index 95% rename from src/main/java/com/promcteam/blueprint/hooks/DenizenSupport.java rename to src/main/java/studio/magemonkey/blueprint/hooks/DenizenSupport.java index aca0633..94f3b9f 100644 --- a/src/main/java/com/promcteam/blueprint/hooks/DenizenSupport.java +++ b/src/main/java/studio/magemonkey/blueprint/hooks/DenizenSupport.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.hooks; +package studio.magemonkey.blueprint.hooks; import com.denizenscript.denizen.npc.traits.AssignmentTrait; import com.denizenscript.denizen.objects.NPCTag; diff --git a/src/main/java/com/promcteam/blueprint/hooks/WorldEditManager.java b/src/main/java/studio/magemonkey/blueprint/hooks/WorldEditManager.java similarity index 97% rename from src/main/java/com/promcteam/blueprint/hooks/WorldEditManager.java rename to src/main/java/studio/magemonkey/blueprint/hooks/WorldEditManager.java index 88f17ae..6a87974 100644 --- a/src/main/java/com/promcteam/blueprint/hooks/WorldEditManager.java +++ b/src/main/java/studio/magemonkey/blueprint/hooks/WorldEditManager.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.hooks; +package studio.magemonkey.blueprint.hooks; /*import com.sk89q.worldedit.IncompleteRegionException; import com.sk89q.worldedit.LocalSession; diff --git a/src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTeleportStuckAction.java b/src/main/java/studio/magemonkey/blueprint/hooks/citizens/BuilderTeleportStuckAction.java similarity index 95% rename from src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTeleportStuckAction.java rename to src/main/java/studio/magemonkey/blueprint/hooks/citizens/BuilderTeleportStuckAction.java index 88eb12b..4da5ea9 100644 --- a/src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTeleportStuckAction.java +++ b/src/main/java/studio/magemonkey/blueprint/hooks/citizens/BuilderTeleportStuckAction.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.hooks.citizens; +package studio.magemonkey.blueprint.hooks.citizens; import net.citizensnpcs.api.ai.Navigator; import net.citizensnpcs.api.ai.StuckAction; diff --git a/src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTrait.java b/src/main/java/studio/magemonkey/blueprint/hooks/citizens/BuilderTrait.java similarity index 96% rename from src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTrait.java rename to src/main/java/studio/magemonkey/blueprint/hooks/citizens/BuilderTrait.java index 5f0edf2..f8a2f75 100644 --- a/src/main/java/com/promcteam/blueprint/hooks/citizens/BuilderTrait.java +++ b/src/main/java/studio/magemonkey/blueprint/hooks/citizens/BuilderTrait.java @@ -1,19 +1,19 @@ -package com.promcteam.blueprint.hooks.citizens; - -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.Config; -import com.promcteam.blueprint.PersistentBuilding; -import com.promcteam.blueprint.hooks.citizens.persistence.MaterialIntegerMapPersistenceLoader; -import com.promcteam.blueprint.hooks.citizens.persistence.MaterialMapWrapper; -import com.promcteam.blueprint.hooks.citizens.persistence.PersistentBuildingPersistenceLoader; -import com.promcteam.blueprint.hooks.citizens.persistence.SchematicPersistenceLoader; -import com.promcteam.blueprint.menus.BuilderMenu; -import com.promcteam.blueprint.nms.NMS; -import com.promcteam.blueprint.schematic.Schematic; -import com.promcteam.blueprint.schematic.SchematicEntity; -import com.promcteam.blueprint.schematic.YAMLSchematic; -import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; -import com.promcteam.blueprint.util.Util; +package studio.magemonkey.blueprint.hooks.citizens; + +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.Config; +import studio.magemonkey.blueprint.PersistentBuilding; +import studio.magemonkey.blueprint.hooks.citizens.persistence.MaterialIntegerMapPersistenceLoader; +import studio.magemonkey.blueprint.hooks.citizens.persistence.MaterialMapWrapper; +import studio.magemonkey.blueprint.hooks.citizens.persistence.PersistentBuildingPersistenceLoader; +import studio.magemonkey.blueprint.hooks.citizens.persistence.SchematicPersistenceLoader; +import studio.magemonkey.blueprint.menus.BuilderMenu; +import studio.magemonkey.blueprint.nms.NMS; +import studio.magemonkey.blueprint.schematic.Schematic; +import studio.magemonkey.blueprint.schematic.SchematicEntity; +import studio.magemonkey.blueprint.schematic.YAMLSchematic; +import studio.magemonkey.blueprint.schematic.blocks.EmptyBuildBlock; +import studio.magemonkey.blueprint.util.Util; import net.citizensnpcs.api.event.NPCRightClickEvent; import net.citizensnpcs.api.persistence.DelegatePersistence; import net.citizensnpcs.api.persistence.Persist; diff --git a/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/MaterialIntegerMapPersistenceLoader.java b/src/main/java/studio/magemonkey/blueprint/hooks/citizens/persistence/MaterialIntegerMapPersistenceLoader.java similarity index 96% rename from src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/MaterialIntegerMapPersistenceLoader.java rename to src/main/java/studio/magemonkey/blueprint/hooks/citizens/persistence/MaterialIntegerMapPersistenceLoader.java index 74dfda8..7dd58b4 100644 --- a/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/MaterialIntegerMapPersistenceLoader.java +++ b/src/main/java/studio/magemonkey/blueprint/hooks/citizens/persistence/MaterialIntegerMapPersistenceLoader.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.hooks.citizens.persistence; +package studio.magemonkey.blueprint.hooks.citizens.persistence; import net.citizensnpcs.api.persistence.Persister; import net.citizensnpcs.api.util.DataKey; diff --git a/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/MaterialMapWrapper.java b/src/main/java/studio/magemonkey/blueprint/hooks/citizens/persistence/MaterialMapWrapper.java similarity index 84% rename from src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/MaterialMapWrapper.java rename to src/main/java/studio/magemonkey/blueprint/hooks/citizens/persistence/MaterialMapWrapper.java index 5a3f254..1878d7e 100644 --- a/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/MaterialMapWrapper.java +++ b/src/main/java/studio/magemonkey/blueprint/hooks/citizens/persistence/MaterialMapWrapper.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.hooks.citizens.persistence; +package studio.magemonkey.blueprint.hooks.citizens.persistence; import org.bukkit.Material; diff --git a/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java b/src/main/java/studio/magemonkey/blueprint/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java similarity index 79% rename from src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java rename to src/main/java/studio/magemonkey/blueprint/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java index f1628d9..1409d29 100644 --- a/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java +++ b/src/main/java/studio/magemonkey/blueprint/hooks/citizens/persistence/PersistentBuildingPersistenceLoader.java @@ -1,7 +1,7 @@ -package com.promcteam.blueprint.hooks.citizens.persistence; +package studio.magemonkey.blueprint.hooks.citizens.persistence; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.PersistentBuilding; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.PersistentBuilding; import net.citizensnpcs.api.persistence.Persister; import net.citizensnpcs.api.util.DataKey; diff --git a/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/SchematicPersistenceLoader.java b/src/main/java/studio/magemonkey/blueprint/hooks/citizens/persistence/SchematicPersistenceLoader.java similarity index 82% rename from src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/SchematicPersistenceLoader.java rename to src/main/java/studio/magemonkey/blueprint/hooks/citizens/persistence/SchematicPersistenceLoader.java index 2429acb..d22b478 100644 --- a/src/main/java/com/promcteam/blueprint/hooks/citizens/persistence/SchematicPersistenceLoader.java +++ b/src/main/java/studio/magemonkey/blueprint/hooks/citizens/persistence/SchematicPersistenceLoader.java @@ -1,7 +1,7 @@ -package com.promcteam.blueprint.hooks.citizens.persistence; +package studio.magemonkey.blueprint.hooks.citizens.persistence; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.schematic.Schematic; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.schematic.Schematic; import net.citizensnpcs.api.persistence.Persister; import net.citizensnpcs.api.util.DataKey; diff --git a/src/main/java/com/promcteam/blueprint/listener/BuilderListener.java b/src/main/java/studio/magemonkey/blueprint/listener/BuilderListener.java similarity index 95% rename from src/main/java/com/promcteam/blueprint/listener/BuilderListener.java rename to src/main/java/studio/magemonkey/blueprint/listener/BuilderListener.java index d6fc0b2..fc5ddcc 100644 --- a/src/main/java/com/promcteam/blueprint/listener/BuilderListener.java +++ b/src/main/java/studio/magemonkey/blueprint/listener/BuilderListener.java @@ -1,14 +1,14 @@ -package com.promcteam.blueprint.listener; +package studio.magemonkey.blueprint.listener; import com.palmergames.bukkit.towny.TownyAPI; import com.palmergames.bukkit.towny.object.Town; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait.BuilderState; -import com.promcteam.blueprint.menus.ExcavatedMenu; -import com.promcteam.blueprint.menus.MaterialsMenu; -import com.promcteam.codex.util.ItemUT; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait.BuilderState; +import studio.magemonkey.blueprint.menus.ExcavatedMenu; +import studio.magemonkey.blueprint.menus.MaterialsMenu; +import studio.magemonkey.codex.util.ItemUT; import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.event.NPCLeftClickEvent; import net.citizensnpcs.api.event.NPCRightClickEvent; diff --git a/src/main/java/com/promcteam/blueprint/listener/SelectionListener.java b/src/main/java/studio/magemonkey/blueprint/listener/SelectionListener.java similarity index 97% rename from src/main/java/com/promcteam/blueprint/listener/SelectionListener.java rename to src/main/java/studio/magemonkey/blueprint/listener/SelectionListener.java index ef1d997..7d84c9d 100644 --- a/src/main/java/com/promcteam/blueprint/listener/SelectionListener.java +++ b/src/main/java/studio/magemonkey/blueprint/listener/SelectionListener.java @@ -1,6 +1,6 @@ -package com.promcteam.blueprint.listener; +package studio.magemonkey.blueprint.listener; -import com.promcteam.blueprint.util.Cuboid; +import studio.magemonkey.blueprint.util.Cuboid; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.Material; diff --git a/src/main/java/com/promcteam/blueprint/listener/TraitListener.java b/src/main/java/studio/magemonkey/blueprint/listener/TraitListener.java similarity index 77% rename from src/main/java/com/promcteam/blueprint/listener/TraitListener.java rename to src/main/java/studio/magemonkey/blueprint/listener/TraitListener.java index 1f1da03..3ea3564 100644 --- a/src/main/java/com/promcteam/blueprint/listener/TraitListener.java +++ b/src/main/java/studio/magemonkey/blueprint/listener/TraitListener.java @@ -1,8 +1,8 @@ -package com.promcteam.blueprint.listener; +package studio.magemonkey.blueprint.listener; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.commands.SchematicBuilderCommand; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.commands.SchematicBuilderCommand; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.trait.TraitInfo; import org.bukkit.Bukkit; diff --git a/src/main/java/com/promcteam/blueprint/listener/UpdaterListener.java b/src/main/java/studio/magemonkey/blueprint/listener/UpdaterListener.java similarity index 88% rename from src/main/java/com/promcteam/blueprint/listener/UpdaterListener.java rename to src/main/java/studio/magemonkey/blueprint/listener/UpdaterListener.java index 9895213..7be7ef8 100644 --- a/src/main/java/com/promcteam/blueprint/listener/UpdaterListener.java +++ b/src/main/java/studio/magemonkey/blueprint/listener/UpdaterListener.java @@ -1,6 +1,6 @@ -package com.promcteam.blueprint.listener; +package studio.magemonkey.blueprint.listener; -import com.promcteam.blueprint.Updater; +import studio.magemonkey.blueprint.Updater; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; diff --git a/src/main/java/com/promcteam/blueprint/menus/BuildPatternMenu.java b/src/main/java/studio/magemonkey/blueprint/menus/BuildPatternMenu.java similarity index 86% rename from src/main/java/com/promcteam/blueprint/menus/BuildPatternMenu.java rename to src/main/java/studio/magemonkey/blueprint/menus/BuildPatternMenu.java index 4471782..cc63769 100644 --- a/src/main/java/com/promcteam/blueprint/menus/BuildPatternMenu.java +++ b/src/main/java/studio/magemonkey/blueprint/menus/BuildPatternMenu.java @@ -1,12 +1,12 @@ -package com.promcteam.blueprint.menus; +package studio.magemonkey.blueprint.menus; import com.google.common.base.Preconditions; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.codex.manager.api.menu.Menu; -import com.promcteam.codex.manager.api.menu.Slot; -import com.promcteam.codex.manager.api.menu.YAMLMenu; -import com.promcteam.codex.util.ItemUT; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.codex.manager.api.menu.Menu; +import studio.magemonkey.codex.manager.api.menu.Slot; +import studio.magemonkey.codex.manager.api.menu.YAMLMenu; +import studio.magemonkey.codex.util.ItemUT; import net.citizensnpcs.api.npc.NPC; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; diff --git a/src/main/java/com/promcteam/blueprint/menus/BuilderListMenu.java b/src/main/java/studio/magemonkey/blueprint/menus/BuilderListMenu.java similarity index 93% rename from src/main/java/com/promcteam/blueprint/menus/BuilderListMenu.java rename to src/main/java/studio/magemonkey/blueprint/menus/BuilderListMenu.java index 2191432..e763eb1 100644 --- a/src/main/java/com/promcteam/blueprint/menus/BuilderListMenu.java +++ b/src/main/java/studio/magemonkey/blueprint/menus/BuilderListMenu.java @@ -1,9 +1,9 @@ -package com.promcteam.blueprint.menus; +package studio.magemonkey.blueprint.menus; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.codex.manager.api.menu.Menu; -import com.promcteam.codex.manager.api.menu.Slot; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.codex.manager.api.menu.Menu; +import studio.magemonkey.codex.manager.api.menu.Slot; import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.npc.NPC; import org.bukkit.ChatColor; diff --git a/src/main/java/com/promcteam/blueprint/menus/BuilderMenu.java b/src/main/java/studio/magemonkey/blueprint/menus/BuilderMenu.java similarity index 98% rename from src/main/java/com/promcteam/blueprint/menus/BuilderMenu.java rename to src/main/java/studio/magemonkey/blueprint/menus/BuilderMenu.java index 3b13c0b..fc5930d 100644 --- a/src/main/java/com/promcteam/blueprint/menus/BuilderMenu.java +++ b/src/main/java/studio/magemonkey/blueprint/menus/BuilderMenu.java @@ -1,18 +1,18 @@ -package com.promcteam.blueprint.menus; +package studio.magemonkey.blueprint.menus; import com.google.common.base.Preconditions; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.PersistentBuilding; -import com.promcteam.blueprint.commands.ExcavatedSubCommand; -import com.promcteam.blueprint.commands.PreviewSubCommand; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.blueprint.schematic.Schematic; -import com.promcteam.blueprint.schematic.YAMLSchematic; -import com.promcteam.blueprint.util.Util; -import com.promcteam.codex.manager.api.menu.Menu; -import com.promcteam.codex.manager.api.menu.Slot; -import com.promcteam.codex.manager.api.menu.YAMLMenu; -import com.promcteam.codex.util.ItemUT; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.PersistentBuilding; +import studio.magemonkey.blueprint.commands.ExcavatedSubCommand; +import studio.magemonkey.blueprint.commands.PreviewSubCommand; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.schematic.Schematic; +import studio.magemonkey.blueprint.schematic.YAMLSchematic; +import studio.magemonkey.blueprint.util.Util; +import studio.magemonkey.codex.manager.api.menu.Menu; +import studio.magemonkey.codex.manager.api.menu.Slot; +import studio.magemonkey.codex.manager.api.menu.YAMLMenu; +import studio.magemonkey.codex.util.ItemUT; import net.citizensnpcs.api.npc.NPC; import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.ClickEvent; diff --git a/src/main/java/com/promcteam/blueprint/menus/CitizensActionsMenu.java b/src/main/java/studio/magemonkey/blueprint/menus/CitizensActionsMenu.java similarity index 97% rename from src/main/java/com/promcteam/blueprint/menus/CitizensActionsMenu.java rename to src/main/java/studio/magemonkey/blueprint/menus/CitizensActionsMenu.java index 153910f..7b0a6b1 100644 --- a/src/main/java/com/promcteam/blueprint/menus/CitizensActionsMenu.java +++ b/src/main/java/studio/magemonkey/blueprint/menus/CitizensActionsMenu.java @@ -1,12 +1,12 @@ -package com.promcteam.blueprint.menus; +package studio.magemonkey.blueprint.menus; import com.google.common.base.Preconditions; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.codex.manager.api.menu.Menu; -import com.promcteam.codex.manager.api.menu.Slot; -import com.promcteam.codex.manager.api.menu.YAMLMenu; -import com.promcteam.codex.util.ItemUT; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.codex.manager.api.menu.Menu; +import studio.magemonkey.codex.manager.api.menu.Slot; +import studio.magemonkey.codex.manager.api.menu.YAMLMenu; +import studio.magemonkey.codex.util.ItemUT; import net.citizensnpcs.api.npc.NPC; import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.ClickEvent; diff --git a/src/main/java/com/promcteam/blueprint/menus/ExcavatedMenu.java b/src/main/java/studio/magemonkey/blueprint/menus/ExcavatedMenu.java similarity index 88% rename from src/main/java/com/promcteam/blueprint/menus/ExcavatedMenu.java rename to src/main/java/studio/magemonkey/blueprint/menus/ExcavatedMenu.java index 240d4a0..a91d1fa 100644 --- a/src/main/java/com/promcteam/blueprint/menus/ExcavatedMenu.java +++ b/src/main/java/studio/magemonkey/blueprint/menus/ExcavatedMenu.java @@ -1,8 +1,8 @@ -package com.promcteam.blueprint.menus; +package studio.magemonkey.blueprint.menus; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.codex.manager.api.menu.Menu; -import com.promcteam.codex.manager.api.menu.Slot; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.codex.manager.api.menu.Menu; +import studio.magemonkey.codex.manager.api.menu.Slot; import net.citizensnpcs.api.npc.NPC; import org.bukkit.Material; import org.bukkit.entity.Player; diff --git a/src/main/java/com/promcteam/blueprint/menus/MaterialsMenu.java b/src/main/java/studio/magemonkey/blueprint/menus/MaterialsMenu.java similarity index 90% rename from src/main/java/com/promcteam/blueprint/menus/MaterialsMenu.java rename to src/main/java/studio/magemonkey/blueprint/menus/MaterialsMenu.java index e9fa34d..efdfc37 100644 --- a/src/main/java/com/promcteam/blueprint/menus/MaterialsMenu.java +++ b/src/main/java/studio/magemonkey/blueprint/menus/MaterialsMenu.java @@ -1,8 +1,8 @@ -package com.promcteam.blueprint.menus; +package studio.magemonkey.blueprint.menus; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.codex.manager.api.menu.Menu; -import com.promcteam.codex.manager.api.menu.Slot; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.codex.manager.api.menu.Menu; +import studio.magemonkey.codex.manager.api.menu.Slot; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; diff --git a/src/main/java/com/promcteam/blueprint/menus/SchematicListMenu.java b/src/main/java/studio/magemonkey/blueprint/menus/SchematicListMenu.java similarity index 85% rename from src/main/java/com/promcteam/blueprint/menus/SchematicListMenu.java rename to src/main/java/studio/magemonkey/blueprint/menus/SchematicListMenu.java index 78f3c40..126bb42 100644 --- a/src/main/java/com/promcteam/blueprint/menus/SchematicListMenu.java +++ b/src/main/java/studio/magemonkey/blueprint/menus/SchematicListMenu.java @@ -1,9 +1,9 @@ -package com.promcteam.blueprint.menus; +package studio.magemonkey.blueprint.menus; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.commands.LoadSubCommand; -import com.promcteam.codex.manager.api.menu.FileExplorerMenu; -import com.promcteam.codex.manager.api.menu.Slot; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.commands.LoadSubCommand; +import studio.magemonkey.codex.manager.api.menu.FileExplorerMenu; +import studio.magemonkey.codex.manager.api.menu.Slot; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.entity.Player; diff --git a/src/main/java/com/promcteam/blueprint/menus/SchematicMenu.java b/src/main/java/studio/magemonkey/blueprint/menus/SchematicMenu.java similarity index 87% rename from src/main/java/com/promcteam/blueprint/menus/SchematicMenu.java rename to src/main/java/studio/magemonkey/blueprint/menus/SchematicMenu.java index b6066bd..b3150e8 100644 --- a/src/main/java/com/promcteam/blueprint/menus/SchematicMenu.java +++ b/src/main/java/studio/magemonkey/blueprint/menus/SchematicMenu.java @@ -1,8 +1,8 @@ -package com.promcteam.blueprint.menus; +package studio.magemonkey.blueprint.menus; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.codex.manager.api.menu.FileExplorerMenu; -import com.promcteam.codex.manager.api.menu.Slot; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.codex.manager.api.menu.FileExplorerMenu; +import studio.magemonkey.codex.manager.api.menu.Slot; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.entity.Player; diff --git a/src/main/java/com/promcteam/blueprint/menus/SettingsMenu.java b/src/main/java/studio/magemonkey/blueprint/menus/SettingsMenu.java similarity index 85% rename from src/main/java/com/promcteam/blueprint/menus/SettingsMenu.java rename to src/main/java/studio/magemonkey/blueprint/menus/SettingsMenu.java index 47acc85..8a7cc3e 100644 --- a/src/main/java/com/promcteam/blueprint/menus/SettingsMenu.java +++ b/src/main/java/studio/magemonkey/blueprint/menus/SettingsMenu.java @@ -1,9 +1,9 @@ -package com.promcteam.blueprint.menus; +package studio.magemonkey.blueprint.menus; import com.google.common.base.Preconditions; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.codex.manager.api.menu.Menu; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.codex.manager.api.menu.Menu; import net.citizensnpcs.api.npc.NPC; import org.bukkit.entity.Player; diff --git a/src/main/java/com/promcteam/blueprint/menus/TiersMenu.java b/src/main/java/studio/magemonkey/blueprint/menus/TiersMenu.java similarity index 91% rename from src/main/java/com/promcteam/blueprint/menus/TiersMenu.java rename to src/main/java/studio/magemonkey/blueprint/menus/TiersMenu.java index 8f692ec..ae72801 100644 --- a/src/main/java/com/promcteam/blueprint/menus/TiersMenu.java +++ b/src/main/java/studio/magemonkey/blueprint/menus/TiersMenu.java @@ -1,13 +1,13 @@ -package com.promcteam.blueprint.menus; +package studio.magemonkey.blueprint.menus; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.schematic.Schematic; -import com.promcteam.blueprint.schematic.SchematicTier; -import com.promcteam.blueprint.schematic.YAMLSchematic; -import com.promcteam.codex.manager.api.menu.Menu; -import com.promcteam.codex.manager.api.menu.Slot; -import com.promcteam.codex.manager.api.menu.YAMLListMenu; -import com.promcteam.codex.util.ItemUT; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.schematic.Schematic; +import studio.magemonkey.blueprint.schematic.SchematicTier; +import studio.magemonkey.blueprint.schematic.YAMLSchematic; +import studio.magemonkey.codex.manager.api.menu.Menu; +import studio.magemonkey.codex.manager.api.menu.Slot; +import studio.magemonkey.codex.manager.api.menu.YAMLListMenu; +import studio.magemonkey.codex.util.ItemUT; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; diff --git a/src/main/java/com/promcteam/blueprint/nbt/ByteArrayTag.java b/src/main/java/studio/magemonkey/blueprint/nbt/ByteArrayTag.java similarity index 97% rename from src/main/java/com/promcteam/blueprint/nbt/ByteArrayTag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/ByteArrayTag.java index 6cf771c..609119f 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/ByteArrayTag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/ByteArrayTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; import java.util.List; diff --git a/src/main/java/com/promcteam/blueprint/nbt/ByteTag.java b/src/main/java/studio/magemonkey/blueprint/nbt/ByteTag.java similarity index 96% rename from src/main/java/com/promcteam/blueprint/nbt/ByteTag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/ByteTag.java index 7543e8b..3ef6d53 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/ByteTag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/ByteTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; /** * The {@code TAG_Byte} tag. diff --git a/src/main/java/com/promcteam/blueprint/nbt/CompoundTag.java b/src/main/java/studio/magemonkey/blueprint/nbt/CompoundTag.java similarity index 99% rename from src/main/java/com/promcteam/blueprint/nbt/CompoundTag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/CompoundTag.java index 18f21f1..29c4e04 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/CompoundTag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/CompoundTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; import com.google.common.collect.Maps; diff --git a/src/main/java/com/promcteam/blueprint/nbt/CompoundTagBuilder.java b/src/main/java/studio/magemonkey/blueprint/nbt/CompoundTagBuilder.java similarity index 99% rename from src/main/java/com/promcteam/blueprint/nbt/CompoundTagBuilder.java rename to src/main/java/studio/magemonkey/blueprint/nbt/CompoundTagBuilder.java index 7e2b782..97f111d 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/CompoundTagBuilder.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/CompoundTagBuilder.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/com/promcteam/blueprint/nbt/DoubleTag.java b/src/main/java/studio/magemonkey/blueprint/nbt/DoubleTag.java similarity index 96% rename from src/main/java/com/promcteam/blueprint/nbt/DoubleTag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/DoubleTag.java index 96157a7..eb4d393 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/DoubleTag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/DoubleTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; /** * The {@code TAG_Double} tag. diff --git a/src/main/java/com/promcteam/blueprint/nbt/EndTag.java b/src/main/java/studio/magemonkey/blueprint/nbt/EndTag.java similarity index 95% rename from src/main/java/com/promcteam/blueprint/nbt/EndTag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/EndTag.java index f745369..8509028 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/EndTag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/EndTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; /** * The {@code TAG_End} tag. diff --git a/src/main/java/com/promcteam/blueprint/nbt/EndianSwitchableInputStream.java b/src/main/java/studio/magemonkey/blueprint/nbt/EndianSwitchableInputStream.java similarity index 98% rename from src/main/java/com/promcteam/blueprint/nbt/EndianSwitchableInputStream.java rename to src/main/java/studio/magemonkey/blueprint/nbt/EndianSwitchableInputStream.java index 0264133..2efaa8d 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/EndianSwitchableInputStream.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/EndianSwitchableInputStream.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; import java.io.*; import java.nio.ByteOrder; diff --git a/src/main/java/com/promcteam/blueprint/nbt/FloatTag.java b/src/main/java/studio/magemonkey/blueprint/nbt/FloatTag.java similarity index 96% rename from src/main/java/com/promcteam/blueprint/nbt/FloatTag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/FloatTag.java index f8a7ae7..bff190b 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/FloatTag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/FloatTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; /** * The {@code TAG_Float} tag. diff --git a/src/main/java/com/promcteam/blueprint/nbt/IntArrayTag.java b/src/main/java/studio/magemonkey/blueprint/nbt/IntArrayTag.java similarity index 97% rename from src/main/java/com/promcteam/blueprint/nbt/IntArrayTag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/IntArrayTag.java index 831eb0f..daac5d2 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/IntArrayTag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/IntArrayTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; import java.util.List; diff --git a/src/main/java/com/promcteam/blueprint/nbt/IntTag.java b/src/main/java/studio/magemonkey/blueprint/nbt/IntTag.java similarity index 96% rename from src/main/java/com/promcteam/blueprint/nbt/IntTag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/IntTag.java index 99d4e0f..7baa23f 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/IntTag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/IntTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; /** * The {@code TAG_Int} tag. diff --git a/src/main/java/com/promcteam/blueprint/nbt/ListTag.java b/src/main/java/studio/magemonkey/blueprint/nbt/ListTag.java similarity index 99% rename from src/main/java/com/promcteam/blueprint/nbt/ListTag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/ListTag.java index 89c207d..57d60b8 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/ListTag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/ListTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; import com.google.common.collect.Lists; diff --git a/src/main/java/com/promcteam/blueprint/nbt/ListTagBuilder.java b/src/main/java/studio/magemonkey/blueprint/nbt/ListTagBuilder.java similarity index 98% rename from src/main/java/com/promcteam/blueprint/nbt/ListTagBuilder.java rename to src/main/java/studio/magemonkey/blueprint/nbt/ListTagBuilder.java index 39b7066..f195cf4 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/ListTagBuilder.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/ListTagBuilder.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/main/java/com/promcteam/blueprint/nbt/LongArrayTag.java b/src/main/java/studio/magemonkey/blueprint/nbt/LongArrayTag.java similarity index 97% rename from src/main/java/com/promcteam/blueprint/nbt/LongArrayTag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/LongArrayTag.java index 787ef0b..2212f2d 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/LongArrayTag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/LongArrayTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -30,7 +30,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; import java.util.Arrays; import java.util.List; diff --git a/src/main/java/com/promcteam/blueprint/nbt/LongTag.java b/src/main/java/studio/magemonkey/blueprint/nbt/LongTag.java similarity index 96% rename from src/main/java/com/promcteam/blueprint/nbt/LongTag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/LongTag.java index 174b6ac..2e9e85d 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/LongTag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/LongTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; /** * The {@code TAG_Long} tag. diff --git a/src/main/java/com/promcteam/blueprint/nbt/NBTConstants.java b/src/main/java/studio/magemonkey/blueprint/nbt/NBTConstants.java similarity index 97% rename from src/main/java/com/promcteam/blueprint/nbt/NBTConstants.java rename to src/main/java/studio/magemonkey/blueprint/nbt/NBTConstants.java index 996ef19..4f444da 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/NBTConstants.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/NBTConstants.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; diff --git a/src/main/java/com/promcteam/blueprint/nbt/NBTInputStream.java b/src/main/java/studio/magemonkey/blueprint/nbt/NBTInputStream.java similarity index 98% rename from src/main/java/com/promcteam/blueprint/nbt/NBTInputStream.java rename to src/main/java/studio/magemonkey/blueprint/nbt/NBTInputStream.java index 69b854f..0c11c89 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/NBTInputStream.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/NBTInputStream.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; import java.io.Closeable; import java.io.IOException; diff --git a/src/main/java/com/promcteam/blueprint/nbt/NBTOutputStream.java b/src/main/java/studio/magemonkey/blueprint/nbt/NBTOutputStream.java similarity index 99% rename from src/main/java/com/promcteam/blueprint/nbt/NBTOutputStream.java rename to src/main/java/studio/magemonkey/blueprint/nbt/NBTOutputStream.java index 05d7e2f..4636a12 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/NBTOutputStream.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/NBTOutputStream.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; import java.io.Closeable; import java.io.DataOutputStream; diff --git a/src/main/java/com/promcteam/blueprint/nbt/NBTUtils.java b/src/main/java/studio/magemonkey/blueprint/nbt/NBTUtils.java similarity index 99% rename from src/main/java/com/promcteam/blueprint/nbt/NBTUtils.java rename to src/main/java/studio/magemonkey/blueprint/nbt/NBTUtils.java index 7fa3e0f..89c9d6b 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/NBTUtils.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/NBTUtils.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; import java.util.Map; diff --git a/src/main/java/com/promcteam/blueprint/nbt/NamedTag.java b/src/main/java/studio/magemonkey/blueprint/nbt/NamedTag.java similarity index 93% rename from src/main/java/com/promcteam/blueprint/nbt/NamedTag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/NamedTag.java index e6910ee..bbb4f1d 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/NamedTag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/NamedTag.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; /** diff --git a/src/main/java/com/promcteam/blueprint/nbt/ShortTag.java b/src/main/java/studio/magemonkey/blueprint/nbt/ShortTag.java similarity index 96% rename from src/main/java/com/promcteam/blueprint/nbt/ShortTag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/ShortTag.java index 9190ba0..bce0aa6 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/ShortTag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/ShortTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; /** * The {@code TAG_Short} tag. diff --git a/src/main/java/com/promcteam/blueprint/nbt/StringTag.java b/src/main/java/studio/magemonkey/blueprint/nbt/StringTag.java similarity index 96% rename from src/main/java/com/promcteam/blueprint/nbt/StringTag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/StringTag.java index d85e5e9..3645f62 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/StringTag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/StringTag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; /** * The {@code TAG_String} tag. diff --git a/src/main/java/com/promcteam/blueprint/nbt/Tag.java b/src/main/java/studio/magemonkey/blueprint/nbt/Tag.java similarity index 95% rename from src/main/java/com/promcteam/blueprint/nbt/Tag.java rename to src/main/java/studio/magemonkey/blueprint/nbt/Tag.java index 696b476..80798de 100644 --- a/src/main/java/com/promcteam/blueprint/nbt/Tag.java +++ b/src/main/java/studio/magemonkey/blueprint/nbt/Tag.java @@ -1,7 +1,7 @@ /* * JNBT License * - * Copyright (c) 2024 ProMCTeam + * Copyright (c) 2024 Mage Monkey Studios * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -package com.promcteam.blueprint.nbt; +package studio.magemonkey.blueprint.nbt; /** * Represents a NBT tag. diff --git a/src/main/java/com/promcteam/blueprint/nms/NMS.java b/src/main/java/studio/magemonkey/blueprint/nms/NMS.java similarity index 92% rename from src/main/java/com/promcteam/blueprint/nms/NMS.java rename to src/main/java/studio/magemonkey/blueprint/nms/NMS.java index 9b19691..19f19ed 100644 --- a/src/main/java/com/promcteam/blueprint/nms/NMS.java +++ b/src/main/java/studio/magemonkey/blueprint/nms/NMS.java @@ -1,7 +1,7 @@ -package com.promcteam.blueprint.nms; +package studio.magemonkey.blueprint.nms; -import com.promcteam.blueprint.nbt.*; -import com.promcteam.blueprint.nms.providers.*; +import studio.magemonkey.blueprint.nbt.*; +import studio.magemonkey.blueprint.nms.providers.*; import org.bukkit.Bukkit; import java.util.AbstractList; @@ -12,7 +12,7 @@ public class NMS { private static NMS instance; public String version; private NMSProvider nmsProvider; - private com.promcteam.blueprint.API.TileChecker checker; + private studio.magemonkey.blueprint.API.TileChecker checker; public boolean setInstance() { String[] packageArray = Bukkit.getServer().getClass().getPackage().getName().split("\\."); @@ -50,11 +50,11 @@ public void setVersion(String version) { this.version = version; } - public com.promcteam.blueprint.API.TileChecker getChecker() { + public studio.magemonkey.blueprint.API.TileChecker getChecker() { return checker; } - public void setChecker(com.promcteam.blueprint.API.TileChecker checker) { + public void setChecker(studio.magemonkey.blueprint.API.TileChecker checker) { this.checker = checker; } diff --git a/src/main/java/com/promcteam/blueprint/nms/TileChecker.java b/src/main/java/studio/magemonkey/blueprint/nms/TileChecker.java similarity index 89% rename from src/main/java/com/promcteam/blueprint/nms/TileChecker.java rename to src/main/java/studio/magemonkey/blueprint/nms/TileChecker.java index e9d99e4..b48f774 100644 --- a/src/main/java/com/promcteam/blueprint/nms/TileChecker.java +++ b/src/main/java/studio/magemonkey/blueprint/nms/TileChecker.java @@ -1,11 +1,11 @@ -package com.promcteam.blueprint.nms; +package studio.magemonkey.blueprint.nms; -import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; -import com.promcteam.blueprint.schematic.blocks.EntityMap; -import com.promcteam.blueprint.schematic.blocks.TileBuildBlock; +import studio.magemonkey.blueprint.schematic.blocks.EmptyBuildBlock; +import studio.magemonkey.blueprint.schematic.blocks.EntityMap; +import studio.magemonkey.blueprint.schematic.blocks.TileBuildBlock; import org.bukkit.block.Block; -public class TileChecker implements com.promcteam.blueprint.API.TileChecker { +public class TileChecker implements studio.magemonkey.blueprint.API.TileChecker { public void check(EmptyBuildBlock next, Block pending) { diff --git a/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider.java b/src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider.java similarity index 99% rename from src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider.java rename to src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider.java index 2f76331..ce2ac88 100644 --- a/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider.java +++ b/src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.nms.providers; +package studio.magemonkey.blueprint.nms.providers; import org.bukkit.World; import org.bukkit.event.entity.CreatureSpawnEvent; diff --git a/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_16.java b/src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider_1_16.java similarity index 98% rename from src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_16.java rename to src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider_1_16.java index 1606d96..f79d57f 100644 --- a/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_16.java +++ b/src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider_1_16.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.nms.providers; +package studio.magemonkey.blueprint.nms.providers; public class NMSProvider_1_16 extends NMSProvider { private final String version; diff --git a/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_17.java b/src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider_1_17.java similarity index 91% rename from src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_17.java rename to src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider_1_17.java index cdb9ae3..b81c91e 100644 --- a/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_17.java +++ b/src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider_1_17.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.nms.providers; +package studio.magemonkey.blueprint.nms.providers; public class NMSProvider_1_17 extends NMSProvider { diff --git a/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_18.java b/src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider_1_18.java similarity index 51% rename from src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_18.java rename to src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider_1_18.java index c8da4da..8d5991d 100644 --- a/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_18.java +++ b/src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider_1_18.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.nms.providers; +package studio.magemonkey.blueprint.nms.providers; public class NMSProvider_1_18 extends NMSProvider { } diff --git a/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_19.java b/src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider_1_19.java similarity index 78% rename from src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_19.java rename to src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider_1_19.java index d3a8fab..7e2f939 100644 --- a/src/main/java/com/promcteam/blueprint/nms/providers/NMSProvider_1_19.java +++ b/src/main/java/studio/magemonkey/blueprint/nms/providers/NMSProvider_1_19.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.nms.providers; +package studio.magemonkey.blueprint.nms.providers; public class NMSProvider_1_19 extends NMSProvider { diff --git a/src/main/java/com/promcteam/blueprint/schematic/RawSchematic.java b/src/main/java/studio/magemonkey/blueprint/schematic/RawSchematic.java similarity index 97% rename from src/main/java/com/promcteam/blueprint/schematic/RawSchematic.java rename to src/main/java/studio/magemonkey/blueprint/schematic/RawSchematic.java index 3f763ed..45f246a 100644 --- a/src/main/java/com/promcteam/blueprint/schematic/RawSchematic.java +++ b/src/main/java/studio/magemonkey/blueprint/schematic/RawSchematic.java @@ -1,14 +1,14 @@ -package com.promcteam.blueprint.schematic; +package studio.magemonkey.blueprint.schematic; import com.google.common.base.Preconditions; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.blueprint.nbt.*; -import com.promcteam.blueprint.nms.NMS; -import com.promcteam.blueprint.schematic.blocks.DataBuildBlock; -import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; -import com.promcteam.blueprint.schematic.blocks.EntityMap; -import com.promcteam.blueprint.schematic.blocks.TileBuildBlock; -import com.promcteam.blueprint.util.Util; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.nbt.*; +import studio.magemonkey.blueprint.nms.NMS; +import studio.magemonkey.blueprint.schematic.blocks.DataBuildBlock; +import studio.magemonkey.blueprint.schematic.blocks.EmptyBuildBlock; +import studio.magemonkey.blueprint.schematic.blocks.EntityMap; +import studio.magemonkey.blueprint.schematic.blocks.TileBuildBlock; +import studio.magemonkey.blueprint.util.Util; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; diff --git a/src/main/java/com/promcteam/blueprint/schematic/Schematic.java b/src/main/java/studio/magemonkey/blueprint/schematic/Schematic.java similarity index 93% rename from src/main/java/com/promcteam/blueprint/schematic/Schematic.java rename to src/main/java/studio/magemonkey/blueprint/schematic/Schematic.java index 8723bda..8a8d0c3 100644 --- a/src/main/java/com/promcteam/blueprint/schematic/Schematic.java +++ b/src/main/java/studio/magemonkey/blueprint/schematic/Schematic.java @@ -1,8 +1,8 @@ -package com.promcteam.blueprint.schematic; +package studio.magemonkey.blueprint.schematic; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.schematic.blocks.EmptyBuildBlock; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.Material; diff --git a/src/main/java/com/promcteam/blueprint/schematic/SchematicEntity.java b/src/main/java/studio/magemonkey/blueprint/schematic/SchematicEntity.java similarity index 95% rename from src/main/java/com/promcteam/blueprint/schematic/SchematicEntity.java rename to src/main/java/studio/magemonkey/blueprint/schematic/SchematicEntity.java index a6ab86a..1616a62 100644 --- a/src/main/java/com/promcteam/blueprint/schematic/SchematicEntity.java +++ b/src/main/java/studio/magemonkey/blueprint/schematic/SchematicEntity.java @@ -1,7 +1,7 @@ -package com.promcteam.blueprint.schematic; +package studio.magemonkey.blueprint.schematic; -import com.promcteam.blueprint.nms.NMS; -import com.promcteam.blueprint.nms.providers.NMSProvider; +import studio.magemonkey.blueprint.nms.NMS; +import studio.magemonkey.blueprint.nms.providers.NMSProvider; import org.bukkit.Location; import org.bukkit.entity.Entity; import org.bukkit.event.entity.CreatureSpawnEvent; diff --git a/src/main/java/com/promcteam/blueprint/schematic/SchematicTier.java b/src/main/java/studio/magemonkey/blueprint/schematic/SchematicTier.java similarity index 91% rename from src/main/java/com/promcteam/blueprint/schematic/SchematicTier.java rename to src/main/java/studio/magemonkey/blueprint/schematic/SchematicTier.java index 6e5db47..a2e1ffd 100644 --- a/src/main/java/com/promcteam/blueprint/schematic/SchematicTier.java +++ b/src/main/java/studio/magemonkey/blueprint/schematic/SchematicTier.java @@ -1,10 +1,10 @@ -package com.promcteam.blueprint.schematic; +package studio.magemonkey.blueprint.schematic; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; -import com.promcteam.blueprint.util.Util; -import com.promcteam.codex.util.StringUT; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.schematic.blocks.EmptyBuildBlock; +import studio.magemonkey.blueprint.util.Util; +import studio.magemonkey.codex.util.StringUT; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; diff --git a/src/main/java/com/promcteam/blueprint/schematic/YAMLSchematic.java b/src/main/java/studio/magemonkey/blueprint/schematic/YAMLSchematic.java similarity index 94% rename from src/main/java/com/promcteam/blueprint/schematic/YAMLSchematic.java rename to src/main/java/studio/magemonkey/blueprint/schematic/YAMLSchematic.java index 1fa8996..683fc6c 100644 --- a/src/main/java/com/promcteam/blueprint/schematic/YAMLSchematic.java +++ b/src/main/java/studio/magemonkey/blueprint/schematic/YAMLSchematic.java @@ -1,8 +1,8 @@ -package com.promcteam.blueprint.schematic; +package studio.magemonkey.blueprint.schematic; -import com.promcteam.blueprint.Blueprint; -import com.promcteam.blueprint.hooks.citizens.BuilderTrait; -import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; +import studio.magemonkey.blueprint.Blueprint; +import studio.magemonkey.blueprint.hooks.citizens.BuilderTrait; +import studio.magemonkey.blueprint.schematic.blocks.EmptyBuildBlock; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; diff --git a/src/main/java/com/promcteam/blueprint/schematic/blocks/DataBuildBlock.java b/src/main/java/studio/magemonkey/blueprint/schematic/blocks/DataBuildBlock.java similarity index 87% rename from src/main/java/com/promcteam/blueprint/schematic/blocks/DataBuildBlock.java rename to src/main/java/studio/magemonkey/blueprint/schematic/blocks/DataBuildBlock.java index 878e70b..56ca8d6 100644 --- a/src/main/java/com/promcteam/blueprint/schematic/blocks/DataBuildBlock.java +++ b/src/main/java/studio/magemonkey/blueprint/schematic/blocks/DataBuildBlock.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.schematic.blocks; +package studio.magemonkey.blueprint.schematic.blocks; import org.bukkit.block.data.BlockData; diff --git a/src/main/java/com/promcteam/blueprint/schematic/blocks/EmptyBuildBlock.java b/src/main/java/studio/magemonkey/blueprint/schematic/blocks/EmptyBuildBlock.java similarity index 87% rename from src/main/java/com/promcteam/blueprint/schematic/blocks/EmptyBuildBlock.java rename to src/main/java/studio/magemonkey/blueprint/schematic/blocks/EmptyBuildBlock.java index 6aab9e2..be037c2 100644 --- a/src/main/java/com/promcteam/blueprint/schematic/blocks/EmptyBuildBlock.java +++ b/src/main/java/studio/magemonkey/blueprint/schematic/blocks/EmptyBuildBlock.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.schematic.blocks; +package studio.magemonkey.blueprint.schematic.blocks; import org.bukkit.Material; import org.bukkit.block.data.BlockData; diff --git a/src/main/java/com/promcteam/blueprint/schematic/blocks/EntityMap.java b/src/main/java/studio/magemonkey/blueprint/schematic/blocks/EntityMap.java similarity index 74% rename from src/main/java/com/promcteam/blueprint/schematic/blocks/EntityMap.java rename to src/main/java/studio/magemonkey/blueprint/schematic/blocks/EntityMap.java index 0bbf835..6f72c73 100644 --- a/src/main/java/com/promcteam/blueprint/schematic/blocks/EntityMap.java +++ b/src/main/java/studio/magemonkey/blueprint/schematic/blocks/EntityMap.java @@ -1,6 +1,6 @@ -package com.promcteam.blueprint.schematic.blocks; +package studio.magemonkey.blueprint.schematic.blocks; -import com.promcteam.blueprint.nbt.Tag; +import studio.magemonkey.blueprint.nbt.Tag; import org.bukkit.block.data.BlockData; public class EntityMap extends DataBuildBlock { diff --git a/src/main/java/com/promcteam/blueprint/schematic/blocks/TileBuildBlock.java b/src/main/java/studio/magemonkey/blueprint/schematic/blocks/TileBuildBlock.java similarity index 85% rename from src/main/java/com/promcteam/blueprint/schematic/blocks/TileBuildBlock.java rename to src/main/java/studio/magemonkey/blueprint/schematic/blocks/TileBuildBlock.java index ee41287..98f78b1 100644 --- a/src/main/java/com/promcteam/blueprint/schematic/blocks/TileBuildBlock.java +++ b/src/main/java/studio/magemonkey/blueprint/schematic/blocks/TileBuildBlock.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.schematic.blocks; +package studio.magemonkey.blueprint.schematic.blocks; import org.bukkit.block.data.BlockData; diff --git a/src/main/java/com/promcteam/blueprint/util/Cuboid.java b/src/main/java/studio/magemonkey/blueprint/util/Cuboid.java similarity index 99% rename from src/main/java/com/promcteam/blueprint/util/Cuboid.java rename to src/main/java/studio/magemonkey/blueprint/util/Cuboid.java index cbd70b1..ef3db27 100644 --- a/src/main/java/com/promcteam/blueprint/util/Cuboid.java +++ b/src/main/java/studio/magemonkey/blueprint/util/Cuboid.java @@ -1,4 +1,4 @@ -package com.promcteam.blueprint.util; +package studio.magemonkey.blueprint.util; import org.bukkit.Bukkit; import org.bukkit.Chunk; diff --git a/src/main/java/com/promcteam/blueprint/util/Util.java b/src/main/java/studio/magemonkey/blueprint/util/Util.java similarity index 98% rename from src/main/java/com/promcteam/blueprint/util/Util.java rename to src/main/java/studio/magemonkey/blueprint/util/Util.java index 3ed8dff..a234cb7 100644 --- a/src/main/java/com/promcteam/blueprint/util/Util.java +++ b/src/main/java/studio/magemonkey/blueprint/util/Util.java @@ -1,6 +1,6 @@ -package com.promcteam.blueprint.util; +package studio.magemonkey.blueprint.util; -import com.promcteam.blueprint.schematic.blocks.EmptyBuildBlock; +import studio.magemonkey.blueprint.schematic.blocks.EmptyBuildBlock; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.util.Vector; diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 91d579e..e4c80fb 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,7 +1,7 @@ name: ${project.name} authors: [ Weefle, Sentropic ] version: ${project.version} -main: com.promcteam.blueprint.Blueprint +main: studio.magemonkey.blueprint.Blueprint depend: [ Codex, Citizens ] softdepend: [ Denizen, dynmap, Towny ] api-version: 1.19 From a968ab0c39f1d8e1966202af7d5bdfa132dfb000 Mon Sep 17 00:00:00 2001 From: Travja Date: Fri, 5 Apr 2024 21:56:40 -0600 Subject: [PATCH 5/7] Update workflows and README --- .github/notify_published.py | 4 ++-- .github/workflows/devbuild.yml | 4 ++-- .github/workflows/release.yml | 4 ++-- doc/README.md | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/notify_published.py b/.github/notify_published.py index ab24764..3603bb1 100644 --- a/.github/notify_published.py +++ b/.github/notify_published.py @@ -6,7 +6,7 @@ is_dev = len(sys.argv) >= 3 and bool(sys.argv[2]) search_string = \ - r'Uploaded to (ossrh|central): (https:\/\/s01\.oss\.sonatype\.org(:443)?\/.*?\/com\/promcteam\/(.*?)\/(.*?)\/(' \ + r'Uploaded to (ossrh|central): (https:\/\/s01\.oss\.sonatype\.org(:443)?\/.*?\/studio\/magemonkey\/(.*?)\/(.*?)\/(' \ r'.*?)(?" - name: Set up JDK 17 uses: actions/setup-java@v1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 20abb4a..7379b24 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,13 +8,13 @@ on: jobs: deploy: runs-on: ubuntu-latest - if: github.event.commits[0].author.name != 'Auto Bot' + if: github.event.commits[0].author.name != 'Build Monkey' steps: - uses: actions/checkout@v2 - name: Configure git run: | - git config user.name "Auto Bot" + git config user.name "Build Monkey" git config user.email "<>" - name: Set up JDK 17 uses: actions/setup-java@v1 diff --git a/doc/README.md b/doc/README.md index 785d253..e98c318 100644 --- a/doc/README.md +++ b/doc/README.md @@ -16,14 +16,14 @@ block. 1) Create a NPC with Citizens and give it the 'builder' trait. -Example: `/npc create Bob --trait builder` + Example: `/npc create Bob --trait builder` -2) Select the NPC, either by right clicking them or through `/npc select ` +2) Select the NPC, either by right-clicking them or through `/npc select ` 3) Load a schematic with `/blueprint load `. -Example: `/blueprint load house.schem` + Example: `/blueprint load house.schem` -This will load the included example file `house.schem`. + This will load the included example file `house.schem`. 4) Position the NPC in the center of the area in which it should build. 5) Start the NPC building with: `/blueprint build` From 4a53845f78b0f34b6320e7013a1b31bb8df2088d Mon Sep 17 00:00:00 2001 From: Travja Date: Fri, 5 Apr 2024 22:55:03 -0600 Subject: [PATCH 6/7] Update workflows --- .github/workflows/devbuild.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/devbuild.yml b/.github/workflows/devbuild.yml index 82abdc8..938d8b3 100644 --- a/.github/workflows/devbuild.yml +++ b/.github/workflows/devbuild.yml @@ -41,7 +41,7 @@ jobs: - name: Push to git run: | git add . - git reset settings.xml log.txt + git reset settings.xml log.txt toolchains.xml git commit -m "Update dev version" git push - name: Notify Discord diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7379b24..b9086ab 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -47,7 +47,7 @@ jobs: - name: Push to git run: | git add . - git reset settings.xml log.txt + git reset settings.xml log.txt toolchains.xml git commit -m "Update release version" git push git checkout dev From 9c6e2c3047a5ae9346b70291eb0f0e91a5bd3af3 Mon Sep 17 00:00:00 2001 From: Travja Date: Fri, 5 Apr 2024 23:29:48 -0600 Subject: [PATCH 7/7] Update workflows --- .github/notify_published.py | 17 +++++++++++++---- .github/update_readme.py | 1 - .github/workflows/devbuild.yml | 20 ++++++++++++++------ .github/workflows/maven.yml | 7 ++++--- .github/workflows/release.yml | 33 +++++++++++++++++++++------------ 5 files changed, 52 insertions(+), 26 deletions(-) diff --git a/.github/notify_published.py b/.github/notify_published.py index 3603bb1..987a3cf 100644 --- a/.github/notify_published.py +++ b/.github/notify_published.py @@ -1,8 +1,7 @@ import re -import sys - import requests import simplejson as json +import sys is_dev = len(sys.argv) >= 3 and bool(sys.argv[2]) search_string = \ @@ -21,15 +20,25 @@ def get_info(): version, name, url = get_info() +if is_dev: + split = version.split('-')[0:-2] + version = '-'.join(split) if not is_dev: - url = url.replace('https://s01.oss.sonatype.org:443/service/local/staging/deployByRepositoryId/studiomagemonkey-1002', - 'https://s01.oss.sonatype.org/service/local/repositories/releases/content') + url = re.sub( + 'https:\/\/s01\.oss\.sonatype\.org:443\/service\/local\/staging\/deployByRepositoryId\/studiomagemonkey-\d+', + 'https://s01.oss.sonatype.org/service/local/repositories/releases/content', + url) embed = { + 'username': 'Dev Mage', 'author': { 'name': 'New ' + ('Dev ' if is_dev else '') + 'Build Available!', 'url': 'https://github.com/promcteam/' + name }, + 'image': { + 'url': 'https://fabled.magemonkey.studio/' + ('dev_build.gif' if is_dev else 'release_build.gif') + }, 'title': version, + 'description': 'Click the link above to download the new build!', 'url': url, 'color': 5341129 } diff --git a/.github/update_readme.py b/.github/update_readme.py index 0ccad7a..45ba8ac 100644 --- a/.github/update_readme.py +++ b/.github/update_readme.py @@ -1,4 +1,3 @@ -import re import sys is_dev = len(sys.argv) >= 2 and bool(sys.argv[1]) diff --git a/.github/workflows/devbuild.yml b/.github/workflows/devbuild.yml index 938d8b3..711e43a 100644 --- a/.github/workflows/devbuild.yml +++ b/.github/workflows/devbuild.yml @@ -8,24 +8,27 @@ on: jobs: deploy: runs-on: ubuntu-latest - if: github.event.commits[0].author.name != 'Build Monkey' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + name: Checkout repo + with: + token: ${{ secrets.ACTIONS_PAT }} - name: Configure git run: | git config user.name "Build Monkey" git config user.email "<>" - name: Set up JDK 17 - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: + distribution: 'zulu' java-version: 17 server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml settings-path: ${{ github.workspace }} # location for the settings.xml file gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: 'Create settings.xml' - uses: s4u/maven-settings-action@v2.4.1 + uses: s4u/maven-settings-action@v2.8.0 with: githubServer: false servers: '[{"id": "ossrh", "username": "Travja", "password": "${{ secrets.SONATYPE_DEPLOY_KEY }}"}]' @@ -36,13 +39,18 @@ jobs: mvn clean deploy -P gpg,publish -DcreateChecksum=true 2>&1 | tee log.txt result_code=${PIPESTATUS[0]} exit $result_code + - name: Tag release version + run: | + version=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout) + git tag -a $version -m "Dev $version" - name: Update version run: python ./.github/update_version.py true - name: Push to git run: | git add . git reset settings.xml log.txt toolchains.xml - git commit -m "Update dev version" + git commit -m "[ci skip] Update dev version" git push + git push --tags - name: Notify Discord - run: pip install simplejson && python ./.github/notify_published.py ${{ secrets.WEBHOOK_URL }} + run: pip install simplejson && python ./.github/notify_published.py ${{ secrets.WEBHOOK_URL }} true diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index ffbe522..18abd99 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -12,17 +12,18 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up JDK 17 - uses: actions/setup-java@v1 + uses: actions/setup-java@v2 with: + distribution: 'zulu' java-version: 17 server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml settings-path: ${{ github.workspace }} # location for the settings.xml file gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: 'Create settings.xml' - uses: s4u/maven-settings-action@v2.4.1 + uses: s4u/maven-settings-action@v2.8.0 with: githubServer: false servers: '[{"id": "promcteam", "username": "Travja", "password": "${{ secrets.GITHUB_TOKEN }}"}]' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b9086ab..9a77078 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,24 +8,26 @@ on: jobs: deploy: runs-on: ubuntu-latest - if: github.event.commits[0].author.name != 'Build Monkey' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + with: + token: ${{ secrets.ACTIONS_PAT }} - name: Configure git run: | git config user.name "Build Monkey" git config user.email "<>" - name: Set up JDK 17 - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: + distribution: 'zulu' java-version: 17 server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml settings-path: ${{ github.workspace }} # location for the settings.xml file gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: 'Create settings.xml' - uses: s4u/maven-settings-action@v2.4.1 + uses: s4u/maven-settings-action@v2.8.0 with: githubServer: false servers: '[{"id": "ossrh", "username": "Travja", "password": "${{ secrets.SONATYPE_DEPLOY_KEY }}"}, {"id": "central", "username": "Travja", "password": "${{ secrets.SONATYPE_DEPLOY_KEY }}"}]' @@ -38,20 +40,27 @@ jobs: mvn clean deploy -P gpg,publish -DcreateChecksum=true 2>&1 | tee log.txt result_code=${PIPESTATUS[0]} exit $result_code - - name: Update version - run: python ./.github/update_version.py - - name: Update version - run: python ./.github/update_version.py true - name: Update README run: python ./.github/update_readme.py - - name: Push to git + - name: Tag release version run: | git add . - git reset settings.xml log.txt toolchains.xml - git commit -m "Update release version" + git commit -m "[ci skip] Update release version" + version=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout) + git tag -a $version -m "Release $version" git push + git push --tags + git fetch --unshallow --all git checkout dev git merge -X theirs --no-edit main + - name: Update version + run: python ./.github/update_version.py + - name: Update version + run: python ./.github/update_version.py true + - name: Push to git + run: | + git add . + git commit -m "[ci skip] Update version for development" git push - name: Notify Discord - run: pip install simplejson && python ./.github/notify_published.py ${{ secrets.WEBHOOK_URL }} + run: pip install simplejson && python ./.github/notify_published.py ${{ secrets.WEBHOOK_URL }} \ No newline at end of file