The 1.20.1 version of this README can be found here.
Trofers is a Minecraft mod that adds customizable trophies, which can be added using data packs. The data pack that comes with the mod includes a trophy for every vanilla mob, and supports some modded mobs as well. Entities have a small chance to drop these when killed by a player. The drop rate for the trophies that come with the mod can be changed in the config.
Trophy JSONs are placed in the data/<namespace>/trofers/trophies folder. The following fields can be customized
(all fields are optional unless stated otherwise):
name: The name of the trophy as a text component (can be a string). Information on how to format these can be found here.tooltip: Either a single text component, or a list of text components, one for each tooltip lineitem: An object describing the item the trophy should display. Contains the following fields:id: (required) The item IDcount: The size of the item stackcomponents: The components item stack
entity: An object describing the entity the trophy should display. Contains the following fields:id: (required) The entity IDtag: The NBT tag of the entity
display: An object containing information about how to display the item or entityoffset: (default = [0,0,0]) Offset from the center of the trophy, as a list of 3 numbers. Distance is measured in 1/16-ths of a blockrotation: (default = [0,0,0] ) The rotation of the item or entity, as a list of 3 numbers. Each element is the rotation in degrees around that axis.scale: (default = 1) The size of the item/entity
animation: An object describing the animation of the item/entitytype: (default = "fixed") The animation type, either "fixed", "spinning" or "tumbling"speed: (default = 1) Affects the speed of the animation
colors: An object describing the colors of the trophy basebase: (default = "#FFFFFF") A color, either in hexadecimal as a string ("#RRGGBB"), or as a list of 3 integers between 0 and 255accentA color, formatted the same way asbase
effects: An object describing effects that should apply when the trophy is right-clickedsound: A sound to play when the trophy is right-clickedid: A sound event identifiervolume: (default = 1) the volume to play the sound event atpitch: (default = 1) the pitch to play the sound event at
rewards: Rewards given to the player when the trophy is right-clickedloot_table: A loot table ID to generate loot frommob_effect: A potion effect to apply to the playerid: (required) The effect IDduration: (required) The amount of time in ticks the effect should lastamplifier: (default = 0) The amplifier of the effect (effect level - 1)show_particles: (default = true) Whether the effect should spawn particles around the playershow_icon: (default = true) Whether the effect's icon should be shown in the HUD
cooldown: (default = 0) The amount of time it takes in ticks before the reward(s) can be claimed again
is_hidden: (default = false) Whether the trophy should be hidden from trophy selection screen in creative mode
For example trophies see the default data pack.
Trofers currently adds 6 trophy bases.
Placing one down and right-clicking it while in creative will open a menu that allows you to pick any existing trophy.
You can also set the trophy by setting the item's trophy component: /give @a trofers:small_pillar[trofers:trophy="namespace:trophy_name"].
Changes made to your data pack will also apply to any existing trophies.
Because overriding loot tables can be annoying,
Trofers adds a data pack resource type which can be used
to make entities drop trophies.
These are placed under data/<namespace>/trofers/entity_drops.
The file should have the following structure:
-
conditions: A list of loot conditions that determine when to apply the loot modifier. Trofers uses aminecraft:killed_by_playerand atrofers:random_trophy_chancecondition here. The latter is a loot condition added by Trofers that succeeds if a randomly generated number is smaller than the trophy chance value set in the config. -
trophy_base: The ID of an item to use as the trophy base. The available options are:trofers:<size>_platetrofers:<size>_pillar
where
<size>can be eithersmall,mediumorlarge. -
trophies: An object with multiple key-value pairs. Each key should correspond with an entity type id, and its value the id of the trophy it should drop. (Note: for entities that can drop multiple trophies you will need multiple files)
If all trophies have the same drop conditions and trophy base, you only need a single file.
Example:
{
"conditions": [
{
"condition": "minecraft:killed_by_player"
},
{
"condition": "trofers:random_trophy_chance"
}
],
"trophy_base": "trofers:small_pillar",
"trophies": {
"minecraft:axolotl": "my_namespace:custom_axolotl_trophy",
"minecraft:creeper": "trofers:creeper",
"quark:crab": "trofers:quark/crab",
}
}It's also possible to make trophies drop from advancements.
The files for these should be placed under data/<namespace>/trofers/advancement_drops,
and use the following format:
conditions: Same as with entity drops. Trofers uses thetrofers:advancement_drops_enabledloot condition here, which checks whether advancement drops are enabled in the config.trophy_base: Same as with entity drops.trophies: An object with multiple key-value pairs. Each key should correspond with an advancement id, and its value with the id of the trophy it should drop.
Example:
{
"conditions": [
"trofers:advancement_drops_enabled"
],
"trophy_base": "trofers:large_plate",
"trophies": {
"minecraft:nether/uneasy_alliance" : "my_namespace:some_custom_trophy",
"minecraft:story/cure_zombie_villager" : "trofers:villager"
}
}
