mirror of
https://github.com/EngineHub/WorldEdit.git
synced 2024-12-27 05:00:08 +08:00
Fixed the item parser not using the ItemRegistry
This commit is contained in:
parent
c5d9aadab8
commit
6312bcecf6
@ -23,9 +23,9 @@
|
||||
import com.sk89q.worldedit.blocks.BaseItem;
|
||||
import com.sk89q.worldedit.extension.input.InputParseException;
|
||||
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> {
|
||||
@ -53,8 +53,10 @@ public BaseItem parseFromInput(String input, ParserContext context) throws Input
|
||||
}
|
||||
|
||||
if (item == null) {
|
||||
item = WorldEdit.getInstance().getPlatformManager()
|
||||
.queryCapability(Capability.GAME_HOOKS).getRegistries().getItemRegistry().createFromId(input.toLowerCase());
|
||||
ItemType type = ItemTypes.get(input.toLowerCase());
|
||||
if (type != null) {
|
||||
item = new BaseItem(type);
|
||||
}
|
||||
}
|
||||
|
||||
if (item == null) {
|
||||
|
@ -19,22 +19,10 @@
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
* A item registry that uses {@link BundledItemRegistry} to serve information
|
||||
* about items.
|
||||
*/
|
||||
public class BundledItemRegistry implements ItemRegistry {
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public BaseItem createFromId(String id) {
|
||||
ItemType itemType = ItemTypes.get(id);
|
||||
return itemType == null ? null : new BaseItem(itemType);
|
||||
}
|
||||
}
|
||||
|
@ -19,19 +19,6 @@
|
||||
|
||||
package com.sk89q.worldedit.world.registry;
|
||||
|
||||
import com.sk89q.worldedit.blocks.BaseItem;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public interface ItemRegistry {
|
||||
|
||||
/**
|
||||
* Create a new item using its ID.
|
||||
*
|
||||
* @param id the id
|
||||
* @return the item, which may be null if no item exists
|
||||
*/
|
||||
@Nullable
|
||||
BaseItem createFromId(String id);
|
||||
|
||||
}
|
||||
|
@ -19,23 +19,8 @@
|
||||
|
||||
package com.sk89q.worldedit.forge;
|
||||
|
||||
import com.sk89q.worldedit.blocks.BaseItem;
|
||||
import com.sk89q.worldedit.world.item.ItemTypes;
|
||||
import com.sk89q.worldedit.world.registry.ItemRegistry;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class ForgeItemRegistry implements ItemRegistry {
|
||||
@Nullable
|
||||
@Override
|
||||
public BaseItem createFromId(String id) {
|
||||
Item match = Item.REGISTRY.getObject(new ResourceLocation(id));
|
||||
if (match != null) {
|
||||
return new BaseItem(ItemTypes.get(id));
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user