#General & Development Help

1 messages ยท Page 8 of 1

gleaming fox
#

...

neat mango
#

should be straightforward to fix :)

gleaming fox
#

not really

#

well ill look into it

#

eventually

bright shore
#

What's the point of swap entity position? Doesn't exchange in base ars do that?

gleaming fox
#

realized that later

#

its deleted in the latest comit

#

(not pushed)

bright shore
#

Ah

#

Same with health shield, doesn't Omega have an absorption glyph?

gleaming fox
#

yes

#

but i want it to scale with max health and max mana

#

so the more life/mana you have the more absorption

#

ofc i will make it balanced by using a ln function

#

so the more hp you have, the less the improvement

bright shore
#

Oh I see

gleaming fox
#

its similar but different

#

(something to counter the absolute bullshit that happens when you get end game trinkets and end game glyphs from my mod)

radiant depot
#

if you want nuts spells...i remind you that AM2 had mana link and mana blast

gleaming fox
#

AM2?

radiant depot
#
  • life link but with mana, meaning that the mana is basically shared between the two entities
  • consumes all the mana of the user, dealing a proportional damage
gleaming fox
#

as in ars magica?

radiant depot
#

Ars Magica 2

gleaming fox
gleaming fox
#

this is the correct way to have a spell which will change with the config right?

bright shore
#

yes but you need to make sure the amp config value is defined by overriding build config IIRC

gleaming fox
#

ok

#

thanks

gleaming fox
#

i feel really stupid for asking this here, but does anyone know how to summon dust particles?

gleaming fox
#

why is balancing T4 glyphs so painful

neat mango
#

I do it for ToB Sentient Wrath Glyph

gleaming fox
#

๐Ÿ‘

gleaming fox
#

dam,

#

that's a whole lot of code

gleaming fox
#

(this scales directly with exp levels, and it dicreases them by a lot) nerf needed?

#

i just lost 3h+ of exp grinding

#

great

#

i love it

#

still

#

it does big pp damage

#

it got nerfed

#

really quickly

#

fixed it dealing too much damage

gleaming fox
#

does anyone know what this is used for?

radiant depot
#

There are two attributes that were unified

#

But old name remained as alias to not break add-on

gleaming fox
#

oh ok

loud widget
#

working on an aura form for my addon

loud widget
#

what is the cheapest way to calculate a sphere around a center point? Is it with BlockPos.withinManhattan() then check for distance from the center? Im using that for the aura

zealous zenith
#

for blocks or entities

loud widget
#

does anyone know of a library or built-in forge thingy that could allow me to create custom visual effects for my aura form, such as an actual transparent sphere around the player to represent the range of the aura while it is active?

#

i'm new to modding so i have no idea how or what can do that

radiant depot
#

I'd guess that's shaders territory

#

Not like, the iris/oculus ones

#

But the actual computer graphics term

#

The other option would be to use particles, but you won't get the pretty effects

#

I never got to work with shaders, even if I should since the results can be gorgeous

loud widget
#

oh, that looks like big brain territory ;-; i guess i'll leave that for later then

#

ty for the references tho โค๏ธ

radiant depot
#

All graphic stuff kinda is

#

Also why geckolib library exists for animation

#

The other option is literally writing math functions for each bone movement

wanton ivy
#

The way vanilla handles entity rendering is whack

#

But I'm just complaining because I can't have cool transparent entities without making other entities nearby dissappear.

radiant depot
#

Does the zone thingy requires a shader now, or did you not get to that yet?

#

Cause mc started to use then more since 1.17, at least for internals

#

So some render types became shaders iirc

gleaming fox
#

why not copy some of burst's code

#

also im definitly stealing it if it's not available for 1.19.2

wanton ivy
loud widget
#

@gleaming fox i'm making it for 1.19.2 then ill port to 1.20 (when i eventually figure out how to do that). And the code for the sphere is similar to the one used for burst, with the exception that instead of creating a new resolver for each blockpos, im just resolving the existing one for each blockpos (and adding some if's for the additional effects of the augments)

#

and also for some reason it is not working with glyphs that affect entities (such as hurt) ;-; gotta figure out how to fix that

radiant depot
#

Place break point -> start with debug

#

You can follow step by step what happens when your code is executed

gleaming fox
#

oh wait you can do that?

#

i always just changed things and hoped for the best

loud widget
#

system.out.println for the win

gleaming fox
#

player.sendRawMessage FTW

loud widget
gleaming fox
loud widget
#

i was always passing just BlockHitResult

gleaming fox
#

here is a sample i use

#

its really good

#

basically how all glyphs that affect entities in an AOE work

loud widget
#

oh it works now, wonderful ๐Ÿ™‚ ty guys

gleaming fox
#

really?

#

can you send me the mod?

#

(i need to create jjk spells)

loud widget
#

yeah, only problem now is that it is also affecting the player

#

gotta add that if for checking that

gleaming fox
#

my mod adds filter self

#

basically if the player is the target prevent/continue the spell

loud widget
#

i think ill just hard code the filter, as i don't think an aura affect should also affect the player itself

gleaming fox
#

imma send the code i use

#

only two lines

#

(very hard work)

#

maybe amp should make the spell also target the user?

#

or dampen

#

its just one if statement anyway

loud widget
#

im using amp to make the sphere solid (affect all the block within the aura)

#

and dampen to make it only affect a half sphere area

#

dampen makes it more like a dome instead of a sphere

gleaming fox
#

oh

#

that's useful

loud widget
#

it is also possible to have multiple auras active at the same time

#

ill send the jar after i fix the entity thing and find out how to generate the jar

#

it has been a while since i did that c.c

gleaming fox
#

gradle>project>tasks>build>build

#

to get recipes do:

#

gradle>project>tasks>forgegradle runs>runData

loud widget
#

oh, the glyphs i added don't have recipe yet ;-; started working on this mod friday so there are still a lot of things left to do

gleaming fox
#

dwdw

loud widget
#

oh it is that easy to build a jar? thats nice to know, ty ๐Ÿ™‚

gleaming fox
#

example of recipe

#
public static class GlyphProvider extends GlyphRecipeProvider {

        public GlyphProvider(DataGenerator generatorIn) {
            super(generatorIn);
        }

