Overview
diff --git a/1.18.x/category/champions.html b/1.18.x/category/champions.html index f52994a..543f676 100644 --- a/1.18.x/category/champions.html +++ b/1.18.x/category/champions.html @@ -4,8 +4,8 @@Champions
A Minecraft mod introducing elite mobs with enhanced stats and abilities.
📄️ Loot
All champions get their drops from the Champions loot table, which is enabled when the lootSource configuration value in the
📄️ Commands
All the Champions commands are available through /champions.
📄️ NBT Tags
As an alternative to the convenient but limited summoning methods outlined in Commands, Champions provides a way to specify rank and affix data directly through NBT tags.
🗃️ Mod Integrations
2 items
Commands
diff --git a/1.18.x/champions/integration/gamestages.html b/1.18.x/champions/integration/gamestages.html index f6daaba..5940d6f 100644 --- a/1.18.x/champions/integration/gamestages.html +++ b/1.18.x/champions/integration/gamestages.html @@ -4,8 +4,8 @@Game Stages
diff --git a/1.18.x/champions/integration/scalinghealth.html b/1.18.x/champions/integration/scalinghealth.html index e2f6345..3b1c535 100644 --- a/1.18.x/champions/integration/scalinghealth.html +++ b/1.18.x/champions/integration/scalinghealth.html @@ -4,8 +4,8 @@Scaling Health
diff --git a/1.18.x/champions/loottable.html b/1.18.x/champions/loottable.html index 72f8cb3..4667861 100644 --- a/1.18.x/champions/loottable.html +++ b/1.18.x/champions/loottable.html @@ -4,8 +4,8 @@Loot
diff --git a/1.18.x/champions/nbt.html b/1.18.x/champions/nbt.html index 0a68917..1e88da8 100644 --- a/1.18.x/champions/nbt.html +++ b/1.18.x/champions/nbt.html @@ -4,8 +4,8 @@NBT Tags
diff --git a/404.html b/404.html index 2e7a7f5..b196757 100644 --- a/404.html +++ b/404.html @@ -4,8 +4,8 @@Page Not Found
We could not find what you were looking for.
Please contact the owner of the site that linked you to the original URL and let them know their link is broken.
ICurio
capability",id:"attaching-an-icurio-capability",level:2},{value:"Implementing the ICurioItem
interface",id:"implementing-the-icurioitem-interface",level:2},{value:"Registering an ICurioItem
implementation",id:"registering-an-icurioitem-implementation",level:2},{value:"Priority",id:"priority",level:2}];function d(e){const i={admonition:"admonition",code:"code",h1:"h1",h2:"h2",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.h1,{id:"creating-a-curio",children:"Creating a Curio"}),"\n",(0,n.jsx)(i.p,{children:"A tutorial on how to attach curio capabilities to your items."}),"\n",(0,n.jsx)(i.h2,{id:"overview",children:"Overview"}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.p,{children:"Curios comes with interfaces that you can attach to your items in order to define certain behaviors for those items when\ninteracting with curios slots. This includes events such as ticking while in a curio slot or triggering certain actions\nwhen equipped or unequipped into a curio slot."}),"\n",(0,n.jsxs)(i.p,{children:["There are three main ways to implement the capability on your item: directly attaching an ",(0,n.jsx)(i.code,{children:"ICurio"})," implementation as a\ncapability, extending the ",(0,n.jsx)(i.code,{children:"ICurioItem"})," interface on your item, or registering an ",(0,n.jsx)(i.code,{children:"ICurioItem"})," implementation to an item."]}),"\n",(0,n.jsxs)(i.p,{children:["Only ",(0,n.jsx)(i.strong,{children:"one"})," of these methods needs to be implemented for the curio item to work."]}),"\n",(0,n.jsxs)(i.h2,{id:"attaching-an-icurio-capability",children:["Attaching an ",(0,n.jsx)(i.code,{children:"ICurio"})," capability"]}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.p,{children:"This is recommended for mods that are Forge-oriented, due to the use of capabilities, and want to attach the\ncapability optionally to their own items or another mod's items."}),"\n",(0,n.jsxs)(i.p,{children:["To attach the capability to your own items, override the ",(0,n.jsx)(i.code,{children:"IForgeItem#initCapabilities"})," method:"]}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-java",children:"@Override\npublic ICapabilityProvider initCapabilities(ItemStack stack, CompoundTag unused) {\n return CuriosApi.createCurioProvider(new ICurio() {\n \n @Override\n public ItemStack getStack() {\n return stack;\n }\n\n @Override\n public void curioTick(SlotContext slotContext) {\n // ticking logic here\n }\n });\n}\n"})}),"\n",(0,n.jsxs)(i.p,{children:["The ",(0,n.jsx)(i.code,{children:"ICurio"})," implementation in the example can be replaced or extended by your own custom implementation. The\nimplementation can also exist in a separate class altogether as long as the instantiation is still done in the\n",(0,n.jsx)(i.code,{children:"IForgeItem#initCapabilities"})," method."]}),"\n",(0,n.jsxs)(i.p,{children:["To attach the capability to any item, including vanilla's and other mods', subscribe to the\n",(0,n.jsx)(i.code,{children:"AttachCapabilitiesEventICurio
capability",id:"attaching-an-icurio-capability",level:2},{value:"Implementing the ICurioItem
interface",id:"implementing-the-icurioitem-interface",level:2},{value:"Registering an ICurioItem
implementation",id:"registering-an-icurioitem-implementation",level:2},{value:"Priority",id:"priority",level:2}];function d(e){const i={admonition:"admonition",code:"code",h1:"h1",h2:"h2",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.h1,{id:"creating-a-curio",children:"Creating a Curio"}),"\n",(0,n.jsx)(i.p,{children:"A tutorial on how to attach curio capabilities to your items."}),"\n",(0,n.jsx)(i.h2,{id:"overview",children:"Overview"}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.p,{children:"Curios comes with interfaces that you can attach to your items in order to define certain behaviors for those items when\ninteracting with curios slots. This includes events such as ticking while in a curio slot or triggering certain actions\nwhen equipped or unequipped into a curio slot."}),"\n",(0,n.jsxs)(i.p,{children:["There are three main ways to implement the capability on your item: directly attaching an ",(0,n.jsx)(i.code,{children:"ICurio"})," implementation as a\ncapability, extending the ",(0,n.jsx)(i.code,{children:"ICurioItem"})," interface on your item, or registering an ",(0,n.jsx)(i.code,{children:"ICurioItem"})," implementation to an item."]}),"\n",(0,n.jsxs)(i.p,{children:["Only ",(0,n.jsx)(i.strong,{children:"one"})," of these methods needs to be implemented for the curio item to work."]}),"\n",(0,n.jsxs)(i.h2,{id:"attaching-an-icurio-capability",children:["Attaching an ",(0,n.jsx)(i.code,{children:"ICurio"})," capability"]}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.p,{children:"This is recommended for mods that are Forge-oriented, due to the use of capabilities, and want to attach the\ncapability optionally to their own items or another mod's items."}),"\n",(0,n.jsxs)(i.p,{children:["To attach the capability to your own items, override the ",(0,n.jsx)(i.code,{children:"IForgeItem#initCapabilities"})," method:"]}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-java",children:"@Override\npublic ICapabilityProvider initCapabilities(ItemStack stack, CompoundTag unused) {\n return CuriosApi.createCurioProvider(new ICurio() {\n \n @Override\n public ItemStack getStack() {\n return stack;\n }\n\n @Override\n public void curioTick(SlotContext slotContext) {\n // ticking logic here\n }\n });\n}\n"})}),"\n",(0,n.jsxs)(i.p,{children:["The ",(0,n.jsx)(i.code,{children:"ICurio"})," implementation in the example can be replaced or extended by your own custom implementation. The\nimplementation can also exist in a separate class altogether as long as the instantiation is still done in the\n",(0,n.jsx)(i.code,{children:"IForgeItem#initCapabilities"})," method."]}),"\n",(0,n.jsxs)(i.p,{children:["To attach the capability to any item, including vanilla's and other mods', subscribe to the\n",(0,n.jsx)(i.code,{children:"AttachCapabilitiesEventICurioRenderer
",id:"create-an-icuriorenderer",level:2},{value:"Example",id:"example",level:3},{value:"Register your renderer",id:"register-your-renderer",level:2},{value:"Example",id:"example-1",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",hr:"hr",p:"p",pre:"pre",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"rendering-a-curio",children:"Rendering a Curio"}),"\n",(0,i.jsx)(n.p,{children:"A tutorial on how to run rendering code when a specific curio item is equipped on an entity."}),"\n",(0,i.jsxs)(n.h2,{id:"create-an-icuriorenderer",children:["Create an ",(0,i.jsx)(n.code,{children:"ICurioRenderer"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.p,{children:["In the ",(0,i.jsx)(n.code,{children:"top.theillusivec4.curios.api.client"})," package, you'll find an interface called ",(0,i.jsx)(n.code,{children:"ICurioRenderer"}),". This interface\nneeds to be implemented on an object of your choice, as its ",(0,i.jsx)(n.code,{children:"render"})," method is what will be called to run your rendering\ncode later."]}),"\n",(0,i.jsxs)(n.p,{children:["For the full guide on the interface, see ",(0,i.jsx)(n.a,{href:"/curios/Developing%20with%20Curios/APIs/renderer-interface",children:"here"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-java",children:"public class MyCurioRenderer implements ICurioRenderer {\n \n @Override\n public ICurioRenderer
",id:"create-an-icuriorenderer",level:2},{value:"Example",id:"example",level:3},{value:"Register your renderer",id:"register-your-renderer",level:2},{value:"Example",id:"example-1",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",hr:"hr",p:"p",pre:"pre",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"rendering-a-curio",children:"Rendering a Curio"}),"\n",(0,i.jsx)(n.p,{children:"A tutorial on how to run rendering code when a specific curio item is equipped on an entity."}),"\n",(0,i.jsxs)(n.h2,{id:"create-an-icuriorenderer",children:["Create an ",(0,i.jsx)(n.code,{children:"ICurioRenderer"})]}),"\n",(0,i.jsx)(n.hr,{}),"\n",(0,i.jsxs)(n.p,{children:["In the ",(0,i.jsx)(n.code,{children:"top.theillusivec4.curios.api.client"})," package, you'll find an interface called ",(0,i.jsx)(n.code,{children:"ICurioRenderer"}),". This interface\nneeds to be implemented on an object of your choice, as its ",(0,i.jsx)(n.code,{children:"render"})," method is what will be called to run your rendering\ncode later."]}),"\n",(0,i.jsxs)(n.p,{children:["For the full guide on the interface, see ",(0,i.jsx)(n.a,{href:"/curios/Developing%20with%20Curios/APIs/renderer-interface",children:"here"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-java",children:"public class MyCurioRenderer implements ICurioRenderer {\n \n @Override\n public Your Docusaurus site did not load properly.
\nA very common reason is a wrong site baseUrl configuration.
\nCurrent configured baseUrl = ${e} ${"/"===e?" (default value)":""}
\nWe suggest trying baseUrl =
\nYour Docusaurus site did not load properly.
\nA very common reason is a wrong site baseUrl configuration.
\nCurrent configured baseUrl = ${e} ${"/"===e?" (default value)":""}
\nWe suggest trying baseUrl =
\n