Merge remote-tracking branch 'upstream/master' into breaking

This commit is contained in:
Jesse Boyd
2019-04-03 16:53:34 +11:00
281 changed files with 5963 additions and 5444 deletions

View File

@ -19,10 +19,8 @@
package com.sk89q.worldedit.world.registry;
import com.sk89q.worldedit.world.biome.BaseBiome;
import com.sk89q.worldedit.world.biome.BiomeData;
import java.util.List;
import com.sk89q.worldedit.world.biome.BiomeType;
import javax.annotation.Nullable;
@ -31,22 +29,6 @@ import javax.annotation.Nullable;
*/
public interface BiomeRegistry {
/**
* Create a new biome given its biome ID.
*
* @param id its biome ID
* @return a new biome or null if it can't be created
*/
@Nullable
BaseBiome createFromId(int id);
/**
* Get a list of available biomes.
*
* @return a list of biomes
*/
List<BaseBiome> getBiomes();
/**
* Get data about a biome.
*
@ -54,6 +36,6 @@ public interface BiomeRegistry {
* @return a data object or null if information is not known
*/
@Nullable
BiomeData getData(BaseBiome biome);
BiomeData getData(BiomeType biome);
}

View File

@ -24,7 +24,10 @@ import com.google.gson.*;
import com.google.gson.reflect.TypeToken;
import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.util.gson.VectorAdapter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
import java.io.IOException;
import java.lang.reflect.Type;
import java.net.URL;
@ -32,10 +35,6 @@ import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Nullable;
/**
* Provides block data based on the built-in block database that is bundled
@ -50,7 +49,7 @@ import javax.annotation.Nullable;
*/
public class BundledBlockData {
private static final Logger log = Logger.getLogger(BundledBlockData.class.getCanonicalName());
private static final Logger log = LoggerFactory.getLogger(BundledBlockData.class);
private static BundledBlockData INSTANCE;
private final Map<String, BlockEntry> idMap = new HashMap<>();
@ -62,7 +61,7 @@ public class BundledBlockData {
try {
loadFromResource();
} catch (Throwable e) {
log.log(Level.WARNING, "Failed to load the built-in block registry", e);
log.warn("Failed to load the built-in block registry", e);
}
}
@ -73,7 +72,6 @@ public class BundledBlockData {
*/
private void loadFromResource() throws IOException {
GsonBuilder gsonBuilder = new GsonBuilder();
//<<<<<<< HEAD
gsonBuilder.registerTypeAdapter(Vector3.class, new VectorAdapter());
gsonBuilder.registerTypeAdapter(int.class, new JsonDeserializer<Integer>() {
@Override
@ -87,9 +85,6 @@ public class BundledBlockData {
return primitive.getAsInt();
}
});
//=======
// gsonBuilder.registerTypeAdapter(Vector3.class, new VectorAdapter());
//>>>>>>> 399e0ad5... Refactor vector system to be cleaner
Gson gson = gsonBuilder.create();
URL url = BundledBlockData.class.getResource("blocks.json");
if (url == null) {

View File

@ -25,17 +25,16 @@ import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.util.gson.VectorAdapter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
import java.io.IOException;
import java.net.URL;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Nullable;
/**
* Provides item data based on the built-in item database that is bundled
@ -50,7 +49,7 @@ import javax.annotation.Nullable;
*/
public class BundledItemData {
private static final Logger log = Logger.getLogger(BundledItemData.class.getCanonicalName());
private static final Logger log = LoggerFactory.getLogger(BundledItemData.class);
private static BundledItemData INSTANCE;
private final Map<String, ItemEntry> idMap = new HashMap<>();
@ -62,7 +61,7 @@ public class BundledItemData {
try {
loadFromResource();
} catch (Throwable e) {
log.log(Level.WARNING, "Failed to load the built-in item registry", e);
log.warn("Failed to load the built-in item registry", e);
}
}

View File

@ -19,9 +19,7 @@
package com.sk89q.worldedit.world.registry;
import com.sk89q.worldedit.blocks.BaseItem;
import com.sk89q.worldedit.world.item.ItemType;
import com.sk89q.worldedit.world.item.ItemTypes;
import javax.annotation.Nullable;
import java.util.Collection;
@ -35,9 +33,18 @@ public class BundledItemRegistry implements ItemRegistry {
@Nullable
@Override
public BaseItem createFromId(String id) {
ItemType itemType = ItemTypes.get(id);
return itemType == null ? null : new BaseItem(itemType);
public String getName(ItemType itemType) {
String id = itemType.getId();
BundledItemData.ItemEntry itemEntry = BundledItemData.getInstance().findById(id);
if (itemEntry != null) {
String localized = itemEntry.localizedName;
if (localized.equals("Air")) {
int c = id.indexOf(':');
return c < 0 ? id : id.substring(c + 1);
}
return localized;
}
return null;
}
@Override

View File

@ -19,7 +19,6 @@
package com.sk89q.worldedit.world.registry;
import com.sk89q.worldedit.blocks.BaseItem;
import com.sk89q.worldedit.world.item.ItemType;
import javax.annotation.Nullable;
@ -29,13 +28,13 @@ import java.util.Collections;
public interface ItemRegistry {
/**
* Create a new item using its ID.
* Gets the name for the given item.
*
* @param id the id
* @return the item, which may be null if no item exists
* @param itemType the item
* @return The name, or null if it's unknown
*/
@Nullable
BaseItem createFromId(String id);
String getName(ItemType itemType);
/**
* Register all items

View File

@ -43,19 +43,20 @@ import com.sk89q.worldedit.world.item.ItemTypes;
import com.sk89q.worldedit.extension.input.ParserContext;
import com.sk89q.worldedit.util.gson.VectorAdapter;
import it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
import java.io.IOException;
import java.net.URL;
import java.nio.charset.Charset;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Nullable;
import static com.google.common.base.Preconditions.checkNotNull;
public class LegacyMapper {
private static final Logger log = Logger.getLogger(LegacyMapper.class.getCanonicalName());
private static final Logger log = LoggerFactory.getLogger(LegacyMapper.class);
private static LegacyMapper INSTANCE;
private final Int2ObjectArrayMap<Integer> blockStateToLegacyId4Data = new Int2ObjectArrayMap<>();
@ -71,7 +72,7 @@ public class LegacyMapper {
loadFromResource();
} catch (Throwable e) {
e.printStackTrace();
log.log(Level.WARNING, "Failed to load the built-in legacy id registry", e);
log.warn("Failed to load the built-in legacy id registry", e);
}
}
@ -110,7 +111,7 @@ public class LegacyMapper {
blockStateToLegacyId4Data.put(blockState.getInternalId(), (Integer) combinedId);
blockStateToLegacyId4Data.putIfAbsent(blockState.getInternalBlockTypeId(), combinedId);
} catch (Exception e) {
log.fine("Unknown block: " + blockEntry.getValue());
log.warn("Unknown block: " + blockEntry.getValue());
}
}
for (int id = 0; id < 256; id++) {
@ -127,7 +128,7 @@ public class LegacyMapper {
try {
itemMap.put(getCombinedId(itemEntry.getKey()), ItemTypes.get(itemEntry.getValue()));
} catch (Exception e) {
log.fine("Unknown item: " + itemEntry.getValue());
log.warn("Unknown item: " + itemEntry.getValue());
}
}
}

View File

@ -19,11 +19,8 @@
package com.sk89q.worldedit.world.registry;
import com.sk89q.worldedit.world.biome.BaseBiome;
import com.sk89q.worldedit.world.biome.BiomeData;
import java.util.Collections;
import java.util.List;
import com.sk89q.worldedit.world.biome.BiomeType;
import javax.annotation.Nullable;
@ -40,18 +37,7 @@ public class NullBiomeRegistry implements BiomeRegistry {
@Nullable
@Override
public BaseBiome createFromId(int id) {
return null;
}
@Override
public List<BaseBiome> getBiomes() {
return Collections.emptyList();
}
@Nullable
@Override
public BiomeData getData(BaseBiome biome) {
public BiomeData getData(BiomeType biome) {
return null;
}