Vanilla Object Mappers
There are a number of Object Mappers that GroovyScript adds by default. They offer a shorthand way to get the object easily.
Like most Object Mappers, the best way to obtain these is via a GroovyScript info command.
Resource
The resource Object Mapper allows you to retrieve a ResourceLocation.
There are three ways to call the resource Object Mapper:
- When two Strings are passed in, the first is the
namespaceand the second will be thepath. - When only one String is passed in, if there is a colon
:then it is split by the colon into the samenamespaceandpath. - If there is only one String, it will be interpreted as the
path, and the GroovyScriptpackidwill be used as thenamespace.
Using only a single String separating the namespace and path with a colon : is the canonical form.
Default namespace value
In some other places, when omitting the namespace from the ResourceLocation, minecraft will be used as the default namespace.
This is not the case in GroovyScript, and the GroovyScript packid is used instead.
resource('minecraft', 'clay')
resource('minecraft:dirt')
resource('custom_item')Ore
The ore Object Mapper allows you to retrieve an IIngredient representing the relevant OreDictionary.
There are two ways to call the ore Object Mapper:
- The full name of the OreDictionary being targeted.
- Using an asterisk
*creates anOreDictWildcardIngredientwhich matches anything that has an ore that matches the rest of the text.
ore('ingotIron')
ore('oreDiamond')
ore('ingot*') // every oredict that starts with 'ingot'
ore('*Gold') // every oredict that ends with 'Gold'
ore('*or*') // every oredict that contains 'or'
ore('*') // every oredictItemStack
The item Object Mapper allows you to retrieve an ItemStack.
You can either get an ItemStack with a specific metadata or an ItemStack accepting any metadata.
To target the desired ItemStack, use the ResourceLocation of it in the same format as the canonical form of resource Object Mapper.
By default the ItemStack will have a metadata of 0, but it can be specified using the int parameter.
To create an ItemStack that allows any metadata, use a colon : followed by an asterisk *.
If called without parameters or otherwise is invalid, ItemStack.EMPTY will be returned.
item() // ItemStack.EMPTY
item('minecraft:diamond')
item('minecraft:gold')
item('minecraft:iron_sword:*')
item('minecraft:diamond_pickaxe')
item('minecraft:iron_sword', 5)Liquid And Fluid
The liquid and fluid Object Mappers allows you to retrieve a FluidStack. They are both the same method internally, and have merely been provided as an alias of each other.
To target the desired FluidStack, use name of the Fluid.
fluid('water')
liquid('lava')Block
The block Object Mapper allows you to retrieve a Block.
To target the desired Block, use the ResourceLocation of it in the same format as the canonical form of resource Object Mapper.
If called without parameters or otherwise is invalid, Blocks.AIR will be returned.
block() // Blocks.AIR
block('minecraft:red_flower')
block('minecraft:obsidian')BlockState
The blockstate Object Mapper allows you to retrieve an IBlockState.
The IBlockState is made up of a Block and some number of optional state values.
To target the desired Block, use the ResourceLocation of it in the same format as the canonical form of resource Object Mapper.
To target a specific IBlockState, either
- Use an
intseparated by a colon:or as a second parameter - Specify the
property=valueentries
If called without parameters or otherwise is invalid, Blocks.AIR.getDefaultState() will be returned.
blockstate() // Blocks.AIR.getDefaultState()
blockstate('minecraft:clay')
blockstate('minecraft:stained_glass:1')
blockstate('minecraft:stained_glass', 5)
blockstate('minecraft:yellow_flower:type=dandelion')
blockstate('minecraft:log', 'axis=z', 'variant=oak')
blockstate('minecraft:log:axis=z,variant=jungle')Material
The blockmaterial Object Mapper allows you to retrieve a Material.
To target the desired Material, use its name.
blockmaterial('tnt')
blockmaterial('sponge')Enchantment
The enchantment Object Mapper allows you to retrieve an Enchantment.
To target the desired Enchantment, use the ResourceLocation of it in the same format as the canonical form of resource Object Mapper.
enchantment('minecraft:unbreaking')
enchantment('minecraft:sharpness')Potion
The potion Object Mapper allows you to retrieve a Potion.
To target the desired Potion, use the ResourceLocation of it in the same format as the canonical form of resource Object Mapper.
potion('minecraft:luck')
potion('minecraft:speed')PotionType
The potionType Object Mapper allows you to retrieve a PotionType.
To target the desired PotionType, use the ResourceLocation of it in the same format as the canonical form of resource Object Mapper.
potionType('minecraft:fire_resistance')
potionType('minecraft:long_water_breathing')Sound
The sound Object Mapper allows you to retrieve a SoundEvent.
To target the desired SoundEvent, use the ResourceLocation of it in the same format as the canonical form of resource Object Mapper.
sound('minecraft:block.glass.break')
sound('minecraft:block.anvil.destroy')Entity
The entity Object Mapper allows you to retrieve an EntityEntry.
To target the desired EntityEntry, use the ResourceLocation of it in the same format as the canonical form of resource Object Mapper.
entity('minecraft:wither_skeleton')
entity('minecraft:sheep')
entity('minecraft:villager')Dimension
The dimension Object Mapper allows you to retrieve a DimensionType.
To target the desired DimensionType, use the name of the Dimension.
dimension('overworld')
dimension('the_nether')
dimension('the_end')Biome
The biome Object Mapper allows you to retrieve a Biome.
To target the desired Biome, use the ResourceLocation of it in the same format as the canonical form of resource Object Mapper.
biome('minecraft:sky')
biome('minecraft:hell')Profession
The profession Object Mapper allows you to retrieve a VillagerProfession.
To target the desired VillagerProfession, use the ResourceLocation of it in the same format as the canonical form of resource Object Mapper.
profession('minecraft:farmer')
profession('minecraft:nitwit')Career
The career Object Mapper allows you to retrieve a VillagerCareer.
To target the desired VillagerCareer, use the name of the Career.
career('farmer')
career('fisherman')
career('cartographer')CreativeTab
The creativeTab Object Mapper allows you to retrieve a CreativeTab.
To target the desired CreativeTab, use the name of the Creative Tab.
creativeTab('buildingBlocks')
creativeTab('food')Textformat
The textformat Object Mapper allows you to retrieve a TextFormatting.
To target the desired TextFormatting, use the name of the Text Formatting entry.
textformat('dark_green')
textformat('yellow')
textformat('underline')
textformat('reset')Nbt
The nbt Object Mapper allows you to create an NBTTagCompound.
Unlike most other Object Mappers, this is a shorthand way to create a new instance, not to retrieve an already existing Object.
nbt('{"key": "value"}')