#Custom Paxel 1.18.2
49 messages · Page 1 of 1 (latest)
Once your ticket has been resolved, please close it with </ticket close:1054771505520717835> command!
Ok thanks, I try.
Ok, so, i check the paxel class in mekanism tools and i wrote this code: ```js
priority: -1
const $DeferredRegister = java('dev.architectury.registry.registries.DeferredRegister')
const $Tiers = java('net.minecraft.world.item.Tiers')
const $Item = java('net.minecraft.world.item.Item')
const $CreativeModeTab = java('net.minecraft.world.item.CreativeModeTab')
const $Registry = java('net.minecraft.core.Registry')
const $PaxelItem = java('mekanism.tools.common.item.ItemMekanismPaxel')
let ITEMS = $DeferredRegister.create('kubejs', $Registry.ITEM_REGISTRY)
ITEMS['register(net.minecraft.resources.ResourceLocation,java.util.function.Supplier)']('kubejs:cobalt_paxel', () => {
return new $PaxelItem(COBALT_TIER)
})
ITEMS.register()
But when I launch minecraft modpack kubejs say that: hubeJs (kubejs) encountered an error during the common_setup
event phase dev.latvian.mods.rhino. Evaluator Exception: Java construstor for
"Mekanism.tools commonitem.ItemMekanismPaxel" with arguments "dev.latvian.mods.rhino.Undefined" not found.
@startup_scriptsmsterials_definition/paxels.js#20)
This code was added in a file into startup script folder called "paxels.js"
How can I solve this problem?
And in the tool tiers file I wrote this code to define "COBALT_TIER"
let COBALT_TIER
onEvent('item.registry.tool_tiers', event => {
COBALT_TIER = event.add(`cobalt`, tier => {
tier.uses = 96
tier.speed = 1
tier.attackDamageBonus = 2.0
tier.level = 2
tier.enchantmentValue = 8
tier.repairIngredient = `kubejs:cobalt_ingot`
})
})
And cobalt Ingot is my own custom item.
you can't have a negative priority iirc
so
remove it from the paxels.js file
and add it to the one that registers the tier
I put the "priority: -1" in the tier file and deleted it from the paxel file.
But the error is the same:
like I said
negative priorities don't work
put a priority of 1 in the file
Ok, I put "priority: 1" in the tier file
and delete the priority from the paxel register file.
Correct?
is it a comment?
it has to be a comment
Ahhhhhhhhhhhhh, ok.
paxel register file: ```js
const $DeferredRegister = java('dev.architectury.registry.registries.DeferredRegister')
const $Tiers = java('net.minecraft.world.item.Tiers')
const $Item = java('net.minecraft.world.item.Item')
const $CreativeModeTab = java('net.minecraft.world.item.CreativeModeTab')
const $Registry = java('net.minecraft.core.Registry')
const $PaxelItem = java('mekanism.tools.common.item.ItemMekanismPaxel')
let ITEMS = $DeferredRegister.create('kubejs', $Registry.ITEM_REGISTRY)
ITEMS['register(net.minecraft.resources.ResourceLocation,java.util.function.Supplier)']('kubejs:cobalt_paxel', () => {
return new $PaxelItem(COBALT_TIER)
})
ITEMS.register()
tool tier register file:
// priority: 1
let COBALT_TIER
onEvent('item.registry.tool_tiers', event => {
COBALT_TIER = event.add(`cobalt`, tier => {
tier.uses = 96
tier.speed = 1
tier.attackDamageBonus = 2.0
tier.level = 2
tier.enchantmentValue = 8
tier.repairIngredient = `kubejs:cobalt_ingot`
})
})
But the error is the same
yes
// priority: 1
const $DeferredRegister = java('dev.architectury.registry.registries.DeferredRegister')
const $Tiers = java('net.minecraft.world.item.Tiers')
const $Item = java('net.minecraft.world.item.Item')
const $CreativeModeTab = java('net.minecraft.world.item.CreativeModeTab')
const $Registry = java('net.minecraft.core.Registry')
const $PaxelItem = java('mekanism.tools.common.item.ItemMekanismPaxel')
let COBALT_TIER
onEvent('item.registry.tool_tiers', event => {
COBALT_TIER = event.add(`cobalt`, tier => {
tier.uses = 96
tier.speed = 1
tier.attackDamageBonus = 2.0
tier.level = 2
tier.enchantmentValue = 8
tier.repairIngredient = `kubejs:cobalt_ingot`
})
})
let ITEMS = $DeferredRegister.create('kubejs', $Registry.ITEM_REGISTRY)
ITEMS['register(net.minecraft.resources.ResourceLocation,java.util.function.Supplier)']('kubejs:cobalt_paxel', () => {
return new $PaxelItem(COBALT_TIER)
})
ITEMS.register()
Like this?
yup
This is the github link of the mekanism tools paxel class. https://github.com/mekanism/Mekanism/blob/1.18.x/src/tools/java/mekanism/tools/common/item/ItemMekanismPaxel.java
Ok, so, I wrote this script to finally create a custom cobalt paxel and I create a file and put it into kubejs models folder to add the texture, but I don't know how can modify the tier options or create a new Mekanism tier option. ```js
// priority: 1
const $DeferredRegister = java('dev.architectury.registry.registries.DeferredRegister')
const $Tiers = java('net.minecraft.world.item.Tiers')
const $Item = java('net.minecraft.world.item.Item')
const $CreativeModeTab = java('net.minecraft.world.item.CreativeModeTab')
const $Registry = java('net.minecraft.core.Registry')
const $PaxelItem = java('mekanism.tools.common.item.ItemMekanismPaxel')
const $ItemDeferredRegister = java('mekanism.common.registration.impl.ItemDeferredRegister')
const $MekanismToolsConfig = java('mekanism.tools.common.config.MekanismToolsConfig')
let ITEMS = $DeferredRegister.create('kubejs', $Registry.ITEM_REGISTRY)
ITEMS['register(net.minecraft.resources.ResourceLocation,java.util.function.Supplier)']('kubejs:cobalt_paxel', () => {
return new $PaxelItem($MekanismToolsConfig.tools.refinedObsidian, $ItemDeferredRegister.getMekBaseProperties())
})
ITEMS.register()
// vvvvvv Doesn't work
onEvent('item.modification', event => {
event.modify('kubejs:cobalt_paxel', item => {
item.tier = tier => {
tier.uses = 1000
tier.speed = 5
tier.repairIngredient = 'kubejs:cobalt_ingot'
}
})
})
This script create cobalt paxel like mekanism tools mod but obtain the material from refinedObsidian tier, how can modify it?
This is the model file: ```json
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "kubejs:item/cobalt_paxel"
}
}
Any idea?
aren't you missing commas on tier arguments?
like after 1000, 5, etc...
no...
oh that is not an object
