Fix some api compatibility issues

This commit is contained in:
Jesse Boyd
2018-08-14 17:18:49 +10:00
parent 22511b2e19
commit 55d34343dd
10 changed files with 134 additions and 47 deletions

View File

@ -19,6 +19,7 @@
package com.sk89q.worldedit.extension.factory;
import com.boydti.fawe.util.MathMan;
import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.blocks.BaseItem;
import com.sk89q.worldedit.extension.input.InputParseException;
@ -26,6 +27,7 @@ import com.sk89q.worldedit.extension.input.ParserContext;
import com.sk89q.worldedit.extension.platform.Capability;
import com.sk89q.worldedit.internal.registry.InputParser;
import com.sk89q.worldedit.world.item.ItemType;
import com.sk89q.worldedit.world.item.ItemTypes;
import com.sk89q.worldedit.world.registry.LegacyMapper;
public class DefaultItemParser extends InputParser<BaseItem> {
@ -44,8 +46,17 @@ public class DefaultItemParser extends InputParser<BaseItem> {
ItemType type;
if (split.length == 1) {
type = LegacyMapper.getInstance().getItemFromLegacy(Integer.parseInt(split[0]));
} else {
} else if (MathMan.isInteger(split[0])) {
type = LegacyMapper.getInstance().getItemFromLegacy(Integer.parseInt(split[0]), Integer.parseInt(split[1]));
} else {
type = ItemTypes.parse(input);
if (type != null) {
Integer legacy = LegacyMapper.getInstance().getLegacyCombined(type);
if (legacy != null) {
ItemTypes newType = LegacyMapper.getInstance().getItemFromLegacy(legacy >> 4, Integer.parseInt(split[1]));
if (newType != null) type = newType;
}
}
}
item = new BaseItem(type);
} catch (NumberFormatException e) {