mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2024-12-22 17:27:38 +00:00
some codestyle application
This commit is contained in:
parent
dc11b74020
commit
195a13a23c
@ -10,9 +10,11 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
|||||||
* Class to prevent the above/below being removed from shaded/relocated dependencies via minimization
|
* Class to prevent the above/below being removed from shaded/relocated dependencies via minimization
|
||||||
*/
|
*/
|
||||||
final class DoNotMiniseThese {
|
final class DoNotMiniseThese {
|
||||||
|
|
||||||
private final Long2ObjectLinkedOpenHashMap a = null;
|
private final Long2ObjectLinkedOpenHashMap a = null;
|
||||||
private final LongArraySet b = null;
|
private final LongArraySet b = null;
|
||||||
private final LongIterator c = null;
|
private final LongIterator c = null;
|
||||||
private final LongSet d = null;
|
private final LongSet d = null;
|
||||||
private final Int2ObjectMap e = null;
|
private final Int2ObjectMap e = null;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -313,7 +313,8 @@ public class BukkitWorld extends AbstractWorld {
|
|||||||
public boolean generateTree(TreeGenerator.TreeType type, EditSession editSession, BlockVector3 pt) {
|
public boolean generateTree(TreeGenerator.TreeType type, EditSession editSession, BlockVector3 pt) {
|
||||||
//FAWE start - allow tree commands to be undone and obey region restrictions
|
//FAWE start - allow tree commands to be undone and obey region restrictions
|
||||||
return TaskManager.IMP.sync(() -> WorldEditPlugin.getInstance().getBukkitImplAdapter().generateTree(type, editSession, pt,
|
return TaskManager.IMP.sync(() -> WorldEditPlugin.getInstance().getBukkitImplAdapter().generateTree(type, editSession, pt,
|
||||||
getWorld()));
|
getWorld()
|
||||||
|
));
|
||||||
//FAWE end
|
//FAWE end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -306,7 +306,7 @@ public class WorldEditPlugin extends JavaPlugin {
|
|||||||
"The version of Spigot/Paper you are using doesn't support Tags. The usage of tags with WorldEdit will not work until you update.");
|
"The version of Spigot/Paper you are using doesn't support Tags. The usage of tags with WorldEdit will not work until you update.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// FAWE start
|
// FAWE start
|
||||||
private void setupBiomes() {
|
private void setupBiomes() {
|
||||||
if (this.adapter.value().isPresent()) {
|
if (this.adapter.value().isPresent()) {
|
||||||
|
@ -262,7 +262,7 @@ public interface BukkitImplAdapter<T> extends IBukkitAdapter {
|
|||||||
* Clears the contents of a Clearable block.
|
* Clears the contents of a Clearable block.
|
||||||
*
|
*
|
||||||
* @param world The world
|
* @param world The world
|
||||||
* @param pt The location
|
* @param pt The location
|
||||||
* @return If a block was cleared
|
* @return If a block was cleared
|
||||||
*/
|
*/
|
||||||
default boolean clearContainerBlockContents(World world, BlockVector3 pt) {
|
default boolean clearContainerBlockContents(World world, BlockVector3 pt) {
|
||||||
|
@ -68,27 +68,32 @@ import java.util.logging.Logger;
|
|||||||
public class StubServer implements Server {
|
public class StubServer implements Server {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull String getName() {
|
public @NotNull
|
||||||
|
String getName() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull String getVersion() {
|
public @NotNull
|
||||||
|
String getVersion() {
|
||||||
return "STUB";
|
return "STUB";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull String getBukkitVersion() {
|
public @NotNull
|
||||||
|
String getBukkitVersion() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull String getMinecraftVersion() {
|
public @NotNull
|
||||||
|
String getMinecraftVersion() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Collection<? extends Player> getOnlinePlayers() {
|
public @NotNull
|
||||||
|
Collection<? extends Player> getOnlinePlayers() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -113,12 +118,14 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull String getIp() {
|
public @NotNull
|
||||||
|
String getIp() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull String getWorldType() {
|
public @NotNull
|
||||||
|
String getWorldType() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,7 +170,8 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Set<OfflinePlayer> getWhitelistedPlayers() {
|
public @NotNull
|
||||||
|
Set<OfflinePlayer> getWhitelistedPlayers() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -182,12 +190,14 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull String getUpdateFolder() {
|
public @NotNull
|
||||||
|
String getUpdateFolder() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull File getUpdateFolderFile() {
|
public @NotNull
|
||||||
|
File getUpdateFolderFile() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -222,52 +232,62 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable Player getPlayer(@NotNull String s) {
|
public @Nullable
|
||||||
|
Player getPlayer(@NotNull String s) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable Player getPlayerExact(@NotNull String s) {
|
public @Nullable
|
||||||
|
Player getPlayerExact(@NotNull String s) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull List<Player> matchPlayer(@NotNull String s) {
|
public @NotNull
|
||||||
|
List<Player> matchPlayer(@NotNull String s) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable Player getPlayer(@NotNull UUID uuid) {
|
public @Nullable
|
||||||
|
Player getPlayer(@NotNull UUID uuid) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable UUID getPlayerUniqueId(@NotNull String s) {
|
public @Nullable
|
||||||
|
UUID getPlayerUniqueId(@NotNull String s) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull PluginManager getPluginManager() {
|
public @NotNull
|
||||||
|
PluginManager getPluginManager() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull BukkitScheduler getScheduler() {
|
public @NotNull
|
||||||
|
BukkitScheduler getScheduler() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull ServicesManager getServicesManager() {
|
public @NotNull
|
||||||
|
ServicesManager getServicesManager() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull List<World> getWorlds() {
|
public @NotNull
|
||||||
|
List<World> getWorlds() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable World createWorld(@NotNull WorldCreator worldCreator) {
|
public @Nullable
|
||||||
|
World createWorld(@NotNull WorldCreator worldCreator) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -282,17 +302,20 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable World getWorld(@NotNull String s) {
|
public @Nullable
|
||||||
|
World getWorld(@NotNull String s) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable World getWorld(@NotNull UUID uuid) {
|
public @Nullable
|
||||||
|
World getWorld(@NotNull UUID uuid) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable World getWorld(@NotNull NamespacedKey namespacedKey) {
|
public @Nullable
|
||||||
|
World getWorld(@NotNull NamespacedKey namespacedKey) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -301,17 +324,20 @@ public class StubServer implements Server {
|
|||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public @Nullable MapView getMap(int i) {
|
public @Nullable
|
||||||
|
MapView getMap(int i) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull MapView createMap(@NotNull World world) {
|
public @NotNull
|
||||||
|
MapView createMap(@NotNull World world) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull ItemStack createExplorerMap(
|
public @NotNull
|
||||||
|
ItemStack createExplorerMap(
|
||||||
@NotNull World world,
|
@NotNull World world,
|
||||||
@NotNull Location location,
|
@NotNull Location location,
|
||||||
@NotNull StructureType structureType
|
@NotNull StructureType structureType
|
||||||
@ -320,7 +346,8 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull ItemStack createExplorerMap(
|
public @NotNull
|
||||||
|
ItemStack createExplorerMap(
|
||||||
@NotNull World world,
|
@NotNull World world,
|
||||||
@NotNull Location location,
|
@NotNull Location location,
|
||||||
@NotNull StructureType structureType,
|
@NotNull StructureType structureType,
|
||||||
@ -341,12 +368,14 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Logger getLogger() {
|
public @NotNull
|
||||||
|
Logger getLogger() {
|
||||||
return Logger.getLogger("StubServer");
|
return Logger.getLogger("StubServer");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable PluginCommand getPluginCommand(@NotNull String s) {
|
public @Nullable
|
||||||
|
PluginCommand getPluginCommand(@NotNull String s) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -366,22 +395,26 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull List<Recipe> getRecipesFor(@NotNull ItemStack itemStack) {
|
public @NotNull
|
||||||
|
List<Recipe> getRecipesFor(@NotNull ItemStack itemStack) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable Recipe getRecipe(@NotNull NamespacedKey namespacedKey) {
|
public @Nullable
|
||||||
|
Recipe getRecipe(@NotNull NamespacedKey namespacedKey) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable Recipe getCraftingRecipe(final @NotNull ItemStack[] itemStacks, @NotNull final World world) {
|
public @Nullable
|
||||||
|
Recipe getCraftingRecipe(final @NotNull ItemStack[] itemStacks, @NotNull final World world) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull ItemStack craftItem(
|
public @NotNull
|
||||||
|
ItemStack craftItem(
|
||||||
final @NotNull ItemStack[] itemStacks,
|
final @NotNull ItemStack[] itemStacks,
|
||||||
@NotNull final World world,
|
@NotNull final World world,
|
||||||
@NotNull final Player player
|
@NotNull final Player player
|
||||||
@ -390,7 +423,8 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Iterator<Recipe> recipeIterator() {
|
public @NotNull
|
||||||
|
Iterator<Recipe> recipeIterator() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -410,7 +444,8 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Map<String, String[]> getCommandAliases() {
|
public @NotNull
|
||||||
|
Map<String, String[]> getCommandAliases() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -469,22 +504,26 @@ public class StubServer implements Server {
|
|||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public @NotNull OfflinePlayer getOfflinePlayer(@NotNull String s) {
|
public @NotNull
|
||||||
|
OfflinePlayer getOfflinePlayer(@NotNull String s) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable OfflinePlayer getOfflinePlayerIfCached(@NotNull String s) {
|
public @Nullable
|
||||||
|
OfflinePlayer getOfflinePlayerIfCached(@NotNull String s) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull OfflinePlayer getOfflinePlayer(@NotNull UUID uuid) {
|
public @NotNull
|
||||||
|
OfflinePlayer getOfflinePlayer(@NotNull UUID uuid) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Set<String> getIPBans() {
|
public @NotNull
|
||||||
|
Set<String> getIPBans() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -499,22 +538,26 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Set<OfflinePlayer> getBannedPlayers() {
|
public @NotNull
|
||||||
|
Set<OfflinePlayer> getBannedPlayers() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull BanList getBanList(BanList.@NotNull Type type) {
|
public @NotNull
|
||||||
|
BanList getBanList(BanList.@NotNull Type type) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Set<OfflinePlayer> getOperators() {
|
public @NotNull
|
||||||
|
Set<OfflinePlayer> getOperators() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull GameMode getDefaultGameMode() {
|
public @NotNull
|
||||||
|
GameMode getDefaultGameMode() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -524,37 +567,44 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull ConsoleCommandSender getConsoleSender() {
|
public @NotNull
|
||||||
|
ConsoleCommandSender getConsoleSender() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull File getWorldContainer() {
|
public @NotNull
|
||||||
|
File getWorldContainer() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull OfflinePlayer[] getOfflinePlayers() {
|
public @NotNull
|
||||||
|
OfflinePlayer[] getOfflinePlayers() {
|
||||||
return new OfflinePlayer[0];
|
return new OfflinePlayer[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Messenger getMessenger() {
|
public @NotNull
|
||||||
|
Messenger getMessenger() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull HelpMap getHelpMap() {
|
public @NotNull
|
||||||
|
HelpMap getHelpMap() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Inventory createInventory(@Nullable InventoryHolder inventoryHolder, @NotNull InventoryType inventoryType) {
|
public @NotNull
|
||||||
|
Inventory createInventory(@Nullable InventoryHolder inventoryHolder, @NotNull InventoryType inventoryType) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Inventory createInventory(
|
public @NotNull
|
||||||
|
Inventory createInventory(
|
||||||
@Nullable InventoryHolder inventoryHolder,
|
@Nullable InventoryHolder inventoryHolder,
|
||||||
@NotNull InventoryType inventoryType,
|
@NotNull InventoryType inventoryType,
|
||||||
@NotNull Component component
|
@NotNull Component component
|
||||||
@ -569,7 +619,8 @@ public class StubServer implements Server {
|
|||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Inventory createInventory(
|
public @NotNull
|
||||||
|
Inventory createInventory(
|
||||||
@Nullable InventoryHolder inventoryHolder,
|
@Nullable InventoryHolder inventoryHolder,
|
||||||
@NotNull InventoryType inventoryType,
|
@NotNull InventoryType inventoryType,
|
||||||
@NotNull String s
|
@NotNull String s
|
||||||
@ -578,12 +629,14 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Inventory createInventory(@Nullable InventoryHolder inventoryHolder, int i) throws IllegalArgumentException {
|
public @NotNull
|
||||||
|
Inventory createInventory(@Nullable InventoryHolder inventoryHolder, int i) throws IllegalArgumentException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Inventory createInventory(
|
public @NotNull
|
||||||
|
Inventory createInventory(
|
||||||
@Nullable InventoryHolder inventoryHolder,
|
@Nullable InventoryHolder inventoryHolder,
|
||||||
int i,
|
int i,
|
||||||
@NotNull Component component
|
@NotNull Component component
|
||||||
@ -598,13 +651,15 @@ public class StubServer implements Server {
|
|||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Inventory createInventory(@Nullable InventoryHolder inventoryHolder, int i, @NotNull String s) throws
|
public @NotNull
|
||||||
|
Inventory createInventory(@Nullable InventoryHolder inventoryHolder, int i, @NotNull String s) throws
|
||||||
IllegalArgumentException {
|
IllegalArgumentException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Merchant createMerchant(@Nullable Component component) {
|
public @NotNull
|
||||||
|
Merchant createMerchant(@Nullable Component component) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -613,7 +668,8 @@ public class StubServer implements Server {
|
|||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Merchant createMerchant(@Nullable String s) {
|
public @NotNull
|
||||||
|
Merchant createMerchant(@Nullable String s) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -648,7 +704,8 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Component motd() {
|
public @NotNull
|
||||||
|
Component motd() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -656,12 +713,14 @@ public class StubServer implements Server {
|
|||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public @NotNull String getMotd() {
|
public @NotNull
|
||||||
|
String getMotd() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable Component shutdownMessage() {
|
public @Nullable
|
||||||
|
Component shutdownMessage() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -669,7 +728,8 @@ public class StubServer implements Server {
|
|||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public @Nullable String getShutdownMessage() {
|
public @Nullable
|
||||||
|
String getShutdownMessage() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -679,27 +739,32 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull ItemFactory getItemFactory() {
|
public @NotNull
|
||||||
|
ItemFactory getItemFactory() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull ScoreboardManager getScoreboardManager() {
|
public @NotNull
|
||||||
|
ScoreboardManager getScoreboardManager() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable CachedServerIcon getServerIcon() {
|
public @Nullable
|
||||||
|
CachedServerIcon getServerIcon() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull CachedServerIcon loadServerIcon(@NotNull File file) throws IllegalArgumentException, Exception {
|
public @NotNull
|
||||||
|
CachedServerIcon loadServerIcon(@NotNull File file) throws IllegalArgumentException, Exception {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull CachedServerIcon loadServerIcon(@NotNull BufferedImage bufferedImage) throws IllegalArgumentException,
|
public @NotNull
|
||||||
|
CachedServerIcon loadServerIcon(@NotNull BufferedImage bufferedImage) throws IllegalArgumentException,
|
||||||
Exception {
|
Exception {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -725,7 +790,8 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull BossBar createBossBar(
|
public @NotNull
|
||||||
|
BossBar createBossBar(
|
||||||
@Nullable String s,
|
@Nullable String s,
|
||||||
@NotNull BarColor barColor,
|
@NotNull BarColor barColor,
|
||||||
@NotNull BarStyle barStyle,
|
@NotNull BarStyle barStyle,
|
||||||
@ -735,7 +801,8 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull KeyedBossBar createBossBar(
|
public @NotNull
|
||||||
|
KeyedBossBar createBossBar(
|
||||||
@NotNull NamespacedKey namespacedKey,
|
@NotNull NamespacedKey namespacedKey,
|
||||||
@Nullable String s,
|
@Nullable String s,
|
||||||
@NotNull BarColor barColor,
|
@NotNull BarColor barColor,
|
||||||
@ -746,12 +813,14 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Iterator<KeyedBossBar> getBossBars() {
|
public @NotNull
|
||||||
|
Iterator<KeyedBossBar> getBossBars() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable KeyedBossBar getBossBar(@NotNull NamespacedKey namespacedKey) {
|
public @Nullable
|
||||||
|
KeyedBossBar getBossBar(@NotNull NamespacedKey namespacedKey) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -761,17 +830,20 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable Entity getEntity(@NotNull UUID uuid) {
|
public @Nullable
|
||||||
|
Entity getEntity(@NotNull UUID uuid) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull double[] getTPS() {
|
public @NotNull
|
||||||
|
double[] getTPS() {
|
||||||
return new double[0];
|
return new double[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull long[] getTickTimes() {
|
public @NotNull
|
||||||
|
long[] getTickTimes() {
|
||||||
return new long[0];
|
return new long[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -781,37 +853,44 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull CommandMap getCommandMap() {
|
public @NotNull
|
||||||
|
CommandMap getCommandMap() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable Advancement getAdvancement(@NotNull NamespacedKey namespacedKey) {
|
public @Nullable
|
||||||
|
Advancement getAdvancement(@NotNull NamespacedKey namespacedKey) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Iterator<Advancement> advancementIterator() {
|
public @NotNull
|
||||||
|
Iterator<Advancement> advancementIterator() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull BlockData createBlockData(@NotNull Material material) {
|
public @NotNull
|
||||||
|
BlockData createBlockData(@NotNull Material material) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull BlockData createBlockData(@NotNull Material material, @Nullable Consumer<BlockData> consumer) {
|
public @NotNull
|
||||||
|
BlockData createBlockData(@NotNull Material material, @Nullable Consumer<BlockData> consumer) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull BlockData createBlockData(@NotNull String s) throws IllegalArgumentException {
|
public @NotNull
|
||||||
|
BlockData createBlockData(@NotNull String s) throws IllegalArgumentException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull BlockData createBlockData(@Nullable Material material, @Nullable String s) throws IllegalArgumentException {
|
public @NotNull
|
||||||
|
BlockData createBlockData(@Nullable Material material, @Nullable String s) throws IllegalArgumentException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -821,17 +900,20 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull <T extends Keyed> Iterable<Tag<T>> getTags(@NotNull String s, @NotNull Class<T> aClass) {
|
public @NotNull
|
||||||
|
<T extends Keyed> Iterable<Tag<T>> getTags(@NotNull String s, @NotNull Class<T> aClass) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable LootTable getLootTable(@NotNull NamespacedKey namespacedKey) {
|
public @Nullable
|
||||||
|
LootTable getLootTable(@NotNull NamespacedKey namespacedKey) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull List<Entity> selectEntities(@NotNull CommandSender commandSender, @NotNull String s) throws
|
public @NotNull
|
||||||
|
List<Entity> selectEntities(@NotNull CommandSender commandSender, @NotNull String s) throws
|
||||||
IllegalArgumentException {
|
IllegalArgumentException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -840,12 +922,14 @@ public class StubServer implements Server {
|
|||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public @NotNull UnsafeValues getUnsafe() {
|
public @NotNull
|
||||||
|
UnsafeValues getUnsafe() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Spigot spigot() {
|
public @NotNull
|
||||||
|
Spigot spigot() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -865,22 +949,26 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull String getPermissionMessage() {
|
public @NotNull
|
||||||
|
String getPermissionMessage() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull PlayerProfile createProfile(@NotNull UUID uuid) {
|
public @NotNull
|
||||||
|
PlayerProfile createProfile(@NotNull UUID uuid) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull PlayerProfile createProfile(@NotNull String s) {
|
public @NotNull
|
||||||
|
PlayerProfile createProfile(@NotNull String s) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull PlayerProfile createProfile(@Nullable UUID uuid, @Nullable String s) {
|
public @NotNull
|
||||||
|
PlayerProfile createProfile(@Nullable UUID uuid, @Nullable String s) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -895,17 +983,20 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull MobGoals getMobGoals() {
|
public @NotNull
|
||||||
|
MobGoals getMobGoals() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull DatapackManager getDatapackManager() {
|
public @NotNull
|
||||||
|
DatapackManager getDatapackManager() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Iterable<? extends Audience> audiences() {
|
public @NotNull
|
||||||
|
Iterable<? extends Audience> audiences() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -915,7 +1006,8 @@ public class StubServer implements Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Set<String> getListeningPluginChannels() {
|
public @NotNull
|
||||||
|
Set<String> getListeningPluginChannels() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,8 +32,8 @@ import com.sk89q.worldedit.world.World;
|
|||||||
import com.sk89q.worldedit.world.entity.EntityTypes;
|
import com.sk89q.worldedit.world.entity.EntityTypes;
|
||||||
import com.sk89q.worldedit.world.registry.Registries;
|
import com.sk89q.worldedit.world.registry.Registries;
|
||||||
import org.enginehub.piston.CommandManager;
|
import org.enginehub.piston.CommandManager;
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.EnumMap;
|
import java.util.EnumMap;
|
||||||
@ -164,7 +164,8 @@ class CLIPlatform extends AbstractPlatform {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nonnull RelighterFactory getRelighterFactory() {
|
public @Nonnull
|
||||||
|
RelighterFactory getRelighterFactory() {
|
||||||
return (_a, _b, _c) -> NullRelighter.INSTANCE;
|
return (_a, _b, _c) -> NullRelighter.INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ applyPlatformAndCoreConfiguration()
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
constraints {
|
constraints {
|
||||||
implementation( "org.yaml:snakeyaml") {
|
implementation("org.yaml:snakeyaml") {
|
||||||
version { strictly("1.28") }
|
version { strictly("1.28") }
|
||||||
because("Bukkit provides SnakeYaml")
|
because("Bukkit provides SnakeYaml")
|
||||||
}
|
}
|
||||||
|
@ -291,10 +291,10 @@ Other Permissions
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun String.makeRstSafe(lineJoiner: String) = trim()
|
private fun String.makeRstSafe(lineJoiner: String) = trim()
|
||||||
.replace("\"", "\\\"").replace("\n", "\n" + " ".repeat(2))
|
.replace("\"", "\\\"").replace("\n", "\n" + " ".repeat(2))
|
||||||
.lineSequence()
|
.lineSequence()
|
||||||
.map { line -> line.ifBlank { "" } }
|
.map { line -> line.ifBlank { "" } }
|
||||||
.joinToString(separator = lineJoiner)
|
.joinToString(separator = lineJoiner)
|
||||||
|
|
||||||
private fun linkSafe(text: String) = text.replace(" ", "-")
|
private fun linkSafe(text: String) = text.replace(" ", "-")
|
||||||
|
|
||||||
|
@ -53,8 +53,8 @@ private fun formatAsRst(component: Component, currentDeco: String? = null): Char
|
|||||||
deco?.let {
|
deco?.let {
|
||||||
require(currentDeco == null) {
|
require(currentDeco == null) {
|
||||||
"Nested decorations are hell in RST. \n" +
|
"Nested decorations are hell in RST. \n" +
|
||||||
"Existing: $currentDeco; New: $deco\n" +
|
"Existing: $currentDeco; New: $deco\n" +
|
||||||
"Offender: ${TextHelper.reduceToText(component)}"
|
"Offender: ${TextHelper.reduceToText(component)}"
|
||||||
}
|
}
|
||||||
content.rstDeco(deco)
|
content.rstDeco(deco)
|
||||||
}
|
}
|
||||||
|
@ -37,8 +37,9 @@ import java.util.Map;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* A mob spawner block.
|
* A mob spawner block.
|
||||||
|
*
|
||||||
* @deprecated WorldEdit does not handle interpreting NBT,
|
* @deprecated WorldEdit does not handle interpreting NBT,
|
||||||
* deprecated for removal without replacement
|
* deprecated for removal without replacement
|
||||||
*/
|
*/
|
||||||
@Deprecated(forRemoval = true)
|
@Deprecated(forRemoval = true)
|
||||||
public class MobSpawnerBlock extends BaseBlock {
|
public class MobSpawnerBlock extends BaseBlock {
|
||||||
@ -69,7 +70,7 @@ public class MobSpawnerBlock extends BaseBlock {
|
|||||||
* Construct the mob spawner block.
|
* Construct the mob spawner block.
|
||||||
*
|
*
|
||||||
* @param blockState The block state
|
* @param blockState The block state
|
||||||
* @param mobType mob type
|
* @param mobType mob type
|
||||||
*/
|
*/
|
||||||
public MobSpawnerBlock(BlockState blockState, String mobType) {
|
public MobSpawnerBlock(BlockState blockState, String mobType) {
|
||||||
super(blockState);
|
super(blockState);
|
||||||
@ -140,7 +141,8 @@ public class MobSpawnerBlock extends BaseBlock {
|
|||||||
if (spawnPotentials == null) {
|
if (spawnPotentials == null) {
|
||||||
values.put("SpawnPotentials", new ListTag(CompoundTag.class, ImmutableList.of(
|
values.put("SpawnPotentials", new ListTag(CompoundTag.class, ImmutableList.of(
|
||||||
new CompoundTag(ImmutableMap.of("Weight", new IntTag(1), "Entity",
|
new CompoundTag(ImmutableMap.of("Weight", new IntTag(1), "Entity",
|
||||||
new CompoundTag(ImmutableMap.of("id", new StringTag(mobType))))))));
|
new CompoundTag(ImmutableMap.of("id", new StringTag(mobType)))
|
||||||
|
)))));
|
||||||
} else {
|
} else {
|
||||||
values.put("SpawnPotentials", new ListTag(CompoundTag.class, spawnPotentials.getValue()));
|
values.put("SpawnPotentials", new ListTag(CompoundTag.class, spawnPotentials.getValue()));
|
||||||
}
|
}
|
||||||
|
@ -33,25 +33,25 @@ import java.util.Map;
|
|||||||
* Represents a sign block.
|
* Represents a sign block.
|
||||||
*
|
*
|
||||||
* @deprecated WorldEdit does not handle interpreting NBT,
|
* @deprecated WorldEdit does not handle interpreting NBT,
|
||||||
* deprecated for removal without replacement
|
* deprecated for removal without replacement
|
||||||
*/
|
*/
|
||||||
@Deprecated(forRemoval = true)
|
@Deprecated(forRemoval = true)
|
||||||
public class SignBlock extends BaseBlock {
|
public class SignBlock extends BaseBlock {
|
||||||
|
|
||||||
private String[] text;
|
private String[] text;
|
||||||
|
|
||||||
private static String EMPTY = "{\"text\":\"\"}";
|
private static String EMPTY = "{\"text\":\"\"}";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct the sign with text.
|
* Construct the sign with text.
|
||||||
*
|
*
|
||||||
* @param blockState The block state
|
* @param blockState The block state
|
||||||
* @param text lines of text
|
* @param text lines of text
|
||||||
*/
|
*/
|
||||||
public SignBlock(BlockState blockState, String[] text) {
|
public SignBlock(BlockState blockState, String[] text) {
|
||||||
super(blockState);
|
super(blockState);
|
||||||
if (text == null) {
|
if (text == null) {
|
||||||
this.text = new String[] { EMPTY, EMPTY, EMPTY, EMPTY };
|
this.text = new String[]{EMPTY, EMPTY, EMPTY, EMPTY};
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < text.length; i++) {
|
for (int i = 0; i < text.length; i++) {
|
||||||
@ -115,7 +115,7 @@ public class SignBlock extends BaseBlock {
|
|||||||
|
|
||||||
Tag t;
|
Tag t;
|
||||||
|
|
||||||
text = new String[] { EMPTY, EMPTY, EMPTY, EMPTY };
|
text = new String[]{EMPTY, EMPTY, EMPTY, EMPTY};
|
||||||
|
|
||||||
t = values.get("id");
|
t = values.get("id");
|
||||||
if (!(t instanceof StringTag) || !((StringTag) t).getValue().equals(getNbtId())) {
|
if (!(t instanceof StringTag) || !((StringTag) t).getValue().equals(getNbtId())) {
|
||||||
|
@ -33,7 +33,7 @@ import java.util.Map;
|
|||||||
* A skull block.
|
* A skull block.
|
||||||
*
|
*
|
||||||
* @deprecated WorldEdit does not handle interpreting NBT,
|
* @deprecated WorldEdit does not handle interpreting NBT,
|
||||||
* deprecated for removal without replacement
|
* deprecated for removal without replacement
|
||||||
*/
|
*/
|
||||||
@Deprecated(forRemoval = true)
|
@Deprecated(forRemoval = true)
|
||||||
public class SkullBlock extends BaseBlock {
|
public class SkullBlock extends BaseBlock {
|
||||||
@ -42,6 +42,7 @@ public class SkullBlock extends BaseBlock {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct the skull block with a default type of skelton.
|
* Construct the skull block with a default type of skelton.
|
||||||
|
*
|
||||||
* @param state BlockState to set
|
* @param state BlockState to set
|
||||||
*/
|
*/
|
||||||
public SkullBlock(BlockState state) {
|
public SkullBlock(BlockState state) {
|
||||||
@ -52,8 +53,9 @@ public class SkullBlock extends BaseBlock {
|
|||||||
/**
|
/**
|
||||||
* Construct the skull block with a given rotation and owner.
|
* Construct the skull block with a given rotation and owner.
|
||||||
* The type is assumed to be player unless owner is null or empty.
|
* The type is assumed to be player unless owner is null or empty.
|
||||||
|
*
|
||||||
* @param blockState BlockState to set
|
* @param blockState BlockState to set
|
||||||
* @param owner name of player
|
* @param owner name of player
|
||||||
*/
|
*/
|
||||||
public SkullBlock(BlockState blockState, String owner) {
|
public SkullBlock(BlockState blockState, String owner) {
|
||||||
super(blockState);
|
super(blockState);
|
||||||
@ -62,6 +64,7 @@ public class SkullBlock extends BaseBlock {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the skull's owner. Automatically sets type to player if not empty or null.
|
* Set the skull's owner. Automatically sets type to player if not empty or null.
|
||||||
|
*
|
||||||
* @param owner player name to set the skull to
|
* @param owner player name to set the skull to
|
||||||
*/
|
*/
|
||||||
public void setOwner(String owner) {
|
public void setOwner(String owner) {
|
||||||
@ -78,6 +81,7 @@ public class SkullBlock extends BaseBlock {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the skull's owner. Returns null if unset.
|
* Get the skull's owner. Returns null if unset.
|
||||||
|
*
|
||||||
* @return player name or null
|
* @return player name or null
|
||||||
*/
|
*/
|
||||||
public String getOwner() {
|
public String getOwner() {
|
||||||
@ -123,4 +127,5 @@ public class SkullBlock extends BaseBlock {
|
|||||||
setOwner(((CompoundTag) t).getValue().get("Name").getValue().toString());
|
setOwner(((CompoundTag) t).getValue().get("Name").getValue().toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -351,7 +351,8 @@ public class Fawe {
|
|||||||
* Non-api. Handles an input FAWE exception if not already handled, given the input boolean array.
|
* Non-api. Handles an input FAWE exception if not already handled, given the input boolean array.
|
||||||
* Looks at the {@link FaweException.Type} and decides what to do (rethrows if we want to attempt to show the error to the
|
* Looks at the {@link FaweException.Type} and decides what to do (rethrows if we want to attempt to show the error to the
|
||||||
* player, outputs to console where necessary).
|
* player, outputs to console where necessary).
|
||||||
* @param faweExceptionReasonsUsed boolean array that should be cached where this method is called from of length {@code
|
*
|
||||||
|
* @param faweExceptionReasonsUsed boolean array that should be cached where this method is called from of length {@code
|
||||||
* FaweException.Type.values().length}
|
* FaweException.Type.values().length}
|
||||||
* @param e {@link FaweException} to handle
|
* @param e {@link FaweException} to handle
|
||||||
* @param logger {@link Logger} of the calling class
|
* @param logger {@link Logger} of the calling class
|
||||||
|
@ -277,7 +277,8 @@ public class FaweAPI {
|
|||||||
);
|
);
|
||||||
RegionWrapper boundsPlus = new RegionWrapper(bounds.minX - 64, bounds.maxX + 512, bounds.minY, bounds.maxY,
|
RegionWrapper boundsPlus = new RegionWrapper(bounds.minX - 64, bounds.maxX + 512, bounds.minY, bounds.maxY,
|
||||||
bounds.minZ - 64,
|
bounds.minZ - 64,
|
||||||
bounds.maxZ + 512);
|
bounds.maxZ + 512
|
||||||
|
);
|
||||||
HashSet<RegionWrapper> regionSet = Sets.<RegionWrapper>newHashSet(bounds);
|
HashSet<RegionWrapper> regionSet = Sets.<RegionWrapper>newHashSet(bounds);
|
||||||
ArrayList<DiskStorageHistory> result = new ArrayList<>();
|
ArrayList<DiskStorageHistory> result = new ArrayList<>();
|
||||||
for (File file : files) {
|
for (File file : files) {
|
||||||
@ -285,7 +286,8 @@ public class FaweAPI {
|
|||||||
DiskStorageHistory dsh = new DiskStorageHistory(world, uuid, Integer.parseInt(file.getName().split("\\.")[0]));
|
DiskStorageHistory dsh = new DiskStorageHistory(world, uuid, Integer.parseInt(file.getName().split("\\.")[0]));
|
||||||
SimpleChangeSetSummary summary = dsh.summarize(boundsPlus, shallow);
|
SimpleChangeSetSummary summary = dsh.summarize(boundsPlus, shallow);
|
||||||
RegionWrapper region = new RegionWrapper(summary.minX, summary.maxX, extent.getMinY(), extent.getMaxY(), summary.minZ,
|
RegionWrapper region = new RegionWrapper(summary.minX, summary.maxX, extent.getMinY(), extent.getMaxY(), summary.minZ,
|
||||||
summary.maxZ);
|
summary.maxZ
|
||||||
|
);
|
||||||
boolean encompassed = false;
|
boolean encompassed = false;
|
||||||
boolean isIn = false;
|
boolean isIn = false;
|
||||||
for (RegionWrapper allowed : regionSet) {
|
for (RegionWrapper allowed : regionSet) {
|
||||||
|
@ -141,9 +141,11 @@ public enum FaweCache implements Trimable {
|
|||||||
Caption.of("fawe.cancel.worldedit.cancel.reason.no.region"),
|
Caption.of("fawe.cancel.worldedit.cancel.reason.no.region"),
|
||||||
Type.NO_REGION
|
Type.NO_REGION
|
||||||
);
|
);
|
||||||
public static final FaweException OUTSIDE_REGION = new FaweException(Caption.of(
|
public static final FaweException OUTSIDE_REGION = new FaweException(
|
||||||
"fawe.cancel.worldedit.cancel.reason.outside.region"),
|
Caption.of(
|
||||||
Type.OUTSIDE_REGION);
|
"fawe.cancel.worldedit.cancel.reason.outside.region"),
|
||||||
|
Type.OUTSIDE_REGION
|
||||||
|
);
|
||||||
public static final FaweException MAX_CHECKS = new FaweException(
|
public static final FaweException MAX_CHECKS = new FaweException(
|
||||||
Caption.of("fawe.cancel.worldedit.cancel.reason.max" + ".checks"),
|
Caption.of("fawe.cancel.worldedit.cancel.reason.max" + ".checks"),
|
||||||
Type.MAX_CHECKS
|
Type.MAX_CHECKS
|
||||||
@ -156,16 +158,20 @@ public enum FaweCache implements Trimable {
|
|||||||
Caption.of("fawe.cancel.worldedit.cancel.reason.low" + ".memory"),
|
Caption.of("fawe.cancel.worldedit.cancel.reason.low" + ".memory"),
|
||||||
Type.LOW_MEMORY
|
Type.LOW_MEMORY
|
||||||
);
|
);
|
||||||
public static final FaweException MAX_ENTITIES = new FaweException(Caption.of(
|
public static final FaweException MAX_ENTITIES = new FaweException(
|
||||||
"fawe.cancel.worldedit.cancel.reason.max.entities"),
|
Caption.of(
|
||||||
Type.MAX_ENTITIES);
|
"fawe.cancel.worldedit.cancel.reason.max.entities"),
|
||||||
|
Type.MAX_ENTITIES
|
||||||
|
);
|
||||||
public static final FaweException MAX_TILES = new FaweException(Caption.of(
|
public static final FaweException MAX_TILES = new FaweException(Caption.of(
|
||||||
"fawe.cancel.worldedit.cancel.reason.max.tiles",
|
"fawe.cancel.worldedit.cancel.reason.max.tiles",
|
||||||
Type.MAX_TILES
|
Type.MAX_TILES
|
||||||
));
|
));
|
||||||
public static final FaweException MAX_ITERATIONS = new FaweException(Caption.of(
|
public static final FaweException MAX_ITERATIONS = new FaweException(
|
||||||
"fawe.cancel.worldedit.cancel.reason.max.iterations"),
|
Caption.of(
|
||||||
Type.MAX_ITERATIONS);
|
"fawe.cancel.worldedit.cancel.reason.max.iterations"),
|
||||||
|
Type.MAX_ITERATIONS
|
||||||
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
thread cache
|
thread cache
|
||||||
|
@ -4,7 +4,6 @@ import com.fastasyncworldedit.core.command.tool.ResettableTool;
|
|||||||
import com.fastasyncworldedit.core.configuration.Caption;
|
import com.fastasyncworldedit.core.configuration.Caption;
|
||||||
import com.sk89q.worldedit.EditSession;
|
import com.sk89q.worldedit.EditSession;
|
||||||
import com.sk89q.worldedit.MaxChangedBlocksException;
|
import com.sk89q.worldedit.MaxChangedBlocksException;
|
||||||
import com.sk89q.worldedit.WorldEditException;
|
|
||||||
import com.sk89q.worldedit.command.tool.brush.Brush;
|
import com.sk89q.worldedit.command.tool.brush.Brush;
|
||||||
import com.sk89q.worldedit.entity.Player;
|
import com.sk89q.worldedit.entity.Player;
|
||||||
import com.sk89q.worldedit.function.pattern.Pattern;
|
import com.sk89q.worldedit.function.pattern.Pattern;
|
||||||
|
@ -79,7 +79,8 @@ public class CopyPastaBrush implements Brush, ResettableTool {
|
|||||||
// Add origin
|
// Add origin
|
||||||
mask.test(position);
|
mask.test(position);
|
||||||
RecursiveVisitor visitor = new RecursiveVisitor(mask, new NullRegionFunction(), (int) size, editSession.getMinY(),
|
RecursiveVisitor visitor = new RecursiveVisitor(mask, new NullRegionFunction(), (int) size, editSession.getMinY(),
|
||||||
editSession.getMaxY());
|
editSession.getMaxY()
|
||||||
|
);
|
||||||
visitor.visit(position);
|
visitor.visit(position);
|
||||||
Operations.completeBlindly(visitor);
|
Operations.completeBlindly(visitor);
|
||||||
// Build the clipboard
|
// Build the clipboard
|
||||||
|
@ -27,8 +27,10 @@ public class HeightBrush implements Brush {
|
|||||||
public final boolean layers;
|
public final boolean layers;
|
||||||
public final boolean smooth;
|
public final boolean smooth;
|
||||||
|
|
||||||
public HeightBrush(InputStream stream, int rotation, double yscale, boolean layers, boolean smooth, Clipboard clipboard,
|
public HeightBrush(
|
||||||
int minY, int maxY) {
|
InputStream stream, int rotation, double yscale, boolean layers, boolean smooth, Clipboard clipboard,
|
||||||
|
int minY, int maxY
|
||||||
|
) {
|
||||||
this(stream, rotation, yscale, layers, smooth, clipboard, ScalableHeightMap.Shape.CONE, minY, maxY);
|
this(stream, rotation, yscale, layers, smooth, clipboard, ScalableHeightMap.Shape.CONE, minY, maxY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +41,8 @@ public class LayerBrush implements Brush {
|
|||||||
final RadiusMask radius = new RadiusMask(0, (int) size);
|
final RadiusMask radius = new RadiusMask(0, (int) size);
|
||||||
visitor = new RecursiveVisitor(new MaskIntersection(adjacent, solid, radius), funcion -> true, Integer.MAX_VALUE,
|
visitor = new RecursiveVisitor(new MaskIntersection(adjacent, solid, radius), funcion -> true, Integer.MAX_VALUE,
|
||||||
editSession.getMinY(),
|
editSession.getMinY(),
|
||||||
editSession.getMaxY());
|
editSession.getMaxY()
|
||||||
|
);
|
||||||
visitor.visit(position);
|
visitor.visit(position);
|
||||||
visitor.setDirections(Arrays.asList(BreadthFirstSearch.DIAGONAL_DIRECTIONS));
|
visitor.setDirections(Arrays.asList(BreadthFirstSearch.DIAGONAL_DIRECTIONS));
|
||||||
Operations.completeBlindly(visitor);
|
Operations.completeBlindly(visitor);
|
||||||
|
@ -53,7 +53,8 @@ public class ScatterBrush implements Brush {
|
|||||||
final int distance = Math.min((int) size, this.distance);
|
final int distance = Math.min((int) size, this.distance);
|
||||||
|
|
||||||
RecursiveVisitor visitor = new RecursiveVisitor(new MaskIntersection(radius, surface), function -> true,
|
RecursiveVisitor visitor = new RecursiveVisitor(new MaskIntersection(radius, surface), function -> true,
|
||||||
Integer.MAX_VALUE, editSession.getMinY(), editSession.getMaxY());
|
Integer.MAX_VALUE, editSession.getMinY(), editSession.getMaxY()
|
||||||
|
);
|
||||||
visitor.visit(position);
|
visitor.visit(position);
|
||||||
visitor.setDirections(Arrays.asList(BreadthFirstSearch.DIAGONAL_DIRECTIONS));
|
visitor.setDirections(Arrays.asList(BreadthFirstSearch.DIAGONAL_DIRECTIONS));
|
||||||
Operations.completeBlindly(visitor);
|
Operations.completeBlindly(visitor);
|
||||||
|
@ -21,8 +21,10 @@ public class StencilBrush extends HeightBrush {
|
|||||||
|
|
||||||
private final boolean onlyWhite;
|
private final boolean onlyWhite;
|
||||||
|
|
||||||
public StencilBrush(InputStream stream, int rotation, double yscale, boolean onlyWhite, Clipboard clipboard, int minY,
|
public StencilBrush(
|
||||||
int maxY) {
|
InputStream stream, int rotation, double yscale, boolean onlyWhite, Clipboard clipboard, int minY,
|
||||||
|
int maxY
|
||||||
|
) {
|
||||||
super(stream, rotation, yscale, false, true, clipboard, minY, maxY);
|
super(stream, rotation, yscale, false, true, clipboard, minY, maxY);
|
||||||
this.onlyWhite = onlyWhite;
|
this.onlyWhite = onlyWhite;
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,6 @@ import com.fastasyncworldedit.core.math.MutableBlockVector3;
|
|||||||
import com.fastasyncworldedit.core.util.MathMan;
|
import com.fastasyncworldedit.core.util.MathMan;
|
||||||
import com.sk89q.worldedit.EditSession;
|
import com.sk89q.worldedit.EditSession;
|
||||||
import com.sk89q.worldedit.MaxChangedBlocksException;
|
import com.sk89q.worldedit.MaxChangedBlocksException;
|
||||||
import com.sk89q.worldedit.WorldEditException;
|
|
||||||
import com.sk89q.worldedit.command.tool.brush.Brush;
|
import com.sk89q.worldedit.command.tool.brush.Brush;
|
||||||
import com.sk89q.worldedit.function.pattern.Pattern;
|
import com.sk89q.worldedit.function.pattern.Pattern;
|
||||||
import com.sk89q.worldedit.math.BlockVector3;
|
import com.sk89q.worldedit.math.BlockVector3;
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
package com.fastasyncworldedit.core.extension.factory;
|
package com.fastasyncworldedit.core.extension.factory;
|
||||||
|
|
||||||
import com.fastasyncworldedit.core.configuration.Caption;
|
import com.fastasyncworldedit.core.configuration.Caption;
|
||||||
import com.fastasyncworldedit.core.extension.factory.parser.transform.RichTransformParser;
|
|
||||||
import com.fastasyncworldedit.core.extension.factory.parser.transform.Linear3DTransformParser;
|
import com.fastasyncworldedit.core.extension.factory.parser.transform.Linear3DTransformParser;
|
||||||
import com.fastasyncworldedit.core.extension.factory.parser.transform.LinearTransformParser;
|
import com.fastasyncworldedit.core.extension.factory.parser.transform.LinearTransformParser;
|
||||||
import com.fastasyncworldedit.core.extension.factory.parser.transform.OffsetTransformParser;
|
import com.fastasyncworldedit.core.extension.factory.parser.transform.OffsetTransformParser;
|
||||||
import com.fastasyncworldedit.core.extension.factory.parser.transform.PatternTransformParser;
|
import com.fastasyncworldedit.core.extension.factory.parser.transform.PatternTransformParser;
|
||||||
import com.fastasyncworldedit.core.extension.factory.parser.transform.RandomTransformParser;
|
import com.fastasyncworldedit.core.extension.factory.parser.transform.RandomTransformParser;
|
||||||
|
import com.fastasyncworldedit.core.extension.factory.parser.transform.RichTransformParser;
|
||||||
import com.fastasyncworldedit.core.extension.factory.parser.transform.RotateTransformParser;
|
import com.fastasyncworldedit.core.extension.factory.parser.transform.RotateTransformParser;
|
||||||
import com.fastasyncworldedit.core.extension.factory.parser.transform.ScaleTransformParser;
|
import com.fastasyncworldedit.core.extension.factory.parser.transform.ScaleTransformParser;
|
||||||
import com.fastasyncworldedit.core.extension.factory.parser.transform.SpreadTransformParser;
|
import com.fastasyncworldedit.core.extension.factory.parser.transform.SpreadTransformParser;
|
||||||
@ -93,7 +93,7 @@ public class TransformFactory extends AbstractFactory<ResettableExtent> {
|
|||||||
* Parses a transform without considering parsing through the {@link RichTransformParser}, therefore not accepting
|
* Parses a transform without considering parsing through the {@link RichTransformParser}, therefore not accepting
|
||||||
* "richer" parsing where & and , are used. Exists to prevent stack overflows.
|
* "richer" parsing where & and , are used. Exists to prevent stack overflows.
|
||||||
*
|
*
|
||||||
* @param input input string
|
* @param input input string
|
||||||
* @param context input context
|
* @param context input context
|
||||||
* @return parsed result
|
* @return parsed result
|
||||||
* @throws InputParseException if no result found
|
* @throws InputParseException if no result found
|
||||||
|
@ -5,13 +5,9 @@ import com.fastasyncworldedit.core.function.mask.AdjacentAnyMask;
|
|||||||
import com.fastasyncworldedit.core.function.mask.AdjacentMask;
|
import com.fastasyncworldedit.core.function.mask.AdjacentMask;
|
||||||
import com.sk89q.worldedit.WorldEdit;
|
import com.sk89q.worldedit.WorldEdit;
|
||||||
import com.sk89q.worldedit.command.util.SuggestionHelper;
|
import com.sk89q.worldedit.command.util.SuggestionHelper;
|
||||||
import com.sk89q.worldedit.entity.Player;
|
|
||||||
import com.sk89q.worldedit.extension.input.InputParseException;
|
import com.sk89q.worldedit.extension.input.InputParseException;
|
||||||
import com.sk89q.worldedit.extension.input.ParserContext;
|
import com.sk89q.worldedit.extension.input.ParserContext;
|
||||||
import com.sk89q.worldedit.extension.platform.Locatable;
|
|
||||||
import com.sk89q.worldedit.extent.Extent;
|
|
||||||
import com.sk89q.worldedit.function.mask.Mask;
|
import com.sk89q.worldedit.function.mask.Mask;
|
||||||
import com.sk89q.worldedit.world.World;
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
@ -2,7 +2,6 @@ package com.fastasyncworldedit.core.extension.factory.parser.mask;
|
|||||||
|
|
||||||
import com.fastasyncworldedit.core.extension.factory.parser.RichParser;
|
import com.fastasyncworldedit.core.extension.factory.parser.RichParser;
|
||||||
import com.fastasyncworldedit.core.function.mask.WallMask;
|
import com.fastasyncworldedit.core.function.mask.WallMask;
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import com.sk89q.worldedit.WorldEdit;
|
import com.sk89q.worldedit.WorldEdit;
|
||||||
import com.sk89q.worldedit.command.util.SuggestionHelper;
|
import com.sk89q.worldedit.command.util.SuggestionHelper;
|
||||||
import com.sk89q.worldedit.extension.input.InputParseException;
|
import com.sk89q.worldedit.extension.input.InputParseException;
|
||||||
@ -10,7 +9,6 @@ import com.sk89q.worldedit.extension.input.ParserContext;
|
|||||||
import com.sk89q.worldedit.function.mask.Mask;
|
import com.sk89q.worldedit.function.mask.Mask;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import java.util.List;
|
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
public class WallMaskParser extends RichParser<Mask> {
|
public class WallMaskParser extends RichParser<Mask> {
|
||||||
|
@ -7,7 +7,6 @@ import com.sk89q.worldedit.WorldEdit;
|
|||||||
import com.sk89q.worldedit.command.util.SuggestionHelper;
|
import com.sk89q.worldedit.command.util.SuggestionHelper;
|
||||||
import com.sk89q.worldedit.extension.input.InputParseException;
|
import com.sk89q.worldedit.extension.input.InputParseException;
|
||||||
import com.sk89q.worldedit.extension.input.ParserContext;
|
import com.sk89q.worldedit.extension.input.ParserContext;
|
||||||
import com.sk89q.worldedit.extent.Extent;
|
|
||||||
import com.sk89q.worldedit.function.pattern.Pattern;
|
import com.sk89q.worldedit.function.pattern.Pattern;
|
||||||
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
||||||
|
|
||||||
|
@ -7,7 +7,6 @@ import com.sk89q.worldedit.WorldEdit;
|
|||||||
import com.sk89q.worldedit.command.util.SuggestionHelper;
|
import com.sk89q.worldedit.command.util.SuggestionHelper;
|
||||||
import com.sk89q.worldedit.extension.input.InputParseException;
|
import com.sk89q.worldedit.extension.input.InputParseException;
|
||||||
import com.sk89q.worldedit.extension.input.ParserContext;
|
import com.sk89q.worldedit.extension.input.ParserContext;
|
||||||
import com.sk89q.worldedit.extent.Extent;
|
|
||||||
import com.sk89q.worldedit.function.pattern.Pattern;
|
import com.sk89q.worldedit.function.pattern.Pattern;
|
||||||
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
||||||
|
|
||||||
|
@ -6,7 +6,6 @@ import com.fastasyncworldedit.core.function.pattern.RelativePattern;
|
|||||||
import com.sk89q.worldedit.WorldEdit;
|
import com.sk89q.worldedit.WorldEdit;
|
||||||
import com.sk89q.worldedit.extension.input.InputParseException;
|
import com.sk89q.worldedit.extension.input.InputParseException;
|
||||||
import com.sk89q.worldedit.extension.input.ParserContext;
|
import com.sk89q.worldedit.extension.input.ParserContext;
|
||||||
import com.sk89q.worldedit.extent.Extent;
|
|
||||||
import com.sk89q.worldedit.function.pattern.Pattern;
|
import com.sk89q.worldedit.function.pattern.Pattern;
|
||||||
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
||||||
|
|
||||||
|
@ -7,7 +7,6 @@ import com.sk89q.worldedit.WorldEdit;
|
|||||||
import com.sk89q.worldedit.command.util.SuggestionHelper;
|
import com.sk89q.worldedit.command.util.SuggestionHelper;
|
||||||
import com.sk89q.worldedit.extension.input.InputParseException;
|
import com.sk89q.worldedit.extension.input.InputParseException;
|
||||||
import com.sk89q.worldedit.extension.input.ParserContext;
|
import com.sk89q.worldedit.extension.input.ParserContext;
|
||||||
import com.sk89q.worldedit.extent.Extent;
|
|
||||||
import com.sk89q.worldedit.function.pattern.Pattern;
|
import com.sk89q.worldedit.function.pattern.Pattern;
|
||||||
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
||||||
|
|
||||||
|
@ -7,7 +7,6 @@ import com.sk89q.worldedit.WorldEdit;
|
|||||||
import com.sk89q.worldedit.command.util.SuggestionHelper;
|
import com.sk89q.worldedit.command.util.SuggestionHelper;
|
||||||
import com.sk89q.worldedit.extension.input.InputParseException;
|
import com.sk89q.worldedit.extension.input.InputParseException;
|
||||||
import com.sk89q.worldedit.extension.input.ParserContext;
|
import com.sk89q.worldedit.extension.input.ParserContext;
|
||||||
import com.sk89q.worldedit.extent.Extent;
|
|
||||||
import com.sk89q.worldedit.function.pattern.Pattern;
|
import com.sk89q.worldedit.function.pattern.Pattern;
|
||||||
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package com.fastasyncworldedit.core.extension.factory.parser.transform;
|
package com.fastasyncworldedit.core.extension.factory.parser.transform;
|
||||||
|
|
||||||
import com.fastasyncworldedit.core.extension.factory.parser.RichParser;
|
import com.fastasyncworldedit.core.extension.factory.parser.RichParser;
|
||||||
import com.fastasyncworldedit.core.extent.transform.OffsetTransform;
|
|
||||||
import com.fastasyncworldedit.core.extent.ResettableExtent;
|
import com.fastasyncworldedit.core.extent.ResettableExtent;
|
||||||
|
import com.fastasyncworldedit.core.extent.transform.OffsetTransform;
|
||||||
import com.sk89q.worldedit.WorldEdit;
|
import com.sk89q.worldedit.WorldEdit;
|
||||||
import com.sk89q.worldedit.command.util.SuggestionHelper;
|
import com.sk89q.worldedit.command.util.SuggestionHelper;
|
||||||
import com.sk89q.worldedit.extension.input.InputParseException;
|
import com.sk89q.worldedit.extension.input.InputParseException;
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.fastasyncworldedit.core.extent;
|
package com.fastasyncworldedit.core.extent;
|
||||||
|
|
||||||
import com.fastasyncworldedit.core.FaweCache;
|
|
||||||
import com.fastasyncworldedit.core.extent.filter.block.ExtentFilterBlock;
|
import com.fastasyncworldedit.core.extent.filter.block.ExtentFilterBlock;
|
||||||
import com.fastasyncworldedit.core.function.generator.GenBase;
|
import com.fastasyncworldedit.core.function.generator.GenBase;
|
||||||
import com.fastasyncworldedit.core.function.generator.Resource;
|
import com.fastasyncworldedit.core.function.generator.Resource;
|
||||||
|
@ -27,16 +27,13 @@ import com.sk89q.worldedit.util.Countable;
|
|||||||
import com.sk89q.worldedit.util.Location;
|
import com.sk89q.worldedit.util.Location;
|
||||||
import com.sk89q.worldedit.util.formatting.text.Component;
|
import com.sk89q.worldedit.util.formatting.text.Component;
|
||||||
import com.sk89q.worldedit.world.biome.BiomeType;
|
import com.sk89q.worldedit.world.biome.BiomeType;
|
||||||
import com.sk89q.worldedit.world.biome.BiomeTypes;
|
|
||||||
import com.sk89q.worldedit.world.block.BaseBlock;
|
import com.sk89q.worldedit.world.block.BaseBlock;
|
||||||
import com.sk89q.worldedit.world.block.BlockState;
|
import com.sk89q.worldedit.world.block.BlockState;
|
||||||
import com.sk89q.worldedit.world.block.BlockStateHolder;
|
import com.sk89q.worldedit.world.block.BlockStateHolder;
|
||||||
import com.sk89q.worldedit.world.block.BlockType;
|
import com.sk89q.worldedit.world.block.BlockType;
|
||||||
import com.sk89q.worldedit.world.block.BlockTypes;
|
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
|
@ -2,7 +2,6 @@ package com.fastasyncworldedit.core.extent;
|
|||||||
|
|
||||||
import com.fastasyncworldedit.core.util.ExtentTraverser;
|
import com.fastasyncworldedit.core.util.ExtentTraverser;
|
||||||
import com.fastasyncworldedit.core.util.ReflectionUtils;
|
import com.fastasyncworldedit.core.util.ReflectionUtils;
|
||||||
import com.sk89q.worldedit.WorldEdit;
|
|
||||||
import com.sk89q.worldedit.extent.AbstractDelegateExtent;
|
import com.sk89q.worldedit.extent.AbstractDelegateExtent;
|
||||||
import com.sk89q.worldedit.extent.Extent;
|
import com.sk89q.worldedit.extent.Extent;
|
||||||
import com.sk89q.worldedit.math.BlockVector3;
|
import com.sk89q.worldedit.math.BlockVector3;
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package com.fastasyncworldedit.core.extent.clipboard.io.schematic;
|
package com.fastasyncworldedit.core.extent.clipboard.io.schematic;
|
||||||
|
|
||||||
import com.fastasyncworldedit.core.FaweCache;
|
import com.fastasyncworldedit.core.FaweCache;
|
||||||
import com.fastasyncworldedit.core.math.MutableBlockVector3;
|
|
||||||
import com.sk89q.jnbt.CompoundTag;
|
import com.sk89q.jnbt.CompoundTag;
|
||||||
import com.sk89q.jnbt.IntTag;
|
import com.sk89q.jnbt.IntTag;
|
||||||
import com.sk89q.jnbt.ListTag;
|
import com.sk89q.jnbt.ListTag;
|
||||||
|
@ -15,8 +15,8 @@ public class ArrayHeightMap extends ScalableHeightMap {
|
|||||||
* New height map represented by byte array[][] of values x*z to be scaled given a set size
|
* New height map represented by byte array[][] of values x*z to be scaled given a set size
|
||||||
*
|
*
|
||||||
* @param height array of height values
|
* @param height array of height values
|
||||||
* @param minY min y value allowed to be set. Inclusive.
|
* @param minY min y value allowed to be set. Inclusive.
|
||||||
* @param maxY max y value allowed to be set. Inclusive.
|
* @param maxY max y value allowed to be set. Inclusive.
|
||||||
*/
|
*/
|
||||||
public ArrayHeightMap(byte[][] height, int minY, int maxY) {
|
public ArrayHeightMap(byte[][] height, int minY, int maxY) {
|
||||||
super(minY, maxY);
|
super(minY, maxY);
|
||||||
|
@ -138,8 +138,10 @@ public interface HeightMap {
|
|||||||
double raiseScaled = diff * (raisePow * sizePowInv);
|
double raiseScaled = diff * (raisePow * sizePowInv);
|
||||||
double raiseScaledAbs = Math.abs(raiseScaled);
|
double raiseScaledAbs = Math.abs(raiseScaled);
|
||||||
int random =
|
int random =
|
||||||
ThreadLocalRandom.current().nextInt(maxY + 1 - minY) - minY < (int) ((Math.ceil(raiseScaledAbs) - Math.floor(
|
ThreadLocalRandom
|
||||||
raiseScaledAbs)) * (maxY + 1 - minY)) ? (diff > 0 ? 1 : -1) : 0;
|
.current()
|
||||||
|
.nextInt(maxY + 1 - minY) - minY < (int) ((Math.ceil(raiseScaledAbs) - Math.floor(
|
||||||
|
raiseScaledAbs)) * (maxY + 1 - minY)) ? (diff > 0 ? 1 : -1) : 0;
|
||||||
int raiseScaledInt = (int) raiseScaled + random;
|
int raiseScaledInt = (int) raiseScaled + random;
|
||||||
newData[index] = height + raiseScaledInt;
|
newData[index] = height + raiseScaledInt;
|
||||||
}
|
}
|
||||||
@ -181,8 +183,10 @@ public interface HeightMap {
|
|||||||
}
|
}
|
||||||
raise = (yscale * raise);
|
raise = (yscale * raise);
|
||||||
int random =
|
int random =
|
||||||
ThreadLocalRandom.current().nextInt(maxY + 1 - minY) - minY < (int) ((raise - (int) raise) * (maxY - minY + 1))
|
ThreadLocalRandom
|
||||||
? 1 : 0;
|
.current()
|
||||||
|
.nextInt(maxY + 1 - minY) - minY < (int) ((raise - (int) raise) * (maxY - minY + 1))
|
||||||
|
? 1 : 0;
|
||||||
int newHeight = height + (int) raise + random;
|
int newHeight = height + (int) raise + random;
|
||||||
newData[index] = newHeight;
|
newData[index] = newHeight;
|
||||||
}
|
}
|
||||||
|
@ -92,7 +92,7 @@ public class ScalableHeightMap implements HeightMap {
|
|||||||
highestY = y + 1;
|
highestY = y + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int pointHeight = Math.min(clipMaxY, ((maxY - minY + 1 ) * (highestY - clipMinY)) / clipHeight);
|
int pointHeight = Math.min(clipMaxY, ((maxY - minY + 1) * (highestY - clipMinY)) / clipHeight);
|
||||||
int x = xx - clipMinX;
|
int x = xx - clipMinX;
|
||||||
int z = zz - clipMinZ;
|
int z = zz - clipMinZ;
|
||||||
heightArray[x][z] = (byte) pointHeight;
|
heightArray[x][z] = (byte) pointHeight;
|
||||||
|
@ -17,9 +17,9 @@ public class OffsetTransform extends ResettableExtent {
|
|||||||
* New instance
|
* New instance
|
||||||
*
|
*
|
||||||
* @param parent extent to set to
|
* @param parent extent to set to
|
||||||
* @param dx offset x
|
* @param dx offset x
|
||||||
* @param dy offset y
|
* @param dy offset y
|
||||||
* @param dz offset z
|
* @param dz offset z
|
||||||
*/
|
*/
|
||||||
public OffsetTransform(Extent parent, int dx, int dy, int dz) {
|
public OffsetTransform(Extent parent, int dx, int dy, int dz) {
|
||||||
super(parent);
|
super(parent);
|
||||||
|
@ -20,9 +20,9 @@ public class RandomOffsetTransform extends ResettableExtent {
|
|||||||
* New instance
|
* New instance
|
||||||
*
|
*
|
||||||
* @param parent extent to set to
|
* @param parent extent to set to
|
||||||
* @param dx range of x values to choose from (0 -> x)
|
* @param dx range of x values to choose from (0 -> x)
|
||||||
* @param dy range of y values to choose from (0 -> y)
|
* @param dy range of y values to choose from (0 -> y)
|
||||||
* @param dz range of z values to choose from (0 -> z)
|
* @param dz range of z values to choose from (0 -> z)
|
||||||
*/
|
*/
|
||||||
public RandomOffsetTransform(Extent parent, int dx, int dy, int dz) {
|
public RandomOffsetTransform(Extent parent, int dx, int dy, int dz) {
|
||||||
super(parent);
|
super(parent);
|
||||||
|
@ -48,6 +48,7 @@ public class FaweException extends RuntimeException {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the {@link FaweException.Type}
|
* Get the {@link FaweException.Type}
|
||||||
|
*
|
||||||
* @return the {@link FaweException.Type}
|
* @return the {@link FaweException.Type}
|
||||||
*/
|
*/
|
||||||
public Type getType() {
|
public Type getType() {
|
||||||
|
@ -356,7 +356,7 @@ public class CharSetBlocks extends CharBlocks implements IChunkSet {
|
|||||||
minSectionIndex = layer;
|
minSectionIndex = layer;
|
||||||
if (biomes != null) {
|
if (biomes != null) {
|
||||||
BiomeType[] tmpBiomes = new BiomeType[sectionCount * 64];
|
BiomeType[] tmpBiomes = new BiomeType[sectionCount * 64];
|
||||||
System.arraycopy(biomes, 0, tmpBiomes, 64*diff, biomes.length);
|
System.arraycopy(biomes, 0, tmpBiomes, 64 * diff, biomes.length);
|
||||||
biomes = tmpBiomes;
|
biomes = tmpBiomes;
|
||||||
}
|
}
|
||||||
if (light != null) {
|
if (light != null) {
|
||||||
|
@ -333,19 +333,29 @@ public class ChunkHolder<T extends Future<T>> implements IQueueChunk<T> {
|
|||||||
@Override
|
@Override
|
||||||
public void flushLightToGet(ChunkHolder chunk) {
|
public void flushLightToGet(ChunkHolder chunk) {
|
||||||
chunk.chunkExisting.setLightingToGet(chunk.chunkSet.getLight(), chunk.chunkSet.getMinSectionIndex(),
|
chunk.chunkExisting.setLightingToGet(chunk.chunkSet.getLight(), chunk.chunkSet.getMinSectionIndex(),
|
||||||
chunk.chunkSet.getMaxSectionIndex());
|
chunk.chunkSet.getMaxSectionIndex()
|
||||||
|
);
|
||||||
chunk.chunkExisting.setSkyLightingToGet(chunk.chunkSet.getSkyLight(), chunk.chunkSet.getMinSectionIndex(),
|
chunk.chunkExisting.setSkyLightingToGet(chunk.chunkSet.getSkyLight(), chunk.chunkSet.getMinSectionIndex(),
|
||||||
chunk.chunkSet.getMaxSectionIndex());
|
chunk.chunkSet.getMaxSectionIndex()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setLightingToGet(ChunkHolder chunk, char[][] lighting) {
|
public void setLightingToGet(ChunkHolder chunk, char[][] lighting) {
|
||||||
chunk.chunkExisting.setLightingToGet(lighting, chunk.chunkSet.getMinSectionIndex(), chunk.chunkSet.getMaxSectionIndex());
|
chunk.chunkExisting.setLightingToGet(
|
||||||
|
lighting,
|
||||||
|
chunk.chunkSet.getMinSectionIndex(),
|
||||||
|
chunk.chunkSet.getMaxSectionIndex()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setSkyLightingToGet(ChunkHolder chunk, char[][] lighting) {
|
public void setSkyLightingToGet(ChunkHolder chunk, char[][] lighting) {
|
||||||
chunk.chunkExisting.setSkyLightingToGet(lighting, chunk.chunkSet.getMinSectionIndex(), chunk.chunkSet.getMaxSectionIndex());
|
chunk.chunkExisting.setSkyLightingToGet(
|
||||||
|
lighting,
|
||||||
|
chunk.chunkSet.getMinSectionIndex(),
|
||||||
|
chunk.chunkSet.getMaxSectionIndex()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -486,12 +496,20 @@ public class ChunkHolder<T extends Future<T>> implements IQueueChunk<T> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setLightingToGet(ChunkHolder chunk, char[][] lighting) {
|
public void setLightingToGet(ChunkHolder chunk, char[][] lighting) {
|
||||||
chunk.chunkExisting.setLightingToGet(lighting, chunk.chunkSet.getMinSectionIndex(), chunk.chunkSet.getMaxSectionIndex());
|
chunk.chunkExisting.setLightingToGet(
|
||||||
|
lighting,
|
||||||
|
chunk.chunkSet.getMinSectionIndex(),
|
||||||
|
chunk.chunkSet.getMaxSectionIndex()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setSkyLightingToGet(ChunkHolder chunk, char[][] lighting) {
|
public void setSkyLightingToGet(ChunkHolder chunk, char[][] lighting) {
|
||||||
chunk.chunkExisting.setSkyLightingToGet(lighting, chunk.chunkSet.getMinSectionIndex(), chunk.chunkSet.getMaxSectionIndex());
|
chunk.chunkExisting.setSkyLightingToGet(
|
||||||
|
lighting,
|
||||||
|
chunk.chunkSet.getMinSectionIndex(),
|
||||||
|
chunk.chunkSet.getMaxSectionIndex()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -75,7 +75,10 @@ public class AsyncPreloader implements Preloader, Runnable {
|
|||||||
}
|
}
|
||||||
synchronized (existing) { // Ensure key & value are mutated together
|
synchronized (existing) { // Ensure key & value are mutated together
|
||||||
existing.setKey(world);
|
existing.setKey(world);
|
||||||
existing.setValue(ImmutableSet.copyOf(Iterables.limit(region.getChunks(), Settings.IMP.QUEUE.PRELOAD_CHUNK_COUNT)));
|
existing.setValue(ImmutableSet.copyOf(Iterables.limit(
|
||||||
|
region.getChunks(),
|
||||||
|
Settings.IMP.QUEUE.PRELOAD_CHUNK_COUNT
|
||||||
|
)));
|
||||||
}
|
}
|
||||||
synchronized (update) {
|
synchronized (update) {
|
||||||
update.notify();
|
update.notify();
|
||||||
|
@ -4,7 +4,6 @@ package com.fastasyncworldedit.core.util;
|
|||||||
import com.sk89q.worldedit.world.biome.BiomeType;
|
import com.sk89q.worldedit.world.biome.BiomeType;
|
||||||
import com.sk89q.worldedit.world.block.BlockType;
|
import com.sk89q.worldedit.world.block.BlockType;
|
||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -6,13 +6,13 @@ import com.fastasyncworldedit.core.configuration.Caption;
|
|||||||
import com.fastasyncworldedit.core.configuration.Settings;
|
import com.fastasyncworldedit.core.configuration.Settings;
|
||||||
import com.fastasyncworldedit.core.extent.FaweRegionExtent;
|
import com.fastasyncworldedit.core.extent.FaweRegionExtent;
|
||||||
import com.fastasyncworldedit.core.extent.HistoryExtent;
|
import com.fastasyncworldedit.core.extent.HistoryExtent;
|
||||||
|
import com.fastasyncworldedit.core.extent.LimitExtent;
|
||||||
import com.fastasyncworldedit.core.extent.MultiRegionExtent;
|
import com.fastasyncworldedit.core.extent.MultiRegionExtent;
|
||||||
import com.fastasyncworldedit.core.extent.NullExtent;
|
import com.fastasyncworldedit.core.extent.NullExtent;
|
||||||
import com.fastasyncworldedit.core.extent.SingleRegionExtent;
|
import com.fastasyncworldedit.core.extent.SingleRegionExtent;
|
||||||
import com.fastasyncworldedit.core.extent.SlowExtent;
|
import com.fastasyncworldedit.core.extent.SlowExtent;
|
||||||
import com.fastasyncworldedit.core.extent.StripNBTExtent;
|
import com.fastasyncworldedit.core.extent.StripNBTExtent;
|
||||||
import com.fastasyncworldedit.core.extent.processor.HeightmapProcessor;
|
import com.fastasyncworldedit.core.extent.processor.HeightmapProcessor;
|
||||||
import com.fastasyncworldedit.core.extent.LimitExtent;
|
|
||||||
import com.fastasyncworldedit.core.extent.processor.lighting.NullRelighter;
|
import com.fastasyncworldedit.core.extent.processor.lighting.NullRelighter;
|
||||||
import com.fastasyncworldedit.core.extent.processor.lighting.RelightMode;
|
import com.fastasyncworldedit.core.extent.processor.lighting.RelightMode;
|
||||||
import com.fastasyncworldedit.core.extent.processor.lighting.RelightProcessor;
|
import com.fastasyncworldedit.core.extent.processor.lighting.RelightProcessor;
|
||||||
|
@ -472,7 +472,8 @@ public class MainUtil {
|
|||||||
* @param z New Z coordinate
|
* @param z New Z coordinate
|
||||||
* @return New tag
|
* @return New tag
|
||||||
*/
|
*/
|
||||||
@Nonnull public static CompoundTag setPosition(@Nonnull CompoundTag tag, int x, int y, int z) {
|
@Nonnull
|
||||||
|
public static CompoundTag setPosition(@Nonnull CompoundTag tag, int x, int y, int z) {
|
||||||
Map<String, Tag> value = new HashMap<>(tag.getValue());
|
Map<String, Tag> value = new HashMap<>(tag.getValue());
|
||||||
value.put("x", new IntTag(x));
|
value.put("x", new IntTag(x));
|
||||||
value.put("y", new IntTag(y));
|
value.put("y", new IntTag(y));
|
||||||
@ -487,7 +488,8 @@ public class MainUtil {
|
|||||||
* @param entity Entity
|
* @param entity Entity
|
||||||
* @return New tag
|
* @return New tag
|
||||||
*/
|
*/
|
||||||
@Nonnull public static CompoundTag setEntityInfo(@Nonnull CompoundTag tag, @Nonnull Entity entity) {
|
@Nonnull
|
||||||
|
public static CompoundTag setEntityInfo(@Nonnull CompoundTag tag, @Nonnull Entity entity) {
|
||||||
Map<String, Tag> map = new HashMap<>(tag.getValue());
|
Map<String, Tag> map = new HashMap<>(tag.getValue());
|
||||||
map.put("Id", new StringTag(entity.getState().getType().getId()));
|
map.put("Id", new StringTag(entity.getState().getType().getId()));
|
||||||
ListTag pos = (ListTag) map.get("Pos");
|
ListTag pos = (ListTag) map.get("Pos");
|
||||||
|
@ -1999,7 +1999,7 @@ public class EditSession extends PassthroughExtent implements AutoCloseable {
|
|||||||
|
|
||||||
// There are boundaries that the routine needs to stay in
|
// There are boundaries that the routine needs to stay in
|
||||||
Mask mask = new MaskIntersection(
|
Mask mask = new MaskIntersection(
|
||||||
new BoundedHeightMask(minY, Math.min(origin.getBlockY(), maxY)),
|
new BoundedHeightMask(minY, Math.min(origin.getBlockY(), maxY)),
|
||||||
new RegionMask(new EllipsoidRegion(null, origin, Vector3.at(radius, radius, radius))),
|
new RegionMask(new EllipsoidRegion(null, origin, Vector3.at(radius, radius, radius))),
|
||||||
blockMask
|
blockMask
|
||||||
);
|
);
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
package com.sk89q.worldedit;
|
package com.sk89q.worldedit;
|
||||||
|
|
||||||
import com.fastasyncworldedit.core.configuration.Caption;
|
import com.fastasyncworldedit.core.configuration.Caption;
|
||||||
|
import com.fastasyncworldedit.core.extension.factory.TransformFactory;
|
||||||
import com.fastasyncworldedit.core.extent.ResettableExtent;
|
import com.fastasyncworldedit.core.extent.ResettableExtent;
|
||||||
import com.google.common.base.Throwables;
|
import com.google.common.base.Throwables;
|
||||||
import com.google.common.collect.HashMultimap;
|
import com.google.common.collect.HashMultimap;
|
||||||
@ -38,7 +39,6 @@ import com.sk89q.worldedit.extension.factory.BlockFactory;
|
|||||||
import com.sk89q.worldedit.extension.factory.ItemFactory;
|
import com.sk89q.worldedit.extension.factory.ItemFactory;
|
||||||
import com.sk89q.worldedit.extension.factory.MaskFactory;
|
import com.sk89q.worldedit.extension.factory.MaskFactory;
|
||||||
import com.sk89q.worldedit.extension.factory.PatternFactory;
|
import com.sk89q.worldedit.extension.factory.PatternFactory;
|
||||||
import com.fastasyncworldedit.core.extension.factory.TransformFactory;
|
|
||||||
import com.sk89q.worldedit.extension.platform.Actor;
|
import com.sk89q.worldedit.extension.platform.Actor;
|
||||||
import com.sk89q.worldedit.extension.platform.Capability;
|
import com.sk89q.worldedit.extension.platform.Capability;
|
||||||
import com.sk89q.worldedit.extension.platform.Platform;
|
import com.sk89q.worldedit.extension.platform.Platform;
|
||||||
|
@ -1500,4 +1500,5 @@ public class BrushCommands {
|
|||||||
player.print(Caption.of("worldedit.brush.operation.equip", TextComponent.of(factory.toString())));
|
player.print(Caption.of("worldedit.brush.operation.equip", TextComponent.of(factory.toString())));
|
||||||
ToolCommands.sendUnbindInstruction(player, UNBIND_COMMAND_COMPONENT);
|
ToolCommands.sendUnbindInstruction(player, UNBIND_COMMAND_COMPONENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,6 @@ import com.fastasyncworldedit.core.extent.clipboard.DiskOptimizedClipboard;
|
|||||||
import com.fastasyncworldedit.core.extent.clipboard.MultiClipboardHolder;
|
import com.fastasyncworldedit.core.extent.clipboard.MultiClipboardHolder;
|
||||||
import com.fastasyncworldedit.core.extent.clipboard.ReadOnlyClipboard;
|
import com.fastasyncworldedit.core.extent.clipboard.ReadOnlyClipboard;
|
||||||
import com.fastasyncworldedit.core.extent.clipboard.URIClipboardHolder;
|
import com.fastasyncworldedit.core.extent.clipboard.URIClipboardHolder;
|
||||||
import com.fastasyncworldedit.core.internal.exception.FaweException;
|
|
||||||
import com.fastasyncworldedit.core.internal.io.FastByteArrayOutputStream;
|
import com.fastasyncworldedit.core.internal.io.FastByteArrayOutputStream;
|
||||||
import com.fastasyncworldedit.core.object.FaweLimit;
|
import com.fastasyncworldedit.core.object.FaweLimit;
|
||||||
import com.fastasyncworldedit.core.util.ImgurUtility;
|
import com.fastasyncworldedit.core.util.ImgurUtility;
|
||||||
|
@ -75,9 +75,9 @@ public class ExpandCommands {
|
|||||||
command.condition(new PermissionCondition(ImmutableSet.of("worldedit.selection.expand")));
|
command.condition(new PermissionCondition(ImmutableSet.of("worldedit.selection.expand")));
|
||||||
|
|
||||||
command.addPart(SubCommandPart.builder(
|
command.addPart(SubCommandPart.builder(
|
||||||
Caption.of("vert"),
|
Caption.of("vert"),
|
||||||
TextComponent.of("Vertical expansion sub-command")
|
TextComponent.of("Vertical expansion sub-command")
|
||||||
)
|
)
|
||||||
.withCommands(ImmutableSet.of(createVertCommand(commandManager)))
|
.withCommands(ImmutableSet.of(createVertCommand(commandManager)))
|
||||||
.optional()
|
.optional()
|
||||||
.build());
|
.build());
|
||||||
|
@ -51,7 +51,6 @@ import com.sk89q.worldedit.regions.CuboidRegion;
|
|||||||
import com.sk89q.worldedit.regions.Region;
|
import com.sk89q.worldedit.regions.Region;
|
||||||
import com.sk89q.worldedit.util.TreeGenerator.TreeType;
|
import com.sk89q.worldedit.util.TreeGenerator.TreeType;
|
||||||
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
||||||
import com.sk89q.worldedit.util.formatting.text.format.TextColor;
|
|
||||||
import com.sk89q.worldedit.world.biome.BiomeType;
|
import com.sk89q.worldedit.world.biome.BiomeType;
|
||||||
import com.sk89q.worldedit.world.block.BlockType;
|
import com.sk89q.worldedit.world.block.BlockType;
|
||||||
import org.enginehub.piston.annotation.Command;
|
import org.enginehub.piston.annotation.Command;
|
||||||
@ -637,11 +636,14 @@ public class GenerationCommands {
|
|||||||
((AbstractExtentMask) mask).setExtent(editSession);
|
((AbstractExtentMask) mask).setExtent(editSession);
|
||||||
}
|
}
|
||||||
checkCommandArgument(minY >= editSession.getMinY(), Caption.of("fawe.error.outside-range-lower", "miny",
|
checkCommandArgument(minY >= editSession.getMinY(), Caption.of("fawe.error.outside-range-lower", "miny",
|
||||||
editSession.getMinY()));
|
editSession.getMinY()
|
||||||
|
));
|
||||||
checkCommandArgument(maxY <= editSession.getMaxY(), Caption.of("fawe.error.outside-range-upper", "maxy",
|
checkCommandArgument(maxY <= editSession.getMaxY(), Caption.of("fawe.error.outside-range-upper", "maxy",
|
||||||
editSession.getMaxY()));
|
editSession.getMaxY()
|
||||||
|
));
|
||||||
checkCommandArgument(minY < maxY, Caption.of("fawe.error.argument-size-mismatch", "miny",
|
checkCommandArgument(minY < maxY, Caption.of("fawe.error.argument-size-mismatch", "miny",
|
||||||
"maxy"));
|
"maxy"
|
||||||
|
));
|
||||||
editSession.addOre(region, mask, material, size, freq, rarity, minY, maxY);
|
editSession.addOre(region, mask, material, size, freq, rarity, minY, maxY);
|
||||||
actor.print(Caption.of("fawe.worldedit.visitor.visitor.block", editSession.getBlockChangeCount()));
|
actor.print(Caption.of("fawe.worldedit.visitor.visitor.block", editSession.getBlockChangeCount()));
|
||||||
}
|
}
|
||||||
|
@ -147,8 +147,8 @@ class LegacySnapshotCommands {
|
|||||||
|
|
||||||
if (snapshot == null) {
|
if (snapshot == null) {
|
||||||
actor.print(Caption.of(
|
actor.print(Caption.of(
|
||||||
"worldedit.snapshot.none-before",
|
"worldedit.snapshot.none-before",
|
||||||
TextComponent.of(dateFormat.withZone(session.getTimeZone()).format(date))
|
TextComponent.of(dateFormat.withZone(session.getTimeZone()).format(date))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@ -167,8 +167,8 @@ class LegacySnapshotCommands {
|
|||||||
Snapshot snapshot = config.snapshotRepo.getSnapshotAfter(date, world.getName());
|
Snapshot snapshot = config.snapshotRepo.getSnapshotAfter(date, world.getName());
|
||||||
if (snapshot == null) {
|
if (snapshot == null) {
|
||||||
actor.print(Caption.of(
|
actor.print(Caption.of(
|
||||||
"worldedit.snapshot.none-after",
|
"worldedit.snapshot.none-after",
|
||||||
TextComponent.of(dateFormat.withZone(session.getTimeZone()).format(date))
|
TextComponent.of(dateFormat.withZone(session.getTimeZone()).format(date))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
@ -320,10 +320,10 @@ public class RegionCommands {
|
|||||||
) throws WorldEditException {
|
) throws WorldEditException {
|
||||||
if (from == null) {
|
if (from == null) {
|
||||||
from = new ExistingBlockMask(editSession);
|
from = new ExistingBlockMask(editSession);
|
||||||
//FAWE start > the mask will have been initialised with a WorldWrapper extent (very bad/slow
|
//FAWE start > the mask will have been initialised with a WorldWrapper extent (very bad/slow
|
||||||
} else if (from instanceof AbstractExtentMask) {
|
} else if (from instanceof AbstractExtentMask) {
|
||||||
((AbstractExtentMask) from).setExtent(editSession);
|
((AbstractExtentMask) from).setExtent(editSession);
|
||||||
//FAWE end
|
//FAWE end
|
||||||
}
|
}
|
||||||
if (from instanceof AbstractExtentMask) {
|
if (from instanceof AbstractExtentMask) {
|
||||||
((AbstractExtentMask) from).setExtent(editSession);
|
((AbstractExtentMask) from).setExtent(editSession);
|
||||||
|
@ -272,8 +272,8 @@ public class SnapshotCommands {
|
|||||||
|
|
||||||
if (snapshot == null) {
|
if (snapshot == null) {
|
||||||
actor.print(Caption.of(
|
actor.print(Caption.of(
|
||||||
"worldedit.snapshot.none-before",
|
"worldedit.snapshot.none-before",
|
||||||
TextComponent.of(dateFormat.withZone(session.getTimeZone()).format(date))
|
TextComponent.of(dateFormat.withZone(session.getTimeZone()).format(date))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@ -314,8 +314,8 @@ public class SnapshotCommands {
|
|||||||
}
|
}
|
||||||
if (snapshot == null) {
|
if (snapshot == null) {
|
||||||
actor.print(Caption.of(
|
actor.print(Caption.of(
|
||||||
"worldedit.snapshot.none-after",
|
"worldedit.snapshot.none-after",
|
||||||
TextComponent.of(dateFormat.withZone(session.getTimeZone()).format(date))
|
TextComponent.of(dateFormat.withZone(session.getTimeZone()).format(date))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
@ -122,9 +122,9 @@ public class ToolCommands {
|
|||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
commandManager.register("tool", command -> {
|
commandManager.register("tool", command -> {
|
||||||
command.addPart(SubCommandPart.builder(
|
command.addPart(SubCommandPart.builder(
|
||||||
Caption.of("tool"),
|
Caption.of("tool"),
|
||||||
TextComponent.of("The tool to bind")
|
TextComponent.of("The tool to bind")
|
||||||
)
|
)
|
||||||
.withCommands(nonGlobalCommands)
|
.withCommands(nonGlobalCommands)
|
||||||
.required()
|
.required()
|
||||||
.build());
|
.build());
|
||||||
|
@ -367,11 +367,13 @@ public class ToolUtilCommands {
|
|||||||
desc = "Set the brush transform"
|
desc = "Set the brush transform"
|
||||||
)
|
)
|
||||||
@CommandPermissions({"worldedit.brush.options.transform", "worldedit.transform.brush"})
|
@CommandPermissions({"worldedit.brush.options.transform", "worldedit.transform.brush"})
|
||||||
public void transform(Player player, LocalSession session, EditSession editSession,
|
public void transform(
|
||||||
@Arg(desc = "The transform", def = "") ResettableExtent transform,
|
Player player, LocalSession session, EditSession editSession,
|
||||||
@Switch(name = 'h', desc = "Whether the offhand should be considered or not")
|
@Arg(desc = "The transform", def = "") ResettableExtent transform,
|
||||||
boolean offHand,
|
@Switch(name = 'h', desc = "Whether the offhand should be considered or not")
|
||||||
Arguments arguments) throws WorldEditException {
|
boolean offHand,
|
||||||
|
Arguments arguments
|
||||||
|
) throws WorldEditException {
|
||||||
BrushTool tool = session.getBrushTool(player, false);
|
BrushTool tool = session.getBrushTool(player, false);
|
||||||
if (tool == null) {
|
if (tool == null) {
|
||||||
player.print(Caption.of("fawe.worldedit.brush.brush.none"));
|
player.print(Caption.of("fawe.worldedit.brush.brush.none"));
|
||||||
|
@ -414,7 +414,9 @@ public class UtilityCommands {
|
|||||||
size = Math.max(1, size);
|
size = Math.max(1, size);
|
||||||
we.checkMaxRadius(size);
|
we.checkMaxRadius(size);
|
||||||
|
|
||||||
height = height != null ? Math.min((world.getMaxY() - world.getMinY() + 1), height + 1) : (world.getMaxY() - world.getMinY() + 1);
|
height = height != null
|
||||||
|
? Math.min((world.getMaxY() - world.getMinY() + 1), height + 1)
|
||||||
|
: (world.getMaxY() - world.getMinY() + 1);
|
||||||
int affected = editSession.removeAbove(session.getPlacementPosition(actor), size, height);
|
int affected = editSession.removeAbove(session.getPlacementPosition(actor), size, height);
|
||||||
actor.print(Caption.of("worldedit.removeabove.removed", TextComponent.of(affected)));
|
actor.print(Caption.of("worldedit.removeabove.removed", TextComponent.of(affected)));
|
||||||
return affected;
|
return affected;
|
||||||
@ -437,7 +439,9 @@ public class UtilityCommands {
|
|||||||
size = Math.max(1, size);
|
size = Math.max(1, size);
|
||||||
we.checkMaxRadius(size);
|
we.checkMaxRadius(size);
|
||||||
|
|
||||||
height = height != null ? Math.min((world.getMaxY() - world.getMinY() + 1), height + 1) : (world.getMaxY() - world.getMinY() + 1);
|
height = height != null
|
||||||
|
? Math.min((world.getMaxY() - world.getMinY() + 1), height + 1)
|
||||||
|
: (world.getMaxY() - world.getMinY() + 1);
|
||||||
int affected = editSession.removeBelow(session.getPlacementPosition(actor), size, height);
|
int affected = editSession.removeBelow(session.getPlacementPosition(actor), size, height);
|
||||||
actor.print(Caption.of("worldedit.removebelow.removed", TextComponent.of(affected)));
|
actor.print(Caption.of("worldedit.removebelow.removed", TextComponent.of(affected)));
|
||||||
return affected;
|
return affected;
|
||||||
|
@ -30,11 +30,11 @@ public class BooleanConverter {
|
|||||||
commandManager.registerConverter(
|
commandManager.registerConverter(
|
||||||
Key.of(Boolean.class),
|
Key.of(Boolean.class),
|
||||||
MultiKeyConverter.builder(
|
MultiKeyConverter.builder(
|
||||||
ImmutableSetMultimap.<Boolean, String>builder()
|
ImmutableSetMultimap.<Boolean, String>builder()
|
||||||
.putAll(false, "off", "f", "false", "n", "no")
|
.putAll(false, "off", "f", "false", "n", "no")
|
||||||
.putAll(true, "on", "t", "true", "y", "yes")
|
.putAll(true, "on", "t", "true", "y", "yes")
|
||||||
.build()
|
.build()
|
||||||
)
|
)
|
||||||
.errorMessage(arg -> "Not a boolean value: " + arg)
|
.errorMessage(arg -> "Not a boolean value: " + arg)
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
|
@ -60,6 +60,7 @@ public class FactoryConverter<T> implements ArgumentConverter<T> {
|
|||||||
private final String description;
|
private final String description;
|
||||||
@Nullable
|
@Nullable
|
||||||
private final Consumer<ParserContext> contextTweaker;
|
private final Consumer<ParserContext> contextTweaker;
|
||||||
|
|
||||||
private FactoryConverter(
|
private FactoryConverter(
|
||||||
WorldEdit worldEdit,
|
WorldEdit worldEdit,
|
||||||
Function<WorldEdit, AbstractFactory<T>> factoryExtractor,
|
Function<WorldEdit, AbstractFactory<T>> factoryExtractor,
|
||||||
|
@ -34,12 +34,12 @@ public class RegionFactoryConverter {
|
|||||||
commandManager.registerConverter(
|
commandManager.registerConverter(
|
||||||
Key.of(RegionFactory.class),
|
Key.of(RegionFactory.class),
|
||||||
MultiKeyConverter.builder(
|
MultiKeyConverter.builder(
|
||||||
ImmutableSetMultimap.<RegionFactory, String>builder()
|
ImmutableSetMultimap.<RegionFactory, String>builder()
|
||||||
.put(new CuboidRegionFactory(), "cuboid")
|
.put(new CuboidRegionFactory(), "cuboid")
|
||||||
.put(new SphereRegionFactory(), "sphere")
|
.put(new SphereRegionFactory(), "sphere")
|
||||||
.putAll(new CylinderRegionFactory(1), "cyl", "cylinder")
|
.putAll(new CylinderRegionFactory(1), "cyl", "cylinder")
|
||||||
.build()
|
.build()
|
||||||
)
|
)
|
||||||
.errorMessage(arg -> "Not a known region type: " + arg)
|
.errorMessage(arg -> "Not a known region type: " + arg)
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
|
@ -53,17 +53,17 @@ public final class RegistryConverter<V extends Keyed> implements ArgumentConvert
|
|||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public static void register(CommandManager commandManager) {
|
public static void register(CommandManager commandManager) {
|
||||||
ImmutableList.of(
|
ImmutableList.of(
|
||||||
BlockType.class,
|
BlockType.class,
|
||||||
BlockCategory.class,
|
BlockCategory.class,
|
||||||
ItemType.class,
|
ItemType.class,
|
||||||
ItemCategory.class,
|
ItemCategory.class,
|
||||||
BiomeType.class,
|
BiomeType.class,
|
||||||
EntityType.class,
|
EntityType.class,
|
||||||
FluidType.class,
|
FluidType.class,
|
||||||
FluidCategory.class,
|
FluidCategory.class,
|
||||||
GameMode.class,
|
GameMode.class,
|
||||||
WeatherType.class
|
WeatherType.class
|
||||||
)
|
)
|
||||||
.stream()
|
.stream()
|
||||||
.map(c -> (Class<Keyed>) c)
|
.map(c -> (Class<Keyed>) c)
|
||||||
.forEach(registryType ->
|
.forEach(registryType ->
|
||||||
|
@ -88,7 +88,8 @@ public class FloodFillTool implements BlockTool {
|
|||||||
Mask mask = initialType.toMask(editSession);
|
Mask mask = initialType.toMask(editSession);
|
||||||
BlockReplace function = new BlockReplace(editSession, pattern);
|
BlockReplace function = new BlockReplace(editSession, pattern);
|
||||||
RecursiveVisitor visitor = new RecursiveVisitor(mask, function, range, editSession.getMinY(),
|
RecursiveVisitor visitor = new RecursiveVisitor(mask, function, range, editSession.getMinY(),
|
||||||
editSession.getMaxY(), editSession);
|
editSession.getMaxY(), editSession
|
||||||
|
);
|
||||||
visitor.visit(origin);
|
visitor.visit(origin);
|
||||||
Operations.completeLegacy(visitor);
|
Operations.completeLegacy(visitor);
|
||||||
//FAWE end
|
//FAWE end
|
||||||
|
@ -77,7 +77,7 @@ public class QueryTool implements BlockTool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
builder.append(TextComponent.of(" (" + world.getBlockLightLevel(blockPoint) + "/"
|
builder.append(TextComponent.of(" (" + world.getBlockLightLevel(blockPoint) + "/"
|
||||||
+ world.getBlockLightLevel(blockPoint.add(0, 1, 0)) + ")", TextColor.WHITE)
|
+ world.getBlockLightLevel(blockPoint.add(0, 1, 0)) + ")", TextColor.WHITE)
|
||||||
.hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, Caption.of("worldedit.tool.info.light.hover"))));
|
.hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, Caption.of("worldedit.tool.info.light.hover"))));
|
||||||
|
|
||||||
player.print(builder.build());
|
player.print(builder.build());
|
||||||
|
@ -235,6 +235,7 @@ public final class SuggestionHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//FAWE start
|
//FAWE start
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a stream of suggestions for booleans.
|
* Returns a stream of suggestions for booleans.
|
||||||
*
|
*
|
||||||
|
@ -21,7 +21,6 @@ package com.sk89q.worldedit.extension.factory.parser.mask;
|
|||||||
|
|
||||||
import com.fastasyncworldedit.core.configuration.Caption;
|
import com.fastasyncworldedit.core.configuration.Caption;
|
||||||
import com.fastasyncworldedit.core.extension.factory.parser.AliasedParser;
|
import com.fastasyncworldedit.core.extension.factory.parser.AliasedParser;
|
||||||
import com.fastasyncworldedit.core.util.StringMan;
|
|
||||||
import com.google.common.base.Splitter;
|
import com.google.common.base.Splitter;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.sk89q.worldedit.WorldEdit;
|
import com.sk89q.worldedit.WorldEdit;
|
||||||
@ -36,7 +35,6 @@ import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
|||||||
import com.sk89q.worldedit.world.biome.BiomeType;
|
import com.sk89q.worldedit.world.biome.BiomeType;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
@ -384,9 +384,9 @@ public final class PlatformCommandManager {
|
|||||||
|
|
||||||
final List<Command> subCommands = manager.getAllCommands().collect(Collectors.toList());
|
final List<Command> subCommands = manager.getAllCommands().collect(Collectors.toList());
|
||||||
cmd.addPart(SubCommandPart.builder(
|
cmd.addPart(SubCommandPart.builder(
|
||||||
Caption.of("worldedit.argument.action"),
|
Caption.of("worldedit.argument.action"),
|
||||||
TextComponent.of("Sub-command to run.")
|
TextComponent.of("Sub-command to run.")
|
||||||
)
|
)
|
||||||
.withCommands(subCommands)
|
.withCommands(subCommands)
|
||||||
.required()
|
.required()
|
||||||
.build());
|
.build());
|
||||||
@ -419,9 +419,9 @@ public final class PlatformCommandManager {
|
|||||||
|
|
||||||
final List<Command> subCommands = manager.getAllCommands().collect(Collectors.toList());
|
final List<Command> subCommands = manager.getAllCommands().collect(Collectors.toList());
|
||||||
cmd.addPart(SubCommandPart.builder(
|
cmd.addPart(SubCommandPart.builder(
|
||||||
Caption.of("worldedit.argument.action"),
|
Caption.of("worldedit.argument.action"),
|
||||||
TextComponent.of("Sub-command to run.")
|
TextComponent.of("Sub-command to run.")
|
||||||
)
|
)
|
||||||
.withCommands(subCommands)
|
.withCommands(subCommands)
|
||||||
.required()
|
.required()
|
||||||
.build());
|
.build());
|
||||||
|
@ -29,7 +29,6 @@ import com.fastasyncworldedit.core.queue.Filter;
|
|||||||
import com.fastasyncworldedit.core.util.EditSessionBuilder;
|
import com.fastasyncworldedit.core.util.EditSessionBuilder;
|
||||||
import com.fastasyncworldedit.core.util.MaskTraverser;
|
import com.fastasyncworldedit.core.util.MaskTraverser;
|
||||||
import com.sk89q.worldedit.EditSession;
|
import com.sk89q.worldedit.EditSession;
|
||||||
import com.sk89q.worldedit.MaxChangedBlocksException;
|
|
||||||
import com.sk89q.worldedit.entity.Entity;
|
import com.sk89q.worldedit.entity.Entity;
|
||||||
import com.sk89q.worldedit.extent.Extent;
|
import com.sk89q.worldedit.extent.Extent;
|
||||||
import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormat;
|
import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormat;
|
||||||
|
@ -56,7 +56,11 @@ public class Apply implements Contextual<Operation> {
|
|||||||
@Override
|
@Override
|
||||||
public Operation createFromContext(EditContext context) {
|
public Operation createFromContext(EditContext context) {
|
||||||
//FAWE start > add extent to RegionVisitor to allow chunk preloading
|
//FAWE start > add extent to RegionVisitor to allow chunk preloading
|
||||||
return new RegionVisitor(firstNonNull(context.getRegion(), region), function.createFromContext(context), context.getDestination());
|
return new RegionVisitor(
|
||||||
|
firstNonNull(context.getRegion(), region),
|
||||||
|
function.createFromContext(context),
|
||||||
|
context.getDestination()
|
||||||
|
);
|
||||||
//FAWE end
|
//FAWE end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,11 @@ public class ApplyRegion implements Contextual<Operation> {
|
|||||||
@Override
|
@Override
|
||||||
public Operation createFromContext(EditContext context) {
|
public Operation createFromContext(EditContext context) {
|
||||||
//FAWE start > add extent to RegionVisitor to allow chunk preloading
|
//FAWE start > add extent to RegionVisitor to allow chunk preloading
|
||||||
return new RegionVisitor(firstNonNull(context.getRegion(), region), function.createFromContext(context), context.getDestination());
|
return new RegionVisitor(
|
||||||
|
firstNonNull(context.getRegion(), region),
|
||||||
|
function.createFromContext(context),
|
||||||
|
context.getDestination()
|
||||||
|
);
|
||||||
//FAWE end
|
//FAWE end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,7 +71,13 @@ public class Paint implements Contextual<Operation> {
|
|||||||
Region region = firstNonNull(context.getRegion(), this.region);
|
Region region = firstNonNull(context.getRegion(), this.region);
|
||||||
GroundFunction ground = new GroundFunction(new ExistingBlockMask(destination), function.createFromContext(context));
|
GroundFunction ground = new GroundFunction(new ExistingBlockMask(destination), function.createFromContext(context));
|
||||||
//FAWE start - provide extent for preloading
|
//FAWE start - provide extent for preloading
|
||||||
LayerVisitor visitor = new LayerVisitor(asFlatRegion(region), minimumBlockY(region), maximumBlockY(region), ground, destination);
|
LayerVisitor visitor = new LayerVisitor(
|
||||||
|
asFlatRegion(region),
|
||||||
|
minimumBlockY(region),
|
||||||
|
maximumBlockY(region),
|
||||||
|
ground,
|
||||||
|
destination
|
||||||
|
);
|
||||||
//FAWE end
|
//FAWE end
|
||||||
visitor.setMask(new NoiseFilter2D(new RandomNoise(), density));
|
visitor.setMask(new NoiseFilter2D(new RandomNoise(), density));
|
||||||
return visitor;
|
return visitor;
|
||||||
|
@ -62,6 +62,7 @@ public final class Masks {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//FAWE start
|
//FAWE start
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Negate the given mask.
|
* Negate the given mask.
|
||||||
*
|
*
|
||||||
@ -212,7 +213,8 @@ public final class Masks {
|
|||||||
|
|
||||||
//FAWE start - protected > private
|
//FAWE start - protected > private
|
||||||
protected static class NegatedMask implements Mask {
|
protected static class NegatedMask implements Mask {
|
||||||
//FAWE end
|
|
||||||
|
//FAWE end
|
||||||
protected final Mask mask;
|
protected final Mask mask;
|
||||||
|
|
||||||
private NegatedMask(Mask mask) {
|
private NegatedMask(Mask mask) {
|
||||||
@ -244,6 +246,7 @@ public final class Masks {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static class NegatedMask2D implements Mask2D {
|
private static class NegatedMask2D implements Mask2D {
|
||||||
|
|
||||||
private final Mask2D mask;
|
private final Mask2D mask;
|
||||||
|
|
||||||
private NegatedMask2D(Mask2D mask) {
|
private NegatedMask2D(Mask2D mask) {
|
||||||
|
@ -28,7 +28,6 @@ import com.fastasyncworldedit.core.function.block.CombinedBlockCopy;
|
|||||||
import com.fastasyncworldedit.core.function.block.SimpleBlockCopy;
|
import com.fastasyncworldedit.core.function.block.SimpleBlockCopy;
|
||||||
import com.fastasyncworldedit.core.function.visitor.IntersectRegionFunction;
|
import com.fastasyncworldedit.core.function.visitor.IntersectRegionFunction;
|
||||||
import com.fastasyncworldedit.core.queue.implementation.ParallelQueueExtent;
|
import com.fastasyncworldedit.core.queue.implementation.ParallelQueueExtent;
|
||||||
import com.fastasyncworldedit.core.queue.implementation.SingleThreadQueueExtent;
|
|
||||||
import com.fastasyncworldedit.core.util.ExtentTraverser;
|
import com.fastasyncworldedit.core.util.ExtentTraverser;
|
||||||
import com.fastasyncworldedit.core.util.MaskTraverser;
|
import com.fastasyncworldedit.core.util.MaskTraverser;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
|
@ -114,6 +114,7 @@ public abstract class BreadthFirstSearch implements Operation {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//FAWE start - int depth, min/max y, preloading
|
//FAWE start - int depth, min/max y, preloading
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new instance.
|
* Create a new instance.
|
||||||
*
|
*
|
||||||
@ -290,7 +291,8 @@ public abstract class BreadthFirstSearch implements Operation {
|
|||||||
if (singleQueue != null && Settings.IMP.QUEUE.PRELOAD_CHUNK_COUNT > 1) {
|
if (singleQueue != null && Settings.IMP.QUEUE.PRELOAD_CHUNK_COUNT > 1) {
|
||||||
int cx = Integer.MIN_VALUE;
|
int cx = Integer.MIN_VALUE;
|
||||||
int cz = Integer.MIN_VALUE;
|
int cz = Integer.MIN_VALUE;
|
||||||
outer: for (BlockVector3 from : queue) {
|
outer:
|
||||||
|
for (BlockVector3 from : queue) {
|
||||||
for (BlockVector3 direction : dirs) {
|
for (BlockVector3 direction : dirs) {
|
||||||
if (loadCount > Settings.IMP.QUEUE.PRELOAD_CHUNK_COUNT) {
|
if (loadCount > Settings.IMP.QUEUE.PRELOAD_CHUNK_COUNT) {
|
||||||
break outer;
|
break outer;
|
||||||
|
@ -53,6 +53,7 @@ public class DownwardVisitor extends RecursiveVisitor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//FAWE start - int depth, min/max y, preloading
|
//FAWE start - int depth, min/max y, preloading
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new visitor.
|
* Create a new visitor.
|
||||||
*
|
*
|
||||||
|
@ -49,6 +49,7 @@ public class FlatRegionVisitor implements Operation {
|
|||||||
private int affected = 0;
|
private int affected = 0;
|
||||||
|
|
||||||
//FAWE start - chunk preloading
|
//FAWE start - chunk preloading
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new visitor.
|
* Create a new visitor.
|
||||||
*
|
*
|
||||||
|
@ -19,8 +19,6 @@
|
|||||||
|
|
||||||
package com.sk89q.worldedit.function.visitor;
|
package com.sk89q.worldedit.function.visitor;
|
||||||
|
|
||||||
import com.fastasyncworldedit.core.configuration.Settings;
|
|
||||||
import com.fastasyncworldedit.core.math.BlockVectorSet;
|
|
||||||
import com.fastasyncworldedit.core.queue.implementation.ParallelQueueExtent;
|
import com.fastasyncworldedit.core.queue.implementation.ParallelQueueExtent;
|
||||||
import com.fastasyncworldedit.core.queue.implementation.SingleThreadQueueExtent;
|
import com.fastasyncworldedit.core.queue.implementation.SingleThreadQueueExtent;
|
||||||
import com.fastasyncworldedit.core.util.ExtentTraverser;
|
import com.fastasyncworldedit.core.util.ExtentTraverser;
|
||||||
@ -35,8 +33,6 @@ import com.sk89q.worldedit.math.BlockVector2;
|
|||||||
import com.sk89q.worldedit.math.BlockVector3;
|
import com.sk89q.worldedit.math.BlockVector3;
|
||||||
import com.sk89q.worldedit.regions.FlatRegion;
|
import com.sk89q.worldedit.regions.FlatRegion;
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import static com.google.common.base.Preconditions.checkArgument;
|
import static com.google.common.base.Preconditions.checkArgument;
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
|
|
||||||
@ -61,6 +57,7 @@ public class LayerVisitor implements Operation {
|
|||||||
|
|
||||||
|
|
||||||
//FAWE start - chunk preloading
|
//FAWE start - chunk preloading
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new visitor.
|
* Create a new visitor.
|
||||||
*
|
*
|
||||||
|
@ -44,6 +44,7 @@ public class NonRisingVisitor extends RecursiveVisitor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//FAWE start - int depth, preloading, min/max y
|
//FAWE start - int depth, preloading, min/max y
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new recursive visitor.
|
* Create a new recursive visitor.
|
||||||
*
|
*
|
||||||
|
@ -46,6 +46,7 @@ public class RecursiveVisitor extends BreadthFirstSearch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//FAWE start - int depth, min/max y
|
//FAWE start - int depth, min/max y
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new recursive visitor.
|
* Create a new recursive visitor.
|
||||||
*
|
*
|
||||||
@ -60,6 +61,7 @@ public class RecursiveVisitor extends BreadthFirstSearch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//FAWE start - int depth, min/max y
|
//FAWE start - int depth, min/max y
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new recursive visitor.
|
* Create a new recursive visitor.
|
||||||
*
|
*
|
||||||
|
@ -35,6 +35,7 @@ import com.sk89q.worldedit.math.BlockVector3;
|
|||||||
import com.sk89q.worldedit.regions.Region;
|
import com.sk89q.worldedit.regions.Region;
|
||||||
import com.sk89q.worldedit.util.formatting.text.Component;
|
import com.sk89q.worldedit.util.formatting.text.Component;
|
||||||
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -42,7 +43,8 @@ import java.util.Iterator;
|
|||||||
*
|
*
|
||||||
* @deprecated - FAWE deprecation: Let the queue iterate, not the region function which lacks any kind of optimizations / parallelism
|
* @deprecated - FAWE deprecation: Let the queue iterate, not the region function which lacks any kind of optimizations / parallelism
|
||||||
*/
|
*/
|
||||||
@Deprecated public class RegionVisitor implements Operation {
|
@Deprecated
|
||||||
|
public class RegionVisitor implements Operation {
|
||||||
|
|
||||||
public final Iterable<? extends BlockVector3> iterable;
|
public final Iterable<? extends BlockVector3> iterable;
|
||||||
//FAWE start - allow chunk preloading
|
//FAWE start - allow chunk preloading
|
||||||
@ -55,7 +57,8 @@ import java.util.Iterator;
|
|||||||
/**
|
/**
|
||||||
* @deprecated Use other constructors which will preload chunks during iteration
|
* @deprecated Use other constructors which will preload chunks during iteration
|
||||||
*/
|
*/
|
||||||
@Deprecated public RegionVisitor(Region region, RegionFunction function) {
|
@Deprecated
|
||||||
|
public RegionVisitor(Region region, RegionFunction function) {
|
||||||
this(region, function, null);
|
this(region, function, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,7 +90,8 @@ import java.util.Iterator;
|
|||||||
return affected;
|
return affected;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public Operation resume(RunContext run) throws WorldEditException {
|
@Override
|
||||||
|
public Operation resume(RunContext run) throws WorldEditException {
|
||||||
//FAWE start > allow chunk preloading
|
//FAWE start > allow chunk preloading
|
||||||
if (singleQueue != null && Settings.IMP.QUEUE.PRELOAD_CHUNK_COUNT > 1) {
|
if (singleQueue != null && Settings.IMP.QUEUE.PRELOAD_CHUNK_COUNT > 1) {
|
||||||
/*
|
/*
|
||||||
@ -196,10 +200,12 @@ import java.util.Iterator;
|
|||||||
}
|
}
|
||||||
//FAWE end
|
//FAWE end
|
||||||
|
|
||||||
@Override public void cancel() {
|
@Override
|
||||||
|
public void cancel() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public Iterable<Component> getStatusMessages() {
|
@Override
|
||||||
|
public Iterable<Component> getStatusMessages() {
|
||||||
return ImmutableList.of(Caption.of("worldedit.operation.affected.block", TextComponent.of(getAffected())));
|
return ImmutableList.of(Caption.of("worldedit.operation.affected.block", TextComponent.of(getAffected())));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,12 +113,12 @@ public final class Functions {
|
|||||||
|
|
||||||
// Special cases: we accept varargs for these
|
// Special cases: we accept varargs for these
|
||||||
map.put("min", lookup.findStatic(Doubles.class, "min",
|
map.put("min", lookup.findStatic(Doubles.class, "min",
|
||||||
methodType(double.class, double[].class)
|
methodType(double.class, double[].class)
|
||||||
)
|
)
|
||||||
.asVarargsCollector(double[].class));
|
.asVarargsCollector(double[].class));
|
||||||
map.put("max", lookup.findStatic(Doubles.class, "max",
|
map.put("max", lookup.findStatic(Doubles.class, "max",
|
||||||
methodType(double.class, double[].class)
|
methodType(double.class, double[].class)
|
||||||
)
|
)
|
||||||
.asVarargsCollector(double[].class));
|
.asVarargsCollector(double[].class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,38 +171,38 @@ public final class Functions {
|
|||||||
MethodHandles.Lookup lookup
|
MethodHandles.Lookup lookup
|
||||||
) throws NoSuchMethodException, IllegalAccessException {
|
) throws NoSuchMethodException, IllegalAccessException {
|
||||||
map.put("megabuf", lookup.findSpecial(Functions.class, "megabuf",
|
map.put("megabuf", lookup.findSpecial(Functions.class, "megabuf",
|
||||||
methodType(double.class, double.class), Functions.class
|
methodType(double.class, double.class), Functions.class
|
||||||
)
|
)
|
||||||
.bindTo(this));
|
.bindTo(this));
|
||||||
map.put("megabuf", lookup.findSpecial(Functions.class, "megabuf",
|
map.put("megabuf", lookup.findSpecial(Functions.class, "megabuf",
|
||||||
methodType(double.class, double.class, double.class), Functions.class
|
methodType(double.class, double.class, double.class), Functions.class
|
||||||
)
|
)
|
||||||
.bindTo(this));
|
.bindTo(this));
|
||||||
map.put("closest", lookup.findSpecial(Functions.class, "closest",
|
map.put("closest", lookup.findSpecial(Functions.class, "closest",
|
||||||
methodType(double.class, double.class, double.class, double.class, double.class,
|
methodType(double.class, double.class, double.class, double.class, double.class,
|
||||||
double.class, double.class
|
double.class, double.class
|
||||||
), Functions.class
|
), Functions.class
|
||||||
)
|
)
|
||||||
.bindTo(this));
|
.bindTo(this));
|
||||||
|
|
||||||
// rely on expression field
|
// rely on expression field
|
||||||
map.put("query", lookup.findSpecial(Functions.class, "query",
|
map.put("query", lookup.findSpecial(Functions.class, "query",
|
||||||
methodType(double.class, double.class, double.class, double.class, LocalSlot.class,
|
methodType(double.class, double.class, double.class, double.class, LocalSlot.class,
|
||||||
LocalSlot.class
|
LocalSlot.class
|
||||||
), Functions.class
|
), Functions.class
|
||||||
)
|
)
|
||||||
.bindTo(this));
|
.bindTo(this));
|
||||||
map.put("queryAbs", lookup.findSpecial(Functions.class, "queryAbs",
|
map.put("queryAbs", lookup.findSpecial(Functions.class, "queryAbs",
|
||||||
methodType(double.class, double.class, double.class, double.class, LocalSlot.class,
|
methodType(double.class, double.class, double.class, double.class, LocalSlot.class,
|
||||||
LocalSlot.class
|
LocalSlot.class
|
||||||
), Functions.class
|
), Functions.class
|
||||||
)
|
)
|
||||||
.bindTo(this));
|
.bindTo(this));
|
||||||
map.put("queryRel", lookup.findSpecial(Functions.class, "queryRel",
|
map.put("queryRel", lookup.findSpecial(Functions.class, "queryRel",
|
||||||
methodType(double.class, double.class, double.class, double.class, LocalSlot.class,
|
methodType(double.class, double.class, double.class, double.class, LocalSlot.class,
|
||||||
LocalSlot.class
|
LocalSlot.class
|
||||||
), Functions.class
|
), Functions.class
|
||||||
)
|
)
|
||||||
.bindTo(this));
|
.bindTo(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,8 +116,8 @@ class ExpressionHandles {
|
|||||||
methodType(boolean.class, double.class)
|
methodType(boolean.class, double.class)
|
||||||
));
|
));
|
||||||
CALL_BINARY_OP = lookup.findVirtual(DoubleBinaryOperator.class, "applyAsDouble",
|
CALL_BINARY_OP = lookup.findVirtual(DoubleBinaryOperator.class, "applyAsDouble",
|
||||||
methodType(double.class, double.class, double.class)
|
methodType(double.class, double.class, double.class)
|
||||||
)
|
)
|
||||||
.asType(methodType(Double.class, DoubleBinaryOperator.class, double.class, double.class));
|
.asType(methodType(Double.class, DoubleBinaryOperator.class, double.class, double.class));
|
||||||
NEW_LS_CONSTANT = lookup.findConstructor(
|
NEW_LS_CONSTANT = lookup.findConstructor(
|
||||||
LocalSlot.Constant.class,
|
LocalSlot.Constant.class,
|
||||||
|
@ -68,9 +68,11 @@ class Int2BaseBlockMap extends AbstractInt2ObjectMap<BaseBlock> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private final Int2IntMap commonMap = new Int2IntOpenHashMap(64, 0.9f);
|
private final Int2IntMap commonMap = new Int2IntOpenHashMap(64, 0.9f);
|
||||||
|
|
||||||
{
|
{
|
||||||
commonMap.defaultReturnValue(BlockStateIdAccess.invalidId());
|
commonMap.defaultReturnValue(BlockStateIdAccess.invalidId());
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Int2ObjectMap<BaseBlock> uncommonMap = new Int2ObjectOpenHashMap<>(1, 0.75f);
|
private final Int2ObjectMap<BaseBlock> uncommonMap = new Int2ObjectOpenHashMap<>(1, 0.75f);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -68,7 +68,12 @@ class AnnotatedSubscriberFinder implements SubscriberFindingStrategy {
|
|||||||
throw new IllegalArgumentException("Method " + method + " failed to unreflect.", e);
|
throw new IllegalArgumentException("Method " + method + " failed to unreflect.", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
EventHandler handler = new MethodHandleEventHandler(annotation.priority(), listener, handle, method.getName());
|
EventHandler handler = new MethodHandleEventHandler(
|
||||||
|
annotation.priority(),
|
||||||
|
listener,
|
||||||
|
handle,
|
||||||
|
method.getName()
|
||||||
|
);
|
||||||
methodsInListener.put(eventType, handler);
|
methodsInListener.put(eventType, handler);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ public class MethodEventHandler extends EventHandler {
|
|||||||
* Create a new event handler.
|
* Create a new event handler.
|
||||||
*
|
*
|
||||||
* @param priority the priority
|
* @param priority the priority
|
||||||
* @param method the method
|
* @param method the method
|
||||||
*/
|
*/
|
||||||
public MethodEventHandler(Priority priority, Object object, Method method) {
|
public MethodEventHandler(Priority priority, Object object, Method method) {
|
||||||
super(priority);
|
super(priority);
|
||||||
@ -83,4 +83,5 @@ public class MethodEventHandler extends EventHandler {
|
|||||||
result = 31 * result + method.hashCode();
|
result = 31 * result + method.hashCode();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -32,10 +32,10 @@ public class MethodHandleEventHandler extends EventHandler {
|
|||||||
/**
|
/**
|
||||||
* Create a new event handler that uses MethodHandles to dispatch.
|
* Create a new event handler that uses MethodHandles to dispatch.
|
||||||
*
|
*
|
||||||
* @param priority the priority
|
* @param priority the priority
|
||||||
* @param object The object to invoke it on
|
* @param object The object to invoke it on
|
||||||
* @param methodHandle The handle to invoke
|
* @param methodHandle The handle to invoke
|
||||||
* @param methodName The name of the method (for equality checks)
|
* @param methodName The name of the method (for equality checks)
|
||||||
*/
|
*/
|
||||||
protected MethodHandleEventHandler(Priority priority, Object object, MethodHandle methodHandle, String methodName) {
|
protected MethodHandleEventHandler(Priority priority, Object object, MethodHandle methodHandle, String methodName) {
|
||||||
super(priority);
|
super(priority);
|
||||||
@ -79,4 +79,5 @@ public class MethodHandleEventHandler extends EventHandler {
|
|||||||
|
|
||||||
return Objects.equals(object, that.object);
|
return Objects.equals(object, that.object);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -221,6 +221,7 @@ public interface World extends Extent, Keyed, IChunkCache<IChunkGet> {
|
|||||||
void simulateBlockMine(BlockVector3 position);
|
void simulateBlockMine(BlockVector3 position);
|
||||||
|
|
||||||
//FAWE start
|
//FAWE start
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return items that may drop by destroying this block.
|
* Return items that may drop by destroying this block.
|
||||||
*
|
*
|
||||||
|
@ -318,4 +318,5 @@ public class BaseBlock implements BlockStateHolder<BaseBlock>, TileEntityBlock {
|
|||||||
|
|
||||||
return blockState.getAsString() + nbtString;
|
return blockState.getAsString() + nbtString;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -151,7 +151,7 @@ public class BlockState implements BlockStateHolder<BlockState>, Pattern {
|
|||||||
if (type == null) {
|
if (type == null) {
|
||||||
String input = key.toString();
|
String input = key.toString();
|
||||||
throw new SuggestInputParseException("Does not match a valid block type: " + input, input, () -> Stream.of(
|
throw new SuggestInputParseException("Does not match a valid block type: " + input, input, () -> Stream.of(
|
||||||
BlockTypesCache.values)
|
BlockTypesCache.values)
|
||||||
.filter(b -> StringMan.blockStateMatches(input, b.getId()))
|
.filter(b -> StringMan.blockStateMatches(input, b.getId()))
|
||||||
.map(BlockType::getId)
|
.map(BlockType::getId)
|
||||||
.sorted(StringMan.blockStateComparator(input))
|
.sorted(StringMan.blockStateComparator(input))
|
||||||
@ -464,4 +464,5 @@ public class BlockState implements BlockStateHolder<BlockState>, Pattern {
|
|||||||
|
|
||||||
return equalsFuzzy((BlockState) obj);
|
return equalsFuzzy((BlockState) obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -101,6 +101,7 @@ public interface BlockStateHolder<B extends BlockStateHolder<B>> extends TileEnt
|
|||||||
<V> V getState(Property<V> property);
|
<V> V getState(Property<V> property);
|
||||||
|
|
||||||
//FAWE start
|
//FAWE start
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a BlockStateHolder with the given state and value applied.
|
* Returns a BlockStateHolder with the given state and value applied.
|
||||||
*
|
*
|
||||||
|
@ -1893,7 +1893,7 @@ public final class BlockTypes {
|
|||||||
}
|
}
|
||||||
|
|
||||||
throw new SuggestInputParseException("Does not match a valid block type: " + inputLower, inputLower, () -> Stream.of(
|
throw new SuggestInputParseException("Does not match a valid block type: " + inputLower, inputLower, () -> Stream.of(
|
||||||
BlockTypesCache.values)
|
BlockTypesCache.values)
|
||||||
.filter(b -> StringMan.blockStateMatches(inputLower, b.getId()))
|
.filter(b -> StringMan.blockStateMatches(inputLower, b.getId()))
|
||||||
.map(BlockType::getId)
|
.map(BlockType::getId)
|
||||||
.sorted(StringMan.blockStateComparator(inputLower))
|
.sorted(StringMan.blockStateComparator(inputLower))
|
||||||
|
Loading…
Reference in New Issue
Block a user