Merge branch 'breaking' into breaking-114

This commit is contained in:
Jesse Boyd
2019-07-11 08:08:55 +10:00
94 changed files with 887 additions and 1160 deletions

View File

@ -35,6 +35,7 @@ import com.sk89q.worldedit.world.block.BlockType;
import com.sk89q.worldedit.world.block.BlockTypes;
import javax.annotation.Nullable;
import java.nio.file.Path;
import java.util.PriorityQueue;
/**
@ -55,6 +56,10 @@ public abstract class AbstractWorld implements World {
return setBlock(pt, block, true);
}
@Override
public Path getStoragePath() {
return null;
}
@Override
public int getMaxY() {
return getMaximumPoint().getBlockY();

View File

@ -20,29 +20,29 @@
package com.sk89q.worldedit.world;
import com.boydti.fawe.util.SetQueue;
import com.sk89q.worldedit.*;
import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.WorldEditException;
import com.sk89q.worldedit.blocks.BaseItem;
import com.sk89q.worldedit.blocks.BaseItemStack;
import com.sk89q.worldedit.function.mask.BlockTypeMask;
import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldedit.util.TreeGenerator;
import com.sk89q.worldedit.world.block.*;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.extension.platform.Platform;
import com.sk89q.worldedit.function.mask.BlockMask;
import com.sk89q.worldedit.function.mask.BlockTypeMask;
import com.sk89q.worldedit.function.mask.Mask;
import com.sk89q.worldedit.function.operation.Operation;
import com.sk89q.worldedit.math.BlockVector2;
import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.util.Direction;
import com.sk89q.worldedit.util.TreeGenerator;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BlockType;
import com.sk89q.worldedit.world.block.BlockTypes;
import com.sk89q.worldedit.world.weather.WeatherType;
import com.sk89q.worldedit.world.weather.WeatherTypes;
import java.util.HashMap;
import java.util.PriorityQueue;
import javax.annotation.Nullable;
import java.nio.file.Path;
/**
* An abstract implementation of {@link World}.
@ -67,6 +67,10 @@ public interface SimpleWorld extends World {
@Override
<B extends BlockStateHolder<B>> boolean setBlock(BlockVector3 pt, B block) throws WorldEditException;
@Nullable @Override default Path getStoragePath() {
return null;
}
@Override
default int getMaxY() {
return getMaximumPoint().getBlockY();
@ -117,11 +121,6 @@ public interface SimpleWorld extends World {
return BlockVector3.at(30000000, 255, 30000000);
}
@Override
default @Nullable Operation commit() {
return null;
}
@Override
default boolean generateTree(TreeGenerator.TreeType type, EditSession editSession, BlockVector3 position) throws MaxChangedBlocksException {

View File

@ -38,6 +38,9 @@ import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BlockType;
import com.sk89q.worldedit.world.weather.WeatherType;
import javax.annotation.Nullable;
import java.nio.file.Path;
/**
* Represents a world (dimension).
*/
@ -50,11 +53,21 @@ public interface World extends Extent {
*/
String getName();
/**
* Get the folder in which this world is stored. May return null if unknown
* or if this world is not serialized to disk.
*
* @return world storage path
*/
@Nullable
Path getStoragePath();
/**
* Get the maximum Y.
*
* @return the maximum Y
*/
@Override
int getMaxY();
/**

View File

@ -946,7 +946,7 @@ public final class BlockTypes {
// Get the enum name (remove namespace if minecraft:)
int propStart = id.indexOf('[');
String typeName = id.substring(0, propStart == -1 ? id.length() : propStart);
String enumName = (typeName.startsWith("minecraft:") ? typeName.substring(10) : typeName).toUpperCase();
String enumName = (typeName.startsWith("minecraft:") ? typeName.substring(10) : typeName).toUpperCase(Locale.ROOT);
BlockType existing = new BlockType(id, internalId, states);

View File

@ -20,6 +20,7 @@
package com.sk89q.worldedit.world.entity;
import javax.annotation.Nullable;
import java.util.Locale;
public class EntityTypes {
@ -162,7 +163,7 @@ public class EntityTypes {
}
return parse(result.toString());
}
switch (id.toLowerCase()) {
switch (id.toLowerCase(Locale.ROOT)) {
case "xp_orb":
return EntityTypes.EXPERIENCE_ORB;
case "xp_bottle":

View File

@ -25,6 +25,7 @@ import com.sk89q.worldedit.world.registry.LegacyMapper;
import javax.annotation.Nullable;
import java.util.Collection;
import java.util.Optional;
import java.util.Locale;
public final class ItemTypes {
@ -915,7 +916,7 @@ public final class ItemTypes {
@Nullable
public static ItemType parse(String input) {
input = input.toLowerCase();
input = input.toLowerCase(Locale.ROOT);
if (!Character.isAlphabetic(input.charAt(0))) {
try {
ItemType legacy = LegacyMapper.getInstance().getItemFromLegacy(input);