Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
A mod that adds custom eye items that locate and point toward ANY structure made for modpack developers. Define as many eyes as you want in a highly configurable toml file, inputting the structure, item texture, search radius, and the particle color.
Planned features
- Custom textured eyes using resource packs instead of kubejs allow for more flexibility and easier configuration.
Configuration
Eyes are defined in .minecraft/config/structureeye-eyes.toml. The file is created automatically on first launch just add [[eye]] blocks to it. Fields:
- name — registry name for the item, no spaces. This is what shows up in /give commands.
- displayName — what the item is called in-game. Defaults to name if omitted.
- textureItem — any item's texture to use for the eye. Works with modded items too.
- targetStructure — the structure's registry key. Use /locate or to find IDs for modded structures.
- searchRadius — how many chunks out to search. Defaults to 128, max 256. Higher values are slower.
- glowColor — ARGB hex color for the particle trail (e.g. #FFFF0000 for red).
- showCoordinates — set to true to print Found "Name" at X, Y, Z in chat when a structure is found. -skipVisited — once you've visited a structure, the eye won't lead you there again. It will always find the next nearest one instead.
Example:
[[eye]]
name = "fortress_eye"
displayName = "Eye of the Fortress"
textureItem = "minecraft:blaze_powder"
targetStructure = "minecraft:fortress"
searchRadius = 128
glowColor = "#FFFF6600"
showCoordinates = true
skipVisited = true
[[eye]]
name = "temple_eye"
displayName = "Eye of the Desert Temple"
textureItem = "minecraft:gold_nugget"
targetStructure = "minecraft:desert_pyramid"
searchRadius = 96
glowColor = "#FFFFFF00"
showCoordinates = false
skipVisited = false
###Custom Textures There are two ways to give an eye a custom texture. Option 1: Resource Pack (recommended) Create a zip file with this structure:
MyResourcePack.zip
pack.mcmeta
assets/structureeye/textures/item/
your_eye_name.png
The pack.mcmeta should look like this:
{
"pack": {
"pack_format": 15,
"description": "My custom eye textures"
}
}
Drop the zip into .minecraft/resourcepacks/ and enable it in-game. Then in your config, use texturePath instead of textureItem:
[[eye]]
name = "my_eye"
displayName = "My Custom Eye"
texturePath = "structureeye:item/your_eye_name"
targetStructure = "minecraft:stronghold"
searchRadius = 128
glowColor = "#FF00FFFF"
showCoordinates = false
skipVisited = true
Custom Textures with KubeJS
For custom eye textures, KubeJS can be used as a replacement for texture packs. Register an item with the texture you want for your eye and set the "textureItem" in the config to your KubeJS item.
How to create a kubejs item:
// kubejs/startup_scripts/items.js
StartupEvents.registry('item', event => {
event.create('ItemId')
.displayName('ItemName')
.texture('kubejs:item/ItemId') // this isnt required, if the file name is the same then it would automatically register it
})
Put your texture at kubejs/assets/kubejs/textures/item/ItemId and set textureItem = "kubejs:ItemId" in the config.


