package Ġcom . red gr ape fruit . just en ough gems . tool Ċ Ċ import Ġcom . red gr ape fruit . just en ough gems . util . R oman Number Ċ import Ġcom . red gr ape fruit . just en ough gems . util . default Item Settings Ċ import Ġcom . red gr ape fruit . just en ough gems . util . new Line Ċ import Ġnet . minecraft . block . BlockState Ċ import Ġnet . minecraft . client . item . Tooltip Context Ċ import Ġnet . minecraft . entity . Living Entity Ċ import Ġnet . minecraft . item .* Ċ import Ġnet . minecraft . text . Literal Text Ċ import Ġnet . minecraft . text . Text Ċ import Ġnet . minecraft . text . Trans latable Text Ċ import Ġnet . minecraft . util . Formatting Ċ import Ġnet . minecraft . util . math . Block Pos Ċ import Ġnet . minecraft . world . World Ċ Ċ private Ġobject ĠGem Tool Common s Ġ{ ĊĠĠĠ Ġfun Ġrender Tooltip ( tooltip : ĠMutable List < Text >, Ġconfig : ĠGem Tool Config , Ġtier : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtooltip . new Line () ĊĊĠĠĠĠĠĠĠ Ġtooltip Ġ+= ĠTrans latable Text (" misc . je g . tier ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( Literal Text ( R oman Number . to R oman ( tier ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. formatted ( Formatting . GREEN ) ĊĊĠĠĠĠĠĠĠ Ġtooltip . new Line () ĊĊĠĠĠĠĠĠĠ Ġtooltip Ġ+= ĠTrans latable Text (" misc . je g . effects _ on _ miner ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( Literal Text (" Ġ(${ config . chance . format ()} % Ġ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( Trans latable Text (" misc . je g . chance ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( Literal Text (" ): ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. formatted ( Formatting . GRAY ) ĊĊĠĠĠĠĠĠĠ Ġconfig . effects . forEach Ġ{ Ġeffect Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtooltip Ġ+= ĠLiteral Text ("- Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( Trans latable Text ( effect . effect Type . translation Key )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( Literal Text (" Ġ(${ effect . duration }, Ġx ${ effect . amp l ifier Ġ+ Ġ 1 }) ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpost Mine ( config : ĠGem Tool Config , Ġminer : ĠL iving Entity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġconfig . chance . if Valid Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig . effects . forEach ( miner :: add Status Effect ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠGem Pick axe Item ( material : ĠTool Material , Ġattack Damage : ĠInt , Ġattack Speed : ĠFloat , Ġprivate Ġval Ġconfig : ĠGem Tool Config , Ġprivate Ġval Ġtier : ĠInt ) ĊĠĠĠ Ġ: ĠPick axe Item ( material , Ġattack Damage , Ġattack Speed , Ġdefault Item Settings ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġappend Tooltip ( stack : ĠItemStack , Ġworld : ĠWorld ?, Ġtooltip : ĠMutable List < Text >, Ġcontext : ĠTooltip Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . append Tooltip ( stack , Ġworld , Ġtooltip , Ġcontext ) ĊĠĠĠĠĠĠĠ ĠGem Tool Common s . render Tooltip ( tooltip , Ġconfig , Ġtier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpost Mine ( stack : ĠItemStack , Ġworld : ĠWorld ?, Ġstate : ĠBlock State , Ġpos : ĠBlockPos , Ġminer : ĠL iving Entity ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . post Mine ( stack , Ġworld , Ġstate , Ġpos , Ġminer ) ĊĠĠĠĠĠĠĠ ĠGem Tool Common s . post Mine ( config , Ġminer ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠGem Ho e Item ( material : ĠTool Material , Ġattack Damage : ĠInt , Ġattack Speed : ĠFloat , Ġprivate Ġval Ġconfig : ĠGem Tool Config , Ġprivate Ġval Ġtier : ĠInt ) ĊĠĠĠ Ġ: ĠH oe Item ( material , Ġattack Damage , Ġattack Speed , Ġdefault Item Settings ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġappend Tooltip ( stack : ĠItemStack , Ġworld : ĠWorld ?, Ġtooltip : ĠMutable List < Text >, Ġcontext : ĠTooltip Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . append Tooltip ( stack , Ġworld , Ġtooltip , Ġcontext ) ĊĠĠĠĠĠĠĠ ĠGem Tool Common s . render Tooltip ( tooltip , Ġconfig , Ġtier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpost Mine ( stack : ĠItemStack , Ġworld : ĠWorld ?, Ġstate : ĠBlock State , Ġpos : ĠBlockPos , Ġminer : ĠL iving Entity ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . post Mine ( stack , Ġworld , Ġstate , Ġpos , Ġminer ) ĊĠĠĠĠĠĠĠ ĠGem Tool Common s . post Mine ( config , Ġminer ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠGem Sh o vel Item ( material : ĠTool Material , Ġattack Damage : ĠFloat , Ġattack Speed : ĠFloat , Ġprivate Ġval Ġconfig : ĠGem Tool Config , Ġprivate Ġval Ġtier : ĠInt ) ĊĠĠĠ Ġ: ĠSh o vel Item ( material , Ġattack Damage , Ġattack Speed , Ġdefault Item Settings ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġappend Tooltip ( stack : ĠItemStack , Ġworld : ĠWorld ?, Ġtooltip : ĠMutable List < Text >, Ġcontext : ĠTooltip Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . append Tooltip ( stack , Ġworld , Ġtooltip , Ġcontext ) ĊĠĠĠĠĠĠĠ ĠGem Tool Common s . render Tooltip ( tooltip , Ġconfig , Ġtier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpost Mine ( stack : ĠItemStack , Ġworld : ĠWorld ?, Ġstate : ĠBlock State , Ġpos : ĠBlockPos , Ġminer : ĠL iving Entity ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . post Mine ( stack , Ġworld , Ġstate , Ġpos , Ġminer ) ĊĠĠĠĠĠĠĠ ĠGem Tool Common s . post Mine ( config , Ġminer ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