        @Override
        public void run(CachedOutput cache) throws IOException {

            Path output = this.generator.getOutputFolder();

            recipes.add(get(WaterSpear.INSTANCE).withItem(ItemsRegistry.WATER_ESSENCE, 4).withItem(PURPLE_ESSENCE.get(),4).withItem(RegistryHandler.ENCHANTED_DIAMOND_BLOCK_ITEM.get(), 1));
for (GlyphRecipe recipe : recipes) {
                Path path = getScribeGlyphPath(output, recipe.output.getItem());
                DataProvider.saveStable(cache, recipe.asRecipe(), path);
            }

        }
loud widget
#

#1019639765093589153 #1189895901028823110 i plan to add all of this to the mod. The auras would originally only be for the titans but i guess the concept is just too cool to not have it in the spell book

loud widget
gleaming fox
#

maybe make the two seperate mods?

#

the runData task (GOD BLESS WHOEVER CREATED IT) makes us not have to worry about json as it creates a json file from scratch

loud widget
#

ah, so there is still json magic, we just dont see it haha

neat mango
#

you probably already have stuff like runClient. just pick runData from the drop down

gleaming fox
#

already had it

#

i was just giving him the path incase he needed it

#

ofc having a dropdown menu is easier

loud widget
#

ok entity thing fixed, ill build the jar now

#

hmm, i ran the task, now where is the jar ;-; theres a build directory with a bunch of things inside

#

oh

#

it is this i think

gleaming fox
#

lets go

neat mango
#

its inside build/lib/

loud widget
#

use with caution, the tick rate for the aura on blocks is 1 (it resolves the effect once for every tick, so the spell resolves 20 times per second)

gleaming fox
#

bro that's way too much

#

make it like 5 or ten

loud widget
#

i tried with higher tick rate but then there were some things that did not work well

#

for example, with 1 tick rate, you can use aura + amp + intangible to pierce through a mountain while flying an elytra

gleaming fox
#

actually 1 tick rate is exactly what i need

loud widget
#

when i tried increasing it to like 3 or 5, you would hit the hall bc the spell couldn't catch up with the speed

neat mango
#

btw bloodmagic has sigil of supression which removes fluids from surrounding temporarily. You might wanna look at its algorithm and see if you can optimize or something

gleaming fox
#

time to recreate malevolant shrine

loud widget
#

oh also, if you want the aura to affect entities you have to use pierce (i forgor to add that to the description)

#

by default it only targets blocks

gleaming fox
#

really?

#

why not make it the reverse

#

by default it targets entities like burst, linger, etc

neat mango
#

how about using sensitive instead of pierce? it would be more intuitive as other glyphs also do the same

gleaming fox
#

the addon devs defo need to set some sort of augment conventions

loud widget
#

also all the augments are more building/manipulation focused

#

i will leave combat power to the titans

#

(things that affect entities)

gleaming fox
#

this sounds like a titanical projec

#

t

loud widget
#

i was already using sensitive to make the aura only affect a half sphere downwards (an inverted dome)

gleaming fox
#

pierce sounds more logical

#

for that role

#

imo

loud widget
# gleaming fox this sounds like a titanical projec

yeah, but im with lots of free time now, as uni is pretty chill and also im working from home. Also i'm using this project to learn how to read code as my boss once told me that reading code is harder than writting it

#

most of the things here dont have documentation so the only way is to read what the code does

gleaming fox
#

yeah

#

i made my first domain expansion with AURA

#

look at this bs

loud widget
#

how unabalanced, the dev who made this glyph sure knows nothing about game mechanics

gleaming fox
#

which glyph?

#

the swords?

#

(its me)

loud widget
#

the aura

gleaming fox
#

ah yes

#

it sure is broken

#

but not as much as a 114 damage no amp iframe skipping monstrocity*

loud widget
#

also i forgor to mention, you can cast the aura on entities (you could have a sheep with a domain expansion)

gleaming fox
#

how?

loud widget
#

just cast it on an entity (aim at the entity and cast it)

gleaming fox
#

free 40 damage

#

(stackable)

loud widget
#

yesterday i put a break aura on a villager and put a zombie to chase after it

loud widget
gleaming fox
#

the squared shape thing?

loud widget
#

square shape is for making huge square-ish things

#

there is also a circle thing

#

you can create many variations of square-ish things with the glyph

#

like cubes, vertical squares, horizontal squares and ramps

#

either hollow or solid

neat mango
#

40???

loud widget
#

same with the circle glyph

neat mango
#

isnt that too much

gleaming fox
#

(no projecte

#

also it costs thousands upon thounsands of source jars to create a T9 monocle

#

and you need five or six to get a T10

#

getting to purple essence is one hell of a grind

neat mango
#

most weapons in endgame are around 15 or 20 at max

#

this feels like ATM level of power creep unless that was your intention

gleaming fox
#

it is

radiant depot
#

Circle included as variation with an augment

#

Basically the building glyph thread without aura, as I said there

#

Nothing of that would land in 1.19 so you're fine to release it there, at least for what concerns me

neat mango
gleaming fox
loud widget
gleaming fox
#

bro's like me

radiant depot
#

Best case is that it simply gets integrated later on in base Ars

#

plane doesn't seem broken as tier 2 from the server testing

gleaming fox
#

aura and chaining are beyond broken

loud widget
#

also, tyvm for the trail form @radiant depot i think that one is also one of the coolest forms

loud widget
#

what is the default maximum mana you can get with base ars?

shadow helm
#

I don't think anyone ever bothered to calculate that

loud widget
#

what size should a model be in blockbench in order for it to be of similar size to the default steve (without scaling it in the code)?

neat mango
#

2 blocks high or 32 units

#

1 block is 16x16x16 units in dimensions

loud widget
#

so a 16x16x16 cube in block bench is the same size as a minecraft block?

neat mango
#

Yes

loud widget
#

what about the texture size? should i worry about that or can i just put a size that fits everything leaving blank space?

#

like, would this be ok or would it cause some problem?

loud widget
neat mango
#

are you making an armor ?

loud widget
#

modded entity

neat mango
#

there are no restrictions for large the texture size can be. Pick any shape or size

#

it is generally a good idea to unwrap UVs efficiently so that sides are neatly packed and space is not wasted

#

its mostly optimizations and not that a big of deal. You can always get to it later

loud widget
#

ah okay, thank you ๐Ÿ™‚

loud widget
#

soon to be a titan of my addon

#

just gotta turn that monstrosity into this

gleaming fox
#

good luck with that

radiant depot
#

Most likely due to Minecraft handling big mobs terribly

gleaming fox
#

yeah

#

I&F are one example of the minecraft engine being dookie

radiant depot
#

A stationary mob might be slightly more manageable maybe?

#

Like, anchored to a place and with lots of ranged attacks. As most of the issues of big mobs are pathfinding related

#

The issues with the hitbox can be solved by making it a multipart like the ender dragon

loud widget
#

the main goal of the titans is being a powerful companion, so i think making them stationary wouldn't work

#

also i was thinking about making them about 3-4 blocks tall

#

to deal with pathfinding problems i think i will make a Goal like StayCloseToPlayer

#

which would make them not move much if they are within a certain distance of the player

#

and if they get too far they would try to follow the player

#

i think that would also deal with the problem of companions getting in the way when you are trying to do things

#

also the plan is to make every titan able to fly, so i think that could help with not getting stuck as they would just go over stuff

radiant depot
#

Ah ok, 3-4 might be manageable

#

I was thinking to idk, at least 10

#

Going towards 20

loud widget
#

oh that would be too much haha but ill definitely try making them quite big just to see what happens

#

im afraid making them too big would make riding them inconvenient

radiant depot
#

That's for sure

#

I believed you wanted the big boss then a smaller version as tamed

loud widget
#

that could be one way to do it, i guess

gleaming fox
#

is it possible to increase the max mana perk?

#

if not then i will just edit my own ars version

gleaming fox
#

just looking at the code responsible for calculating/managing the player's mana is giving me a headache

neat mango
#

mana capability ?

#

it will get replaced/simplified to an extent in 1.20.2+

radiant depot
neat mango
#

alex, would the new "data attachment" system be enough for player mana? (not source since that should be still be a cap )

gleaming fox
radiant depot
#

no idea on what that is

gleaming fox
#

i am creating a leveling system

#

a tree of some kind

radiant depot
#

i'd guess an alternative to caps but haven't checked any details of it

gleaming fox
#

and im having a headache as i want to use capabilities to add bonus mana to the player's original mana

#

i think i found some kind of solution?

radiant depot
#

shouldn't you use an attribute modifier for that?

gleaming fox
#

also does the player's mana get "updated" every tick?

radiant depot
#

mana is recalc'd every few ticks

gleaming fox
#

why attribute?

radiant depot
#

because max mana is an existing attribute, from where the max mana of the event is calculated

#

you can add flat or multipliers to it

gleaming fox
#

like this?

radiant depot
#

now that i think about it, how's the actual situation in 1.19

#

cause i only reworked 1.20

#

are enchants etc. still added manually ?

gleaming fox
#

the limit for the flat mana bonus perk is 10k

#

id

#

k

radiant depot
#

yep

#

then you're probably having an easier time to simply add up buffs by using the event

gleaming fox
#

oh that way when the mana is calculated i can grab the new max mana and update it?

radiant depot
#

listen to it, do your calculations, cache if you need, edit the value inside the event

gleaming fox
#

thanks

radiant depot
#

the max mana perk won't take in account most of the buffs anyway in 1.19

#

it's barely fixed to take everything in my 1.20 pending PR (attribute based)

radiant depot
gleaming fox
#

ehehe

#

thanks

#

now i just need to add rituals

#

this should work

radiant depot
#

likely yes

gleaming fox
#

what a pain in the ass

#

now i only need to do this for mana regen

#

iirc capabilities stay on the player even after the player logs off right?

radiant depot
#

they should be saved to nbt, yes

gleaming fox
#

excellent

gleaming fox
#

are there any way to get the player who started the ritual ?

radiant depot
#

it's not saved, from what i remember

#

at best you can try to pick the nearest player

#

or require something that has the player data on it as ritual augment

gleaming fox
#

what i did was i grabbed all the players in a 3blocks radius and picked the one with the criteria i wanted

#

(not telling what criteria)

gleaming fox
#

is there a 1.20 addon template?

#

im thinking of migrating AT ahead of time

radiant depot
#

there is

#

at least on my fork

#

i guess bailey didn't merge the update PR?

gleaming fox
#

no$

gleaming fox
#

gradle is taking one long ass time to update

#

seems like i just had to complain for it to finish

#

nevermind

#

it was an error

#

but now i got it to work for real

#

at almost 2 am

#

it didn't work

#

boy oh boy i sure do love gradle

#

im crying ๐Ÿ˜ญ

#

no errors (so far)

gleaming fox
#

why did mojang make all the damage sources private

#

now i cant use these fancy sources

#

back to plain old

DamageSource source = buildDamageSource(world,shooter);
#

can't even make it bypass armor

#

i am now big sad

wanton ivy
#

Mixins ftw

gleaming fox
#

mixins.

#

?

#

ah i see

#

i searched what it was

#

but the question is, how can i create a damage source, with the least amount of efforts possible? (and the best results ofc)

wanton ivy
#

Great! I am a horrible teacher

gleaming fox
#

dw

#

im a horrible learner

#

๐Ÿ’€

#

just give me an example

wanton ivy
#

Lul, u made it this far! Half of my class didn't even know how to code

gleaming fox
#

i will then start to study how it was created

gleaming fox
radiant depot
#

There should be an utility method in base ars

wanton ivy
#

Naw, student.

gleaming fox
#

but reading all the new classes is a pain in the ass

radiant depot
#

And well, the datagen

gleaming fox
#

anyway

#

i fixed my code

radiant depot
wanton ivy
#

Glad Alex was here to save the day

gleaming fox
#

ehehehehe

#

now i can do what i like to call

#

"the funny"

#

how do i get the level accessor?

#

do i cast it from the ServerLevel level or something else?

#

found it

#

i did not find it

#

;-;

wanton ivy
#

The level classes I believe implement Level Accessor

gleaming fox
#

yes

#

my juvenile brain was too stupid and thought that Level world was ServerLevel level

#

(this is the proof that all my knowledge as a programmer (nothing except copycatting) is all a sham and that i am a fraud)

wanton ivy
#

It's all about acting like you know what it is. There's a fair chance they don't know either xD

gleaming fox
#

time to pull an all nighters to finish porting

#

i wish that was also the case in math class

#

because i think i am the only confused one there

#

anyway

#

back to the treacherous labyrinth (baililey's code)

wanton ivy
#

Good luck, may your journey bear fruit

gleaming fox
#

thanks

#

i really want to create my own spell tier

#

but creating the book sounds like a pain in the rear

#

well i will do it later if i have the motivation

gleaming fox
#

gn

#

imma head to bed

wanton ivy
#

Fare thee well traveler, may u have a restful slumber.

steep spruce
neat mango
#

for 1.19, it super hard

#

for 1.20+, you just need to override a method

radiant depot
#

I think they only meant for a new tier, is it really hard in 1.19?

#

It should be more complex before 1.19 due to tiers being enums etc.

neat mango
#

I dunno that whats so-so told me

radiant depot
#

He literally just does

#

public static final RegistryObject<Item> TIER_FOUR_BOOK = ITEMS.register("arcane_book", () -> new SpellBook(ITEM_PROPERTIES_FIRE,TierFourEffect.FOUR));

steep spruce
#

lol

radiant depot
#

It's more an effort of making the textures and model

neat mango
#

lol

#

I reused the model. I just had to create textures

gleaming fox
#

i migrated the Ars Trinkets project to 1.20 early

radiant depot
#

What was the main reason for that? The other addons?

neat mango
#

let 1.19 die

gleaming fox
#

yes

#

1.19 just didn't have enough mods

#

(and i was too impatient to wait)

neat mango
#

good

#

now contemplate with me while we wait for neo to stabilize

gleaming fox
#

how do i fix this?

neat mango
#

do you use mixins ?

gleaming fox
#

idk what that is

neat mango
#

okay, check your build.gradle and comment out that line

gleaming fox
#

i did it

#

it seems like its working?

neat mango
#

refresh gradle project and gen runs

gleaming fox
#

it worked but i crashed

#

seems like its a probleme with my glyphs

#

well it worked but none of my items were added

radiant depot
#

Cause you need to add them to a creative tab

#

They're there, but invisible

gleaming fox
#

oh

#

how do i add them?

#

i saw that the tab thing was disabled

neat mango
#

if using custom creative tabs, ensure items are registered before tabs if using displayItems()

#

the event system is better because it happens after all the registration (but use whatever system you prefer)

#

sorry for the extra ping

#

I was supposed to tell you to stay on forge 47.1.3 just in case

gleaming fox
#

i used to be able to add them to the tab using the Item.Properties#tab method

ESSENCE_LOTUS_3 = ITEMS.register("essence_lotus_3", () -> new MagicItems(new Item.Properties()/*.tab(...)*/.rarity(Rarity.COMMON).stacksTo(1), 15, 10,0,0));
```like this
neat mango
#

yeah that field is gone now

gleaming fox
#

sadge

#

how do i add my items to hte tab now?

neat mango
#

which tab you want to add to ?

gleaming fox
#

the basic ars tab

neat mango
#

use the event system that I linked

gleaming fox
#

i don't have enough things to have to create my own tab yet

#

ok

#

thanks

neat mango
#
@SubscribeEvent
public void buildContents(BuildCreativeModeTabContentsEvent event) {
  // Add to ingredients tab
  if (event.getTabKey() == CreativeModeTabs.INGREDIENTS) {
    event.accept(ITEM);
    event.accept(BLOCK); // Takes in an ItemLike, assumes block has registered item
  }
}```
#

use the Ars Tab key there

radiant depot
#
private void doTabsStuff(BuildCreativeModeTabContentsEvent event) {
        if (event.getTab() == CreativeTabRegistry.BLOCKS.get()) {
            for (var item : Registration.ITEMS.getEntries()) {
                event.accept(item::get);
            }
        }
    } ```
#

(Event listener rules apply)

gleaming fox
#

many thanks

#
    @SubscribeEvent
    public void buildContents(BuildCreativeModeTabContentsEvent event) {
        if (event.getTabKey() == CreativeTabRegistry.BLOCKS.getKey()) {
            event.accept((ItemLike) ModRegistry.ITEMS);
        }
    }
``` something like this?
#

it didn't work

#

im testing alex's solution

radiant depot
#

No, you need to pass the registry items

#

You're passing the whole registry, lol

gleaming fox
#

?

#
    @SubscribeEvent
    public void buildContents(BuildCreativeModeTabContentsEvent event) {
        if (event.getTab() == CreativeTabRegistry.BLOCKS.get()) {
            for (var item : ModRegistry.ITEMS.getEntries()) {
                event.accept(item::get);
            }
        }
    }
``` here is my code after i took what you wrote
radiant depot
#

you are using event.accept() with ITEMS

#

Alr, then it's because the event listener is not set correctly?

#

^ the image

gleaming fox
#

my monkery brain is too stupid to understand

radiant depot
#

bus.addListener(this::doTabsStuff)
Where bus is the FMLJavaModLoadingContext.get().getModEventBus()

#

you need this like, idk, in your mod constructor

gleaming fox
#

ah i get it

#

thanks

#

i feel really stupid

#

it worked

#

thanks ๐Ÿ™‚

gleaming fox
#

im having troubles attaching my capability to my entities

#

the capability is registered, but it just does not appear on entities

#
    @SubscribeEvent
    public static void onAttachCapabilitiesEntity(AttachCapabilitiesEvent<LivingEntity> event) {
        System.out.println("attach Cap Entity triggered");
        if (event.getObject() instanceof Player) {
            Objects.requireNonNull(event.getObject());
            if (!event.getObject().getCapability(ArcaneLevelsProvider.PLAYER_LEVEL).isPresent()) {
                event.addCapability(new ResourceLocation(ArsTrinkets.MODID, "properties"), new ArcaneLevelsProvider());
                System.out.println("Arcane Level Capability Created");
            }
        }
    }
#

here is the code i use

zealous zenith
#

Is your class annotated with the event bus

gleaming fox
#

how so?

#

here is a picture of the whole class

#

(only the start)

wanton ivy
#

I don't think it's necessary to check if a capability is prrsent on an object, this is only called when the object is first created

#

Other than that, how's the capability provider class lookin?

zealous zenith
#

if anything logging at all?

gleaming fox
wanton ivy
#

Lul

radiant depot
#

Might help having a bit of theory?

#

Capabilities are a Forge system that allows cross-mod interactions by allowing capability providers to
dynamically respect contracts and provide specialized behavior without requiring the implementation of many interfaces
or hard dependencies on mods.

#

Especially the fact that caps are not synced to clients by default

gleaming fox
#

this is hurting my brain on a metaphysical level

radiant depot
#

Which is probably why Neoforge yeeted some of it out of the window and rewrote it

#

In 1.16.5 it was even worse

gleaming fox
#

it can be made worse?

#

wow

#

average minecraft coding experience

radiant depot
#

I hope the new system in 1.20.4+ is easier to code

neat mango
#

it is

gleaming fox
#

would you mind lending me a hand?

neat mango
#

lazyoptionals are gone

#

capabilities are split into data attachments and regular capability with nicer api

gleaming fox
#

i pushed my code to git

#

incase anyone wants to look at it

wanton ivy
#

Mine would go missing alot

neat mango
#

it's all just a normal nullable or optional in some cases

#

it has a lot of niceties like opt-in automatic caching etc

gleaming fox
#

so i found the problem

#

(s)

#

the AtachCapacity events never trigger

radiant depot
#

did you register the capability with RegisterCapabilitiesEvent btw?

#

oh, i spotted the issue maybe

#

@gleaming fox swap <LivingEntity> to <Entity>

gleaming fox
#

ah now that i think about it, it was said that you needed to use the โ€œoriginal classโ€ and not one of its implementations/child

gleaming fox
gleaming fox
#

now i need to verify that it does transfer across dimensions and stay after logging out

radiant depot
#

and death and end escape

#

which are covered by the onClone

gleaming fox
#

like this?

radiant depot
#

i guess?

#

i'd honestly just copy all the methods in the CapabilityRegistry#EventHander and then run tests

gleaming fox
#

seems like my spaghetti code caught up to me

#

sad

#

only problem is i need to make sure that my hashMap gets created correctly

#

i think im stupid

#

i was checking the wrong hand

steep spruce
#

we all feel like that sometimes

gleaming fox
#

I CANT

#

I HAVE BEEN CAHSING THE SAMA SRUPID NULL POINTER ERROR FOR ALMOST AN HOUR

#

i managed to single out the method that was messing up my code

#

it was because my fucking hashmap was empty

#

it wasnt getting initialized propelr

#

y

#

i want to ry ๐Ÿ˜ญ

#

wait

#

im incrediblily dumb

#

i had the player's base level be 0

#

and the minimum value for breakthrough was 1

#

ha

#

ahahha

#

i want to die

#

well at least its kinda working?

#

now i just need to do some light corrections here and there

#

ehehe

#

if you convert to what you would need in vanilla, only palyers with limitless ressources would be able to become a max level player without cheating or using project E

#

still its a nice progression goal as you can slaughter your path to immortality or use ressources

#

@bright shore can i steal the propagate glyphs and add them to my mod (temporarily) as i find them really fun to use (i miss them and i think other people also do)

gleaming fox
#

god migrating entities from 1.19.2 is giving me brain rot

wanton ivy
gleaming fox
#

learned it the very hard way

#

but hey it worked

#

(at least it does for the forseable future)

gleaming fox
#

whoever decided to change the particle api has got my thanks (why make my life so annoying?)

gleaming fox
#

im having an issue

#

i managed to clone dkmk's form missile class and updated it for 1.20

#

but i can't seem to actually create the entity?

#

i found a lead

#

im going to follow it

#

if i can't find a solution i will sleep on it

#

it is a problem with the ReflectionHandler#xRot being a null number

#

trying to use the shooter#GetxRot() method

#

success

#

i am happy

#

yay

#

finaly

#

a problem which had a straightforeward solution instead of making me go through eight different classes

#

maybe java is not that bad ? (it is)

#

orbit is already reworked right?

radiant depot
#

If you pick the latest maven build yes

gleaming fox
gleaming fox
#

4.8.3.135 right?

#

its the one

#

thanks

neat mango
#

#addon-showcase message @radiant depot is this Elemental or SBM

#

regardless it looks awesome!

radiant depot
#

SBM

#

and pretty simple to code too

#

the hard part is mixing in the fluid requirements

#

if you only need items, all you need is a recipewrapper and a new tile/block to pass it

neat mango
#

would it be possible to have a fake item that you put on the pedestal that represents the item or needing atleast 1 item is a design choice

#

maybe like a parchment with the name of the item or something. Could maybe teach multiple recipes like that

radiant depot
#

wdym

#

wixie rules apply, the wixie will attempt to craft all the items on nearby pedestals, if the ingredients are available

neat mango
#

you put the target item on a pedestal next to the station correct

radiant depot
#

if you only need one item, you can click directly on the workstation

neat mango
#

for multiple recipes, can you just put down more pedestals with more items ?

radiant depot
#

the two cooking pots are both alternating between tomato sauce and pasta

#

while the cutting board between raw pasta and cut meat

#

in the vid

neat mango
#

ah nice!

#

I did not know wixies could already do multiple recipes

radiant depot
#

potions too

#

you only need one wixie for going from nothing to a full potion

#

not at least two

neat mango
#

are wixies redstone controllable

radiant depot
#

yes

gleaming fox
#

how tf do advancement work

gleaming fox
#

i will look into it later

gleaming fox
#

@bright shore is it possible to know what the spellContext.setCanceled(true); does in the propagate self method?

#

also i didn't get your anwser concerning the possibility of adding the propagate glyphs to my mod for 1.20 (whilst we wait for you to migrate to 1.20)

bright shore
#

They're in NEG so I don't see why you'd need them in your mod, just use that

gleaming fox
#

oh they already are in neg?

#

but isn't neg not available on CF?

bright shore
bright shore
#

Or you can yoink the propagate code from me but note that I'm considering splitting Omega up into different add-ons for 1.20 and one of them will definitely have propagates in it

radiant depot
#

Reset context is one of the reasons why neg is not on curse

#

That update will break that kind of glyphs

#

If I manage to get the spell binder working I might release it. But that thing is a gui mess in the first place

bright shore
#

I should test some stuff with it because I realized a couple other edge cases that I'm curious how they work and how they're supposed to work

radiant depot
#

It's indev

#

Not released but merged and on maven

#

Also on the test server

gleaming fox
gleaming fox
#

my code is half finishe

#

d

#

and im too lazy to be bothered to finish it now that i know that the glyphs exist somewhere else

radiant depot
#

From the server pack

#

Idr when you logged the last time

gleaming fox
#

๐Ÿ‘

radiant depot
#

But relaunch the instance and you should find the updated in servermods folder

gleaming fox
#

i have it now

#

thx

#

btw i did manage to change the player's mana but it seems that the spellbook's mana bar is not updated?

radiant depot
#

Enable the debug numbers?

#

But might just be that the spellbook relies on another value, unsure

gleaming fox
#

yeah

#

i think that's it

#

should i make that a feature?

#

yes

radiant depot
gleaming fox
#

ok

#

im going to play a bit

#

first real break since i started porting and creating a new version

radiant depot
#

Oh, and my pr to fix mana calculation was merged few hours ago so you might want to update the ars version too

#

Mostly affects the enchantments

#

So not essential, depending on what you need to check

gleaming fox
#

i wait for the MaxManaCalcEvent and i add a flat amount to the event

radiant depot
#

you could try to track it down with debugger, I guess

gleaming fox
#

yes

gleaming fox
#

what was the mod that added greater aoe and dilate time?

radiant depot
#

Omega

gleaming fox
#

might have to yoink that code

#

is it possible to add them to not enough glyphs?

radiant depot
#

they honestly feel way less needed now that you can simply have longer spells

steep spruce
#

dilate time feels a bit useless

gleaming fox
#

oh i forgot about that

#

im still stuck in my mentality as a 1.19.2 gnome who has to save every glyph slot

wanton ivy
#

Oh longer spells? What warranted the change?

radiant depot
#

The infinite spell config of 1.20

#

It needs to be enabled, sure

#

But well, you also have to choose on if to have the add-on that allow stronger stuff

rocky thistle
#

#addon-announcements i'd love some Farmer's Delight Ars Nouveau recipes

radiant depot
#

new food items would be on the table to be added with that compat, but spriting them is out of question in this period

#

i'll def need to (on my server but something here too) open some threads for "open submissions" or smth for people that want and can give random help, on building and art sides

#

at least before i go nuts with too many things to split my head on

gleaming fox
#

poor alex

#

i need to go back to schoolpโ€™

#

no time to code

#

sad

gleaming fox
#

added mana bomb glyph

#

(no destruction for now)

gleaming fox
#

how do i fix setCanceled not working anymoreN

#

?

#

i need to release a quick patch

#

or else people who downloaded my mod will come to strike my fingers

wanton ivy
#

That would be hilarious.

Besides that though I honestly have no idea as to what you are referring to

gleaming fox
#

spellContext.setCanceled was not working

#

still

#

i fixed it by stealing cross referencing with other mods

gleaming fox
#

how do i add an augment limit?

#

(my glyphs need one badly

neat mango
#

that is also a config builder I think

#

same like damage

gleaming fox
#

derringer helped me

radiant depot
#

There's heavy differences between latest release and latest indev about context canceling

neat mango
#

how are the unlocked glyphs stored?

#

is it saved to the world or the player nbt?

shadow helm
neat mango
#

how much data can I store there before it becomes a problem?

gleaming fox
#

i'm going to create some perks

#

how was the UUID created ?

gleaming fox
#

how does a mana drain glyph sound?

radiant depot
#

very niche to mage vs mage pvp

#

mobs don't have mana, if you allow to use it against mobs to get a flat mana back it either remains useless or a basis to quick recharge exploits via discount

gleaming fox
#

ofc it would also add some flat mana for each mob in a certain radius

#

its 4500 mana rn

#

high risk high reward

#

if there are a lot of mob its good

#

otherwise its not that good

radiant depot
#

you can always try and see, i'd guess it's hard to balance but you never know

gleaming fox
#

i think each mob restoring the 2* the value of their health as mana is a good trade, considering the steep price

#

that would make mana drain very busted in boss fights

#

but have very poor performence elsewhere

#

so long as scaling health is not involved

nocturne mason
#

Also: sensitive rune farm

#

You need to disallow from rune

steep spruce
#

@loud widget ars titan still in progress?

mossy hollow
#

Just used the Ars codebase to fix Effortless Building, thanks Bailey for struggling on my behalf ๐Ÿ˜„

zealous zenith
#

What was it?

mossy hollow
#
ctx.get().enqueueWork(new Runnable() {
                // Use anon - lambda causes classloading issues

this issue in the Packet handling for bi-directional packets

#

Was broken on dedicated server, and had no idea how to fix, opened up Ars to check how it's done and you even included a comment for me ๐Ÿ˜„

zealous zenith
#

Oh, stolen from botania even

#

Iโ€™m just a curator

mossy hollow
#

even the comment?

zealous zenith
#

Yes

mossy hollow
#

Damn, I never wanted to be grateful to botania

zealous zenith
#

Java has weird class loading shenanigans

shadow helm
mossy hollow
#

๐Ÿป

neat mango
#

I am using code taken from EnderIO which took it from Mekanism which took from Botania

mossy hollow
wanton ivy
#

Because I most certainly have bi-directional packets O-o

gleaming fox
#

@loud widget can i steal implement the aura glyph from your mod to a private mod for 1.20.1 ? its for personal use ofc

steep spruce
#

epic knights and mages added allthemodium support for ars armor

#

though I wish they added more mana regen/boost compared to base ars armor

#

looks epic btw

gleaming fox
#

how can i fuse multiple chat component into one ?

wanton ivy
#

What's the situation?

radiant depot
#

I'd guess either merging literal + translatable or two tranlatable

#

There is a way, but I don't remember where it's used

mossy hollow
#

don't you just use append?

gleaming fox
#

it didn't work ?

#

oj

#

h

#

i did it wrong

#

...

#

that's embarassing

#

thank you very much

neat mango
#

is there any mob that is animated when inside containment jar ?

#

preferrably an ars mob or something that uses geckolib

steep spruce
#

decoy player model holds items when you hold them

radiant depot
#

Mobs inside jars are supposed to not animate iirc

#

Like,there is some sort of override to avoid weird glitches

#

But not too sure

neat mango
#

okay cool

#

I see some code for allay animation thats why I wondered if I should do it or not

#

no worries. not that big of a deal

radiant depot
#

There are poses

#

But no actual animations

neat mango
#

I am working on making the occultism spirit GUIs to work when used from containment jars but facing server/client issue

#

the cachedEntity of ContainmentJar only exists on server side and thus when doing getEntity() using the entity id on client side, I get a null entity

#

any idea how I could make this work ?

zealous zenith
#

Recreate it on the client side

neat mango
#

recreate what ?

zealous zenith
#

the entity

#

you can make client side entities without issue, you can send the NBT with a packet and just make a new one

#

well, the nbt is probably already in the tile there anyway

neat mango
#

that should work but I am still confused. Let me look through container code to see if it works

zealous zenith
#

did you try using cachedEntity directly?

#

that is created by the renderer for youu

#

though the renderer also called getEntity, so not sure why it would be undefined for you other than that you are trying to use the entity ID instead of the entity itself for rendering

#

the entity ID requires it to be added to the level, the entity returned by the jar isnt in the level anymore, its just an instance of the object

neat mango
#

right now only id is passed through Network hooks to open the gui. let me see if we can send other stuff

loud widget
loud widget
#

expectation

#

reality

#

tough

radiant depot
#

I suggest this experience to everyone wanting more bosses

#

Helps understanding why there are so few mods that manage to add them, lol

gleaming fox
#

poor guy

#

im feeling sad for him

neat mango
#

I noticed that MobJarTile#onDispel method retrieves entity from the tag and not the cachedEntity

#

so how does it save village stats and level when dispelled ?

#

does it even save it ? right now spirits directly write data into cachedEntity and not the tag and thus when dispelled, they get reset

loud widget
#

i'm having to basically restructure the entire model so that things move together and there is no slipping

radiant depot
#

math can be your friend in some cases

#

By using cos/sin on anim time

#

Usually idle or walking anims

loud widget
#

yeah i think that can help too, but what i'm struggling with is with the animation itself (what moves to where and how)

#

i'm making the walking animation and i don't want to have their feet 'slipping' on the ground, so i basically have to make a structure where the feet is the root of everything and when the leg moves, the entire body moves without changing the position of the feet

#

or maybe im just over complicating things:)

radiant depot
#

You sure did at explaining it

#

Sounded more like you didn't nest the bones together and they all have to be synced manually

loud widget
#

thats a rookie mistake, i would never do that (pain ;-;)

gleaming fox
#

steal borrow code from other animators

wanton ivy
#

It'd be cool if Blockbench supported IK movement

#

Nvm, it does.

radiant depot
#

blockbench itself maybe

#

geckolib doesn't

loud widget
#

oh god, i just googled it

#

thank you very much for showing me the light

#

that will make animations muuuuuuch easier

wanton ivy
loud widget
wanton ivy
#

Well now I'm curious. Time ta do some experimentation!

loud widget
#

please let me know the results :v im also very interested

wanton ivy
#

Inverse kinematics work like a charm.
What I think he meant was Geckolib doesn't support Procedurally generated animation. Which means let's say you have a character that has multiple arms or appendages that need to get up and off the floor as the character moves. You couldn't make those appendages find a suitable location with Geckolib.

#

Or at least I assume that's what he meant O-o

loud widget
#

oooh nice, here i was already thinking how i would bake an animation make with ik

radiant depot
#

i always saw the question of "does GL support IK?" as no

#

but i have no idea how you made it in the first place

#

i barely know the basics of IK, not how it's implemented

#

if you generate the animation keyframes and then import them in blockbench then sure, it have no issues

loud widget
#

you can generate the ik animation in blockbench directly

#

Thanks for taking the time to check out this video!
Please consider subscribing if you liked it and would like to see more tutorial videos in the future!

Blockbench Wiki: https://www.blockbench.net/wiki
Blockbench Discord: http://discord.blockbench.net/

Check out my twitter for more frequent updates on my work: https://twitter.com/MisterGriimm...

โ–ถ Play video
loud widget
#

i have just spent 1 hour trying to find out how to lock the rotation of a bone when using ik

#

infinite pain ๐Ÿ™‚

neat mango
#

what is a jabberwog. hidden mob or something ?

radiant depot
#

the frog

#

meant to be a mob able to control weather locally

#

but weather in mc is global so it's kinda not viable

#

so it kinda got delayed indef

zealous zenith
gleaming fox
#

how can i create perk uuids?

gleaming fox
#

how do i get this

loud widget
#

that should be you that define, no? isn't that just a string to uniquely identify the resource?

#

i guess you could use a uuid generator online

gleaming fox
#

you can do that?

shadow helm
wanton ivy
#

Tis a useful tool

gleaming fox
#

this is a thunderous revelation

#

(see the pun?)

#

i botched the pun

#

sad

#

could've said i am shocked

#

;-;

shadow helm
#

Nahhhh. Doesn't have to be to on the nose for me, unless your intention is to make me groan. Then shocked would have been the better choice ^^

gleaming fox
#

mhm

#

ok

neat mango
#

what are the chances that you use uuid generator and it already exists ?

shadow helm
#

pretty damn low

#

https://en.wikipedia.org/wiki/Universally_unique_identifier#:~:text=Thus%2C the probability to find,is one in a billion.

Thus, the probability to find a duplicate within 103 trillion version-4 UUIDs is one in a billion.
So if you do have the same UUID twice it's virtually guaranteed that someone fucked up and copy pasted

A Universally Unique Identifier (UUID) is a 128-bit label used for information in computer systems. The term Globally Unique Identifier (GUID) is also used, mostly in Microsoft systems.When generated according to the standard methods, UUIDs are, for practical purposes, unique. Their uniqueness does not depend on a central registration authority ...

#

I actually wanted to make a joke about not using the web generator to often to make sure that the world doesn't run out of UUIDs to quickly, but I think education is more important here ๐Ÿ˜

gleaming fox
#

oh ok

#

thanks

gleaming fox
#

is there such a thing as a "life steal" attribute procured by forge ?
or do i gotta steal borrow code to create it?

loud widget
#

after 5+ hours of trying to make ik animations work with my model, i gave up ๐Ÿ™‚ I'll have to rotate things manually i guess

#

using ik the animation would always flicker when animating 4+ null_objects

#

tried everything that i could to fix it but it just doesn't want to work

#

the animation would always flicker when looping it (yes, all the first and last keyframes were all the same for every bone)

#

the only way to make it kind of work was baking the animation but then when you import it back into blockbench it breaks bc the baked rotations don't override the ik rotations

wanton ivy
#

Womp, but hey, u tried!

loud widget
#

does anyone know how to move a rideable entity? I want to be able to control it like what happens when you mount a horse, but my brain is too smooth to understand how they do it in the horse class

#

i already got working the part of being able to ride the entity, now i just need to find out how to move it

loud widget
#

nvm, i think i figured it out, i can use the input key event from the event bus

neat mango
#

does the spell crafting gui use "fake items" for glyphs?

#

really curious how the gui system works

#

(would have gone looked at code myself but it's 2 am for me. will go sleep )

radiant depot
#

It uses itemstacks now but in the past it was just sprites

#

Changed so the glyphs can be layered or animated

loud widget
#

when animating with geckolib, should i have one animation controller for each animation, or should i have one controller that handles all of them? I'm looking for the best way to get smooth transitions between animations

#

i can see that when i go from animation 1 to animation 2, theres a smooth transition, but when i go back from animation 2 to animation 1 theres no transition

wanton ivy
#

I'd say have multiple animation controllers if u have multiple systems or animations you wish to blend together. Use one if not

loud widget
#

@radiant depot hey ๐Ÿ™‚ can i have permission to post on #addon-showcase for Ars Titans?

radiant depot
#

Try now

loud widget
#

oh, it works, ty ๐Ÿ™‚

loud widget
# wanton ivy I'd say have multiple animation controllers if u have multiple systems or animat...

after some testing i found out that to get the best results, the perfect setup is to have one controller for each major part of the body. Let's say theres a running animation and an idle animation. The model has 3 major parts: arms, torso and legs. Having one controller for each part will make it so that it can transition between animation smoothly as there will never be an animation stopping, only transitioning (i found that when you stop an animation and start a new one, some times the animation controller skips the transitioning phase and goes directly to running which causes visual glitches. This might be due to the cache that they mentioned on the wiki but i don't know how to fix that :))

#

the downside is having to split every animation into a separate one for each major part

#

so a idle + walk for 3 major parts would have 3x2=6 animations in total

wanton ivy
#

Imagine someone made a spider boss that could detect where it could place its feet, and it didn't jump when something was 1 block high

steep spruce
#

spiders are the goofiest mobs

#

they get stuck in the ceiling and just die

loud widget
wanton ivy
#

That'd be amazing

gleaming fox
#

why is forge such a bugfest

#

i have been trying to play some good ol' modded mc

#

for THREE HOURS STRAIGHT

#

and i still can't get the fucking thing to launch

#

im loosing my fucking marbles

#

anyway if anyone has got tips on how to fix this particular error, i would be grateful

#

else im just going to keep trying things

radiant depot
#

How old is that?

gleaming fox
#

like

#

...

#

what ?

#

the version or the log?

radiant depot
#

Version

#

But anyway that error sounds like either a mod messed up ATs or something went wrong with Forge install

gleaming fox
#

i disabled "everything"

#

and its only forge

#

now

#

and i still get this stupid error

#

i really feel like banging my head on a wall

radiant depot
#

Then likely something messed up with installing it

#

I don't think Java version errors would crash like that

gleaming fox
#

ok

loud widget
#

is there a way to dynamically scale an entity model? i heard it doesnt work with animations

gleaming fox
#

pehkui

#

it does a fantastic job

loud widget
#

do you have any idea how to use that ;-;? i want to make an entity that has dynamic size based on some conditions

#

their wiki doesnt seem to work

#

or maybe you know some mod that uses that library?

gleaming fox
#

iirc ars scalaes uses it for the scaling glyphs*

loud widget
#

ooh, ok then, ill go take a look on how that works, ty

gleaming fox
#

npnp

radiant depot
loud widget
#

the word matrix gives me shivers

radiant depot
#

Oh you're using geckolib so you can also probably wrap everything on a master bone and keep an anim controller that forces the size

#

Well no, it would be just push, scale, pop

loud widget
#

like a cage that is the same size as the entity, so a small cage for chickens and a big one for something like the guardian or chimera

radiant depot
#

Not sure

#

But you can surely store values in the synced data

#

Remember the fact that not all variables of an entity are the same between server and client

loud widget
#

yeah i gotta deal with that at some point ;-; just trying to avoid the headache for now

#

oh, another thing, is there a way to change the texture of an entity dynamically?

radiant depot
#

I don't remember how it is for vanilla, but geckolib has a get texture method

#

Like Starbuncles

mossy hollow
#

Is there a way to use a translation key inside another translation key?

#

For example if I'm referencing an item, can I use the items translation key instead of duplicating the name

#
this.add("chat.ars_additions.lectern_remote.out_of_range", "Your Storage Lectern is not loaded");

Instead using something like this

this.add("chat.ars_additions.lectern_remote.out_of_range", "Your {{block.ars_nouveau.storage_lectern}} is not loaded");
radiant depot
#

I don't fully remember, but you could always use the %s and then pass as argument the translation

mossy hollow
#

Yeah unfortunately that requires having to pass it in all the time which sucks

mossy hollow
#

I forget, in 1.19.2 do I need to do anything special to make my items show up in Creative/JEI?

#

Oh it's in the item properties isn't it

loud widget
#

how can i make my custom entity be attacked by monsters like the player is?

#

do i have to manually set the target of nearby monsters with a goal? (like a TauntNearbyMonstersGoal which would set the target of nearby monsters to be the custom entity)

neat mango
#

now that neo is somewhat stable (only breaking changes would be the networking hotfix), should I expect porting to start anytime soon ? (I would be happy to help as well ofcourse)

mossy hollow
#

Are Geckolib and Curios up to date? Or patchouli and terrablender?

radiant depot
#

Patchouli aside, they should

neat mango
#

patchouli maintainer stepped down. the current situation is shaky from what I remember

neat mango
#

@mossy hollow for ars additions why are you using architectury loom over FG ?

mossy hollow
#

ForgeGradle is bad and I'll do anything to avoid it

#

Loom is such a nicer build system

#

I use archloom for any Forge project, including Ars Artifice and Ars Additions

I was even working on porting Ars to archloom

neat mango
#

hehe why you hate FG ?

#

also have to you look at NG ? Its nicer to work with in comparison

mossy hollow
#

FG feels really messy and I've had a lot of buggy experiences with it, additionally when I make non-addon mods I build them cross-platform so having Loom on everything makes life so much easier

mossy hollow
neat mango
#

I never had any issues with the gradle plugins until yet ( I avoid touching gradle as much as possible :P )

#

NG is supposed to better and faster and a lot simplified and I am liking it so far

mossy hollow
#

What's the best method for storing player data? I specifically need to store a number against a player and persist it, may need to expand this to a more complex data structure in the future

#

by complex I mean a hashmap of numbers to numbers per player

radiant depot
#

If it's just a number, simply using persistent data might be enough

#

For more complex, maybe capability territory?

#

Or saved data stuff, which get saved on the world and not on player

mossy hollow
#

It's the amount of a source in a players ender source jar

#

If I end up doing 3 colour channel source jars then I'd need to store the channel too

radiant depot
#

If you use a 3 color channel then you go into world storage tho

mossy hollow
#

I'm debating whether I'd even have public ender source jars, so currently the idea is they're all personal

radiant depot
#

It would be pretty much to have 3-16 combinations for each player

#

How was ender chest handling that?

mossy hollow
#

Like Vanilla Enderchest? Or Ender Chest mod? If the latter then arr

radiant depot
#

ChickenBones's

#

I mean ingame

#

There was some sort of privacy setting?

mossy hollow
#

The ender chest mod has them public by default and turn personal by using a diamond on them

radiant depot
#

I'd still use world data with an extra list for "taken" frequencies

#

But that's design choices

neat mango
radiant depot
#

If it is an rgb channel one could convert it to int btw, idk why I was thinking on hex

mossy hollow
mossy hollow
neat mango
#

neo capability rework added them. they are simplied version of caps and meant to only store and retrieve data

mossy hollow
#

Yeah that's exactly how cardinal components works, I hope they use that for inspiration because it's a really nice system

neat mango
#

while caps are reserved for methods and functions like fluids

neat mango
mossy hollow
#

Cardinal Components are what's used for handling Origins mods whole power system

mossy hollow
neat mango
#

like registry attachments recently. in neo they are called Data Maps

neat mango
#

neo is super easy to use and understand lol

neat mango
mossy hollow
#

Interesting, my first impression was the opposite, that cca was more powerful

neat mango
#

everything now is attachment. even extra item nbt

#

basically any information neo adds to any object is an attachment

mossy hollow
#

Yeah I was reading through this

#

What NeoForge versions are they on?

neat mango
#

20.3 and above if I remember

mossy hollow
#
public static int pack(DyeColor first, DyeColor second, DyeColor third) {
    String hex = String.format("%x%x%x", first.getId(), second.getId(), third.getId());
    return Integer.parseInt(hex, 16);
}

public static Triple<DyeColor, DyeColor, DyeColor> unpack(Integer dyeCombo) {
    String hex = String.format("%x", dyeCombo);
    int first = Integer.parseInt(hex.substring(0, 1), 10);
    int second = Integer.parseInt(hex.substring(1, 2), 10);
    int third = Integer.parseInt(hex.substring(2, 3), 10);
    return Triple.of(DyeColor.byId(first), DyeColor.byId(second), DyeColor.byId(third));
}

can anyone think of a better way to do this

#

Not a huge fan of the approach

neat mango
#

bit manipulation

mossy hollow
#

I have no idea how to do bit manipulation, that's too low level for me lmao

neat mango
#

whats the range of dye color ?

mossy hollow
#

0-15

#

that's why I opted for hex

neat mango
#

so 0xFFF format ?

mossy hollow
#

ye

neat mango
#
first = (code & rMask) >> 8;
second = (code & gMask) >> 4;
third = (code & bMask);
#

that should would. I modified this from how rgb is stored in hex

#

to get code

    code = 0;
    code += (int) (first * Math.pow(2, 8));
    code += (int) (second * Math.pow(2, 4));
    code += (int) (third * Math.pow(2,0));```
#

try this. I am not 100% sure but it should work

mossy hollow
#

Yeah it works

neat mango
#

awesome

#

it was a guess :P

mossy hollow
#

good guess

mossy hollow
#

I hate working with new things, my first block entity and I crash the game as soon as I place it down

radiant depot
#

unbound renderer i'd guess?

mossy hollow
#

Saving a null value

#

tag.putUUID had a null value

quaint nymph
#

Is it possible to get a link toward the beginning of this topic please ?
I fear the scrolling

radiant depot
#

From the pins?

quaint nymph
#

The what ?

shadow helm
#

The pinned messages

#

some of those are pretty much from the beginning

#

specifically this one: #1019655534900678737 message

quaint nymph
#

Perfect thank you

wanton ivy
#

Joking, of course. Just a fool spouting nonsense, haha!

mossy hollow
#

@radiant depot Are you planning on making focus spellbooks? Or is that something I can look into?

radiant depot
#

The test on the binder is a testing ground for threads on books in base ars

mossy hollow
#

Does that also include foci?

radiant depot
#

The vanilla ones ye