#General & Development Help

1 messages · Page 14 of 1

median sphinx
#

if you really really really really want to commission something that isnt loafer related you can gimme other stuff instead

#

cant really utilize online moners here

neat mango
#

wdym can't utilise? as you can't receive them?

neat mango
median sphinx
#

i can recieve them just that i wont be able to use them on local stuff

neat mango
#

there are a couple of projects ranging from a bit of touchups to me needing full artistic design help

median sphinx
steady yacht
#

for elemancy

median sphinx
#

yea

steady yacht
#

dam ok

#

also did u self buncle or were u buncled randomly one day

median sphinx
#

latter

steady yacht
#

-# smugxie

median sphinx
#

(is it cheap enough for me to slack off and just get some things done)

neat mango
#

that sounds very reasonable. can I dm you details in a few days ?

median sphinx
#

yea sure

neat mango
#

perfect

unreal summit
steady yacht
#

lol

median sphinx
#

figured that being netherite colored would also fit in with the "protection of the elements" upgrade to spell books

neat mango
unreal summit
#

I haven’t figured out animated armor yet, and what’s there is workable for now until I have the time to get around to it.

neat mango
#

if you make it greyscale, you can tint it in code and animate it like that

#

might not be perfect

median sphinx
#

tried animating the armor texture like other textures yet

#

or you meant moving the model itself because its geckolib

hasty nacelle
#

Wait you guys are using blockbench right?

neat mango
#

Yes

hasty nacelle
#

You can put animated decals on things

#

One sec

#

Yea by making a texture 2d and changing its resolution to be 16 by 16 times the number of frames it lets you switch between the 16x16 sections and animate it. There was a vid hold on

mossy hollow
#

They have published pricing for MC textures and models

median sphinx
#

always go for the one that seems more prepared

#

i love to cut corners

#

definitely not professional attitude wise

mossy hollow
median sphinx
#

o

#

hmmm

hasty nacelle
#

Jarva. I remember you posted a tutorial for mod making somewhere

mossy hollow
#

There's some pinned in this channel

hasty nacelle
#

Ic, thank you

crude leaf
#

guess what

hasty nacelle
#

What

#

Oh! You're learning how to mod?

crude leaf
#

👀

hasty nacelle
#

So I'm wrong?

steady yacht
autumn vessel
#

Is there a way to add/change the perk attributes of equipment? I tried giving the attribute ars_nouveau.perk.max_mana to an iron helmet and it didn't show up in the tooltip nor did it have an effect on my mana pool.

When I added the attribute to a piece of mage armour it instead cancelled its effects of increasing max mana, so it's definitely doing something

mossy hollow
neat mango
#

Whats the reasoning behind making the armor take durability damage but self heal. Why not just get rid of durability?

median sphinx
#

probably some PVP concerns

#

idk

zealous saffron
#

Probably just to make unbreaking and mending still useful

rugged urchin
#

people have managed to break their Ars armor believe it or not

zealous zenith
#

It also used to or still does cost mana to repair it, so it has a player tax

pallid rapids
#

it does cost mana still

#

it's not usually more than a second or two of mana regen to recover though

neat mango
#

I thought it uses source and not player mana. I never noticed it before

pallid rapids
#

you really only notice if you're looking for it

#

like hovering your mouse over the item while watching your mana bar

#

and watching it go down for a moment when the durability goes up

steady yacht
steady yacht
#

so i found out that way

zealous saffron
#

It's noticable if you're early game and really needed that mana to kill the creeper right in front of you

#

But no. Gotta fix that hole from the skeleton arrow first

#

And now the scorch mark from a creeper blast

unreal summit
#

My Ars armor broke when I got hit for 5m damage.😜

Which is why I always use an Eternal Stella on it now.

hasty nacelle
#

Wait what's the current distro of Java?

#

Thats what it's called right?

#

Actually I figured it out

#

So what's the version (ig) of Java that Minecraft uses?

steady yacht
#

so yeah back to spawn lol

hasty nacelle
steady yacht
#

o

#

i c

crude leaf
hasty nacelle
#

Correct

hasty nacelle
#

Observe

#

The punchline

radiant depot
#

just to not make you look for them later on, in 1.20 to 1.21 neo-port you may use these in IntelliJ's replaceInFiles to quickly clear some errors:

new\s+ResourceLocation\s*(\s*(.+?)\s*,\s*(.+?)\s*) ----> ResourceLocation.fromNamespaceAndPath($1, $2)

RegistryObject<\s*(\w+)\s*> ----> DeferredHolder<$1, $1>

RegistryObject<\s*(\w+)<\s*(\w+)\s*>\s*> ----> DeferredHolder<$1<?>, $1<$2>>

visual acorn
#

should i share the folder or just the code inside the item im coding?

#

?

shadow helm
#

Let's start with the actual file and move on from there

visual acorn
#

what i want to do is right click a warp relay with the item and it sends source to me as if i was next to a sourcejar

shadow helm
#

I'm on mobile and about to go to sleep and already tried to teach you discord code formatting.
You'll either have to work with me or wait until tomorrow when I'm back at my desk and can read that file comfortably.

visual acorn
#

wdym work with u?

shadow helm
#

Using the discord code formatting tools like I initially asked you in #general-and-help and just asked you again.

But at this point I feel like you and me both are better served by me going to sleep and taking a look at this when I'm awake again in ~9 hours

visual acorn
#

okay. ill message here when im ready which is gonna be in more than 9 hours. well thats my cue to sleep byee

shadow helm
#

So just to get this right, you want the item to remember the position of the warper relay and to pull source from the warper relay into the player, converting it to mana?

#

What exactly isn't working? Because There's loads of things that could go wrong there, starting from the warper not being chunkloaded to the warper just not maintaining an internal buffer at this moment

visual acorn
#

oh actually the code is the problem. i have trouble controlling source. in the code i cant seem to find the functions that manage source. i kind of want it to be like how when you use a spellbook near a sourcejar, it takes soutce from there. can u help me? do you understand what im saying? cuz i can be a bit clonky with words

shadow helm
#

i kind of want it to be like how when you use a spellbook near a sourcejar, it takes soutce from there.
It doesn't

#

I understand what you want to do, but it's not working like that

#

Source is there for automation, Mana is your own personal spell casting and there are no bridges for that in the base mod

visual acorn
#

when i cast a spell near a sourcejar it takes the source, no? i wanna use that mechanic so i can use the source beacon item to have basically infinie spells to cast as long as i have an awesome source farm

rocky grail
#

id also say itd be horribly unbalanced

shadow helm
#

I don't know what else to tell you and how else to explain it other than iterating that Source and Mana are completely different systems, one for automation, one for personal spell casting with no bridge between them

rocky grail
#

inb4 transfer mana glyph

shadow helm
#

You can of course try to code that bridge, yes. But it's going to need a bit of thought since a warper usually mostly takes and sends, not having a lot in it's internal buffer. Maybe linking to a jar would be better?

rocky grail
#

it doesnt sound too hard to do but i wouldnt advise breaking the balance

visual acorn
shadow helm
#

that might be possible. You'd need to look at how additions handles ender source jars

visual acorn
#

is there somewhere i can get the sourcecode?

mossy hollow
#

It's on github

visual acorn
#

okay guys i really need help with the code, i cant find out how to manipulate source. i cant find the actual functions

visual acorn
#

Nvm I finished coding the mod

#

And idk how to code 💀

visual acorn
#

oh a little more help, how do i add it to the ars nouveau creative item tab?

shadow helm
visual acorn
#

Okay ty sm, i completely finished my modpack with the texture and the recipe and the code. I can now finally link my Source Beacon to a jar and wirelessly get source and rege mana instantly. Ty

arctic bronze
#

Heyo! If you make a class (Lets say ClassA) that extends another class (ClassB) that also extends a class (ClassC)

Is there a way when using a super to use ClassC instead of ClassB

#

thanks

#

For my actual use case. I have a entity that extends the Phantom, but I'd like the aiStep and tick to super the mob class instead of the Phantom class

rocky grail
arctic bronze
rocky grail
#

you could also make an invoker (mixin thing) and call that

#

but itd be a bit wacky

arctic bronze
#

Annoyingly having issues with the summon's owner being lost when you re-open a save. Swear I'm using the same thing the summon skeleton does though

#

you know what....

#

summon undead seems to have the same issue

zealous zenith
#

for interfaces its Interface.super.myFunc, but for classes if they are overridden then no iirc

rigid harness
#

oh nvm

arctic bronze
#

Just trying to learn how to make Capabilities. Is there a way to search in GitHub for the 1.20.1 version? Whenever I search it goes back to the latest version

#

Or if anyone knows, where is the Registry setup? I don't see a listener for 1.20.1

rocky grail
#

search only indexes main branch yeah

#

id just clone and use ripgrep or something

#

capabilities should just be a deferredregister though

mossy hollow
arctic bronze
radiant depot
hasty nacelle
#

Hello
What IDE would you recommend for Minecraft modding?

unreal summit
#

I think most of us use IntelliJ

hasty nacelle
#

Fair enough

zealous zenith
#

Is there even another option besides eclipse? vscode for Java sounds terrible

zealous saffron
#

Notepad

zealous zenith
#

Notepad, command line, and clinical depression

zealous saffron
#

A physical notepad, scanned with an old HP all-in-one

median sphinx
#

when you quite literally write the code

hasty nacelle
#

When you write the code to write the code

radiant depot
hasty nacelle
#

Good to know

steady yacht
shadow helm
mossy hollow
#

It's not supported by NF though iirc

#

Vscode is supported last I checked

mossy hollow
neat mango
#

it runs eclipse language server under the hood, so completion and what not is quite similar to eclipse

arctic bronze
#

Okay, so I've had the idea for a dungeon in the sky. But the issue is that the structure would be far too visible and stick out like a sore thumb. So had the idea of a "cloud block" which would be a block that would only be visible when you get close enough. Now would it be possible to make a block like this that would hide the blocks behind it? Or if someone can think of a different solution that would be appreciated

shadow helm
#

Skyweave

pallid rapids
#

well, they could look for the shadow it casts on the ground..

shadow helm
#

Has the additional advantage that the illusion isn't perfect and you can spot it

arctic bronze
pallid rapids
#

make your structure out of shulker boxes

hasty nacelle
#

lol

arctic bronze
pallid rapids
#

yeah it was in 1.19

arctic bronze
#

fire, well that was easy

pallid rapids
#

remember testing it while we were developing Arcane Isles

shadow helm
#

Might be a bit of an FPS drop

pallid rapids
#

yeah, that's the one reason I wasn't suggesting it

shadow helm
pallid rapids
#

if you plan on having a large dungeon, that could be a lot of skyweave

arctic bronze
#

I was going to make it relatively large

shadow helm
#

And MC is the great equaliser anyways: Runs shit on all hardware.

arctic bronze
#

I may just have to bite the bullet and have it be super visible, would just make it really rare

hasty nacelle
#

what about two structures? ones a red herring (like a ruins) and the other's the real thing

arctic bronze
hasty nacelle
#

ah

#

i understand

shadow helm
#

Hm. 2 structure's an idea though, although a (dev time) expensive one:
Ruined portal on the ground, empty dimension with the dungeon inside it on the other side of the portal

pallid rapids
#

something small and light blue would be hard to see in the sky

hasty nacelle
#

oh yea
you could make a far smaller island if so

pallid rapids
#

easier to see at night, perhaps

#

but you could also hide a portal island with skyweave much easier than a whole dungeon

arctic bronze
#

Thanks all. I don't mind teaching myself to make dimensions so I shall go with this

shadow helm
#

I wish you well. May the coding gods be ever in your favor and my idea not lead you to too much cursing!

arctic bronze
#

mildly goofy I'm using a whole ah dimension for one structure but wdyd

arctic bronze
hasty nacelle
arctic bronze
hasty nacelle
#

ok

#

it would be funny tho

arctic bronze
#

too much work

#

I ain't making a whole city

hasty nacelle
#

oh its not simple

#

no not build a city

#

im pretty sure you can replace the skybox itself

#

wth a pic of shybuya

arctic bronze
#

😭

hasty nacelle
#

im buncling it

#

bungle

#

holy scrap

arctic bronze
#

bro is definitely buncling it

steady yacht
arctic bronze
arctic bronze
unreal summit
#

Is there any way to make caster tomes scribable in survival mode?

I’m wanting to give a blank caster tome as a quest reward in Expeditions that the player can then scribe with a spell of their choice.

arctic bronze
unreal summit
#

Why, if it’s going to do the exact same thing?

In creative mode you can scribe them at a scribe’s table - I’m just trying to figure out if there is some way to either enable that functionality in survival mode or create a recipe that will allow for it.

mossy hollow
#

Otherwise, I don't think so

unreal summit
arctic bronze
#

oh speaking of, do you know where the file is with the caster tome spells? Was thinking of setting up something to automatically use the list for random mage spells

#

I was struggling to track it down though

arctic bronze
#

ty

unreal summit
#

I was already in the file when you asked😂

#

I guess I will just have to make a selection of premade tomes for the players to choose from as rewards.

Might actually work better that way as I can make themed spells for different parts of the quest tree.

arctic bronze
crude leaf
shadow helm
#

Seems like it's related to trying to render creative tooltips, but I couldn't tell you for which mod or why

rocky grail
#

looks like something related to irons or an addon for irons

crude leaf
#

looking back at it i might know

radiant depot
#

KubeJs reclaimed crown

#

It says unbound attribute but unsure how it could happen

crude leaf
#

yeah i figured

#

I'm figuring out how to do percentage attributes

#

and forgot about that

#

it still crashes after removing that part tho..

#

hold on...

#

did i forget to ctrl+s

#

no i did not

#

i did

radiant depot
#

Percentage attribute?

#

If you mean something that multiplies instead of adding, there's the operation for it. In a version that multiplies only the base value of the attribute and one that multiplies after the addition of the others

manic aurora
#

When making datpacks do I just zip them up using something like winzip?

#

Is their a specific way that I'm supposed to package it?

#

nvm I figured it out, got my datapack working

neat mango
#

any ideas of how I can debug this ?

#

never worked with network tools before or did any kind of perf testing

mossy hollow
#

20kb/s is nothing

#

Can you reproduce it?

#

Does it happen with other Occultism entities?

neat mango
neat mango
#

I can replicate it. It doesn't happen with entities outside the jar. only when inside

#

doesnt happen with other mobs

mossy hollow
#

Interesting, it may be linked to the spirit init?

loud thicket
#

If this is impacting the test server, I use a linux client with quite a few dev tools installed for Minecraft. Let me know what you want to capture and I can try to examine the network flow.

#

I won't be able to use a standard tool like wireshark since I won't have the SSL certs and keys to decrypt the connection between the server and client, though.

neat mango
#

no binraries yet

mossy hollow
#

Does anyone have an example of an inject on a record?

radiant depot
#

Are they different from usual classes or are you trying to inject into one of the hidden methods?

mossy hollow
#

I was being dumb because I'm rusty and I couldn't remember how to properly mixin

#

I was trying to extend it to set the this type, but forgot I could do it without

neat mango
mossy hollow
# neat mango that sounds like a weird thing to do. what are you trying to do?
@Mixin(Enchantment.class)
public abstract class EnchantmentMixin {
    @Inject(method = "isSupportedItem", at = @At(value = "HEAD"), cancellable = true)
    private void isSupportedItem(ItemStack item, CallbackInfoReturnable<Boolean> cir) {
        HolderLookup.@Nullable RegistryLookup<Enchantment> enchantmentRegistry = CommonHooks.resolveLookup(Registries.ENCHANTMENT);
        if (enchantmentRegistry == null) return;
        
        Holder.Reference<Enchantment> enchantment = enchantmentRegistry.get(EnchantmentDatagen.SPELLWEAVE_ENCHANTMENT).orElse(null);
        if (enchantment != null && enchantment.value().equals(this)) {
            if (item.has(DataComponentRegistry.ARMOR_PERKS) || item.is(SPELLWEAVE_INCOMPATIBLE)) {
                cir.setReturnValue(false);
            }
        }
    }
}
neat mango
#

yeah that makes sense

#

probably should not use inject and use one of the mixinextras methods

#

ModifyReceiver was it

mossy hollow
#

I'd rather overwrite behaviour specific to Spellweave

#

I don't change anything else

neat mango
#

the way mixin works, you are overwriting every enchantment instance regardless

#

so it might break when another mixes in same part of code

mossy hollow
#

I check specifically that it's only my Spellweave Enchantment

#

and Inject at HEAD won't change

neat mango
#

Inject is the problem. some mixins will be incompatible and nothing stops other people from doing stupid stuff like redirects.

#

using ModifyReceivers works with redirects too if I understand correctly

mossy hollow
#

No, ModifyReceiver should be used instead of redirects

#

Nothing wrong with an Inject

#

I could use ModifyReturnValue, but not much point

#

ModifyReturnValue means all the other code in the function still runs

#

There's no exiting early

neat mango
mossy hollow
#
Should be used in favour of Redirects when you are simply inspecting or conditionally modifying the receiver of an operation, as unlike Redirects, this chains when used by multiple people.
hallow owl
#

If you wanted to add support for an additional augment and resolve functionality for an existing glyph, e.g. EffectConjureWater, is that possible or would I have to use a mixin?

I could also just add a new Effect but would be cool to reuse what's there (for conjuring a different, temporary water, a bit like Magefire but Magewater)

radiant depot
#

Well there are limits, more than that is Mixin field

#

Additional augment is easy

#

Elemental has example

#

Resolve functionality depends, there might be a Post event for the glyph resolve

#

But might not cover your specific case

hallow owl
fickle birch
#

how could I set a tier for glyph?
I tried to put
@Override
public SpellTier defaultTier() {
return SpellTier.THREE;
}

inside of glyph but it dosn't works

mossy hollow
fickle birch
#

which config you mean?

bc I didn't found any config where I could set a tier of glyph

#

I looked on another addon where guy just set manacost inside of glyph.
For example

#

I could set a School inside of glyph, but can't change a Tier or mana cost inside of glyph

#

it's just doing nothing

fickle birch
#

nvm, I got you

#

I just had to edit a config Inside of launcher

neat mango
#

all primers. neatly documented on the website. no need to go to gist hunting

#

(even has old forge primers)

modest star
#

Hi! I was wondering how the additive particle rendertype was fixed. I tried using yours as an example but the particles only render correctly in fabulous graphics settings. (Tho they get rendered behind transparent blocks like water or glass). If i try to play my mod with yours the problem gets fixed, so i assume its a mixin? I tried looking for it in the source but i cant find anything related to it.

#

Im using neoforge 1.21.1

radiant depot
# modest star Hi! I was wondering how the additive particle rendertype was fixed. I tried usin...

the only thing that seems to have changed in the particle update regarding the glow one was the render type but that shouldn't affect another mod...
https://github.com/baileyholl/Ars-Nouveau/blob/91ae349c3027497c43732f70773da29d586ce0b5/src/main/java/com/hollingsworth/arsnouveau/client/particle/ParticleRenderTypes.java#L18

#

uh, might actually be still unused. the uses still points to the old one, was it an attempt that got scrapped later@zealous zenith

modest star
#

Okay but i tried to use the ember one and it didnt work as in your mod

#

When i played with ars nouveau the problem solved

zealous zenith
#

in a particle? youd need to post the code or branch

hasty vapor
#

hello, Im trying to create a recipe for adding thread slots to armor from other mods, but seemingly there is more going on that just a tag being on the item as assing the tag to the item hasnt added the slot tooltip or enabled the armor to be placed onto the alteration table

white yachtBOT
mossy hollow
#

Check the source code for Ars Additions

#

It requires a few different changes to allow it on armor that isn't owned by your mod

mossy hollow
crude leaf
#

how does .addDeltaMovement work

radiant depot
#

Delta movement is the speed vector basically

#

Difference in speed, more likely

#

The speed doesn't conserve well, there's a lot of decay

#

So if you add delta movement once you usually end up with a leap

modest star
# zealous zenith in a particle? youd need to post the code or branch

i tried to copy your rendertype but without the configuration and i still have this issue

@Override
        public BufferBuilder begin(Tesselator buffer, TextureManager textureManager) {
            Minecraft.getInstance().gameRenderer.lightTexture().turnOnLightLayer();
            RenderSystem.enableBlend();
            RenderSystem.depthMask(false);
            RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA.value, GlStateManager.DestFactor.ONE.value);
            RenderSystem.enableCull();
            RenderSystem.setShaderTexture(0, TextureAtlas.LOCATION_PARTICLES);
            RenderSystem.enableDepthTest();
            return buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.PARTICLE);
        }```
#

fabulous graphics vs fancy

shadow helm
#

Not sure if anyone is willing to do it, but maybe sharing the full code in the form of a github repository for others to check might be easier at this point

modest star
hasty vapor
#

is there a way (probably with kubejs) to add items to the recipes for every single glyph? bonus points if i can do it by tier as well

#

for example i want to add 2 arcane spirits from malum to every single glyph recipe

mossy hollow
#

Yes there's definitely a way with kubejs

#

I don't know the script off the top of my head

#

You'll want to get every recipe of the scribe type, and then overwrite it with the modified items

radiant depot
#

You don't have the tier at hand but you can maybe base it off the exp it needs since they are usually based only on tier

zealous zenith
# modest star fabulous graphics vs fancy

oh, that additive one isnt even used. thats left overs from the particle update. It was made for a smoke particle but never used. it was designed to only work on fabulous because it didnt look right on fancy, so it was conditionally swapped in.

#

The vanilla rendering pipeline is extremely cursed and probably doesnt support whatever effect you are trying to recreate on fancy

radiant depot
#

The real question is wtf is it suddenly working if loaded with Ars

#

And technically, we don't have an answer

hasty vapor
crude leaf
modest star
#

And it didnt work

#

Its odd because its the same code but different result

modest star
#

i managed to fix it but i have no idea how i just wont question it

modest star
#

with further investigations

#

you actually didnt fix what i was looking for

#

so i apparently found a bug

#

like i only play your mod and its dependencies

#

where do i report this

#

i dont honestly know if its considered a bug

#

i know its because the blend func you use for ember rendertype

#

you shuld change GlStateManager.SourceFactor to something else i think to fix it but does it actually need to be fixed?

radiant depot
#

Nah, it's just how additive works in fancy

#

If you add nothing, you don't see nothing

modest star
#

yes but isnt it supposed to be black?

#

this is so confusing for me

radiant depot
#

You start from transparent and add colors

#

To get black in fancy one would need something more like a subtractive one

#

Like Omega did for a variant of the mage light

#

Obv assuming to keep the glow particle, with sprite based particles without transparency the black shows

#

There are many fundamental flaws in mc rendering and they may only get fixed in 1.22 lifecycle as they progress in dismantling the old stuff in favour of the vibrant visuals stuff

#

Which won't be that easy to support on the dev side as it's a lot of changes but when we get to that modding age it should allow better stuff...

modest star
#

oh okay

#

thank you for explaining, it really helped

radiant depot
#

This was the variant of ember render capable of dark particles

#

A bit funky with high rgb values iirc

#

But worth trying out I guess if you need dark transparent ones

hasty vapor
#

would i need to make a mod to let the cut spell count as killing with a knife from farmers delight? or could i do it thorugh a data pack or somethign

arctic bronze
#

Looking to find how I can scale the size of a model. It's easy enough to change the hitbox but I'd like to make the render bigger. Trying to look for an example but I haven't seen one yet. ty

mossy hollow
radiant depot
#

They are not yet on 1.21

#

You can probably just multiply the matrix stack in the renderer, the bookwyrm familiar is scaled down that way

#

Another option if they are geckolib entities is to have an animation do that, with a dedicated animation controller if it has to grow gradually for example

rocky grail
arctic bronze
hasty nacelle
#

have you read the objectives? its just making pull requests that correct more than typo'

#

s

unreal summit
#

I might need to submit my addons to see if I can get some of my minor bugs squashed

neat mango
#

there are some ars addons too!

rocky grail
#

additions mainly

neat mango
#

oh I think only jarva and lyrellion joined so far (and bailey ofcourse)

arctic bronze
#

Would anyone know where the damage from colliding into a surface with an elytra is calculated / executed?

#

all I really want is a way to track a collision with a block and the speed at which it happens

#

Think I found it under 'travel' for the LivingEntity Class

arctic bronze
#

Wasn’t able to figure out a good way to make this work. I haven’t touched Mixins, but would there be a concern with trying to just interject my new effect with the isFallFlying check for living entity block collision

radiant depot
#

Do you want to have an impact damage for non-elytra smashing against a wall?

arctic bronze
#

Yeah, for what I literally want. I want an effect that makes you take damage upon smashing into a wall. So you could effect someone, knock them back, and then they take damage if they're stopped by a wall

radiant depot
#

Remember looking into it and being unable to figure out how without bad side effects

arctic bronze
#

Do you remember what those side effects were? Ideally I'd like to not have to touch mixins but I haven't seen a way to track block collision reliably from an event and ticking checks are too slow

radiant depot
#

Well something like tricking the game to think the elytra is on but without the flying thing

arctic bronze
#

hmm, the only problem with that is you would specifically need to trick it to think you're gliding or as it calls is "FallFlying". Which is kinda what I'm thinking, to make the impact check into:
(isFallFlying || hasEffect(NewEffect)) type of thing

mossy hollow
#

Or something like that

arctic bronze
mossy hollow
#

It may just be WrapCondition

#

I have limited connection at the moment, otherwise I'd look it up

hasty nacelle
arctic bronze
#

I'm sure the term fall flying is used a bunch in regards to gliding

hasty nacelle
#

Ic

arctic bronze
#

Yay!

#

Tackled mixins and thay seems to have done the trick

#

also made sure I didn't break normal elytras in the process lol

hasty nacelle
#

Nice

radiant depot
#

If it works out it might become part of a feature in 1.21

#

Impact glyph is something Goo wanted

arctic bronze
rugged urchin
#

#1350826954596814958 message

arctic bronze
arctic bronze
#

is there a way to check for beneficial / harmful effects on an entity?

#

as in not check for a specific effect but just check if theres any harmful effect active

mossy hollow
arctic bronze
mossy hollow
arctic bronze
mossy hollow
arctic bronze
#

okay, got another issue.

#
    public void render(FireEntity pEntity, float pEntityYaw, float pPartialTicks, PoseStack pMatrixStack, MultiBufferSource pBuffer, int pPackedLight) {
        pMatrixStack.pushPose();
        pMatrixStack.scale(pEntity.size, pEntity.size, pEntity.size);
        super.render(pEntity, pEntityYaw, pPartialTicks, pMatrixStack, pBuffer, pPackedLight);
        pMatrixStack.popPose();
    }```
Trying to make an entity that can be summoned with different sizes. But it doesn't seem like the render method will update when .size is changed
neat mango
#

it handles collisions too

#

using an attribute modifier you can apply it to specific entity instances instead of the entire class

arctic bronze
#

This is 1.20.1

radiant depot
#

It's likely simply not synced to the client

#

If the problem start with spawning it in different sizes, probably needs extra spawn data

#

The animated head should be an example on how to do that sync

arctic bronze
zealous zenith
#

are you changing the size on the client and serverside or just serverside?

#

I doubt that variable is synced automatically if it is not an entity attribute

arctic bronze
#

I'll send the code when I get home from work. But I'm passing "size" as a variable with the entity method. Then in that method I'm setting the synced variable to that value. Then in the renderer I'm using a .getSize method from the entity class similar to the magma slime renderer.

zealous zenith
#

run the debugger or log the size in the renderer to make sure it actually changes on the client

arctic bronze
#

Still dealing with a new issue that for some reason the entity only seems to render within like 5 or so blocks away bookywyrm_sigh

arctic bronze
#

So, the entity I'm using for a glyph effect has this issue where it doesnt render when you move a couple blocks away. I've tried a couple different things to see what the issue is. I'm not quite sure what would be different from the other mobs I've made. one thing I could think is the issue is how I constantly change the texture of the entity to give it a fire animation. Does it make sense that this would be the issue? / Is there a good way to fix that?
https://github.com/AdamRogres/AdamsArsPlus/blob/master/src/main/java/com/adamsmods/adamsarsplus/entities/FireEntity.java
https://github.com/AdamRogres/AdamsArsPlus/blob/master/src/main/java/com/adamsmods/adamsarsplus/entities/client/FireRenderer.java

GitHub

Addon for Ars Nouveau. Contribute to AdamRogres/AdamsArsPlus development by creating an account on GitHub.

GitHub

Addon for Ars Nouveau. Contribute to AdamRogres/AdamsArsPlus development by creating an account on GitHub.

#

like, should I only perform the texture switch on the client? is there a way to have a static texture when people move away from the entity?

radiant depot
#

use the entity's age as % for the get resourceloc in the renderer?

#

that aside, i don't see how that should make it invisible

#

unless something odd like size dropping to 0 happens

arctic bronze
radiant depot
#

that's server stuff tho, no?

#

while seeing the entity is client

#

if you can reliably make it invisible, double check the size clientsize just to be sure

#

and use the f3 thing to show bounding boxes maybe?

#

was it like f3+b

arctic bronze
#

hmmm, maybe? When I move away it goes invis but when I move back within the small range it renders at the correct size.

radiant depot
#

i remember that happening with tile entities but it's weird for entities

arctic bronze
radiant depot
#

also double checked the possible methods when defining the entity type?

#

idk if a small bb can cause culling

arctic bronze
#
            AdamsLibEntityNames.FIRE,
            EntityType.Builder.<FireEntity>of(FireEntity::new, MobCategory.MONSTER)
                    .sized(0.1f, 0.1f)
                    .fireImmune()
                    .setShouldReceiveVelocityUpdates(true));```
I'll try making it bigger maybe?
arctic bronze
#

For future reference, it was making the entity small.

#

sized it as 0.8 0.8 and it's good

zealous zenith
hallow owl
#

can you lock in on a specific patch version of a dependency in NeoForge? I don't remember if it was just a Forge issue or not...
(limiting e.g. Ars Technica to Create 6.0.7, no later versions, as the 'API' breaks per patch)

#

according to my quick check yes, but on the surface it looked good for Forge but didn't work in practice.
or maybe i should just try it out myself haha, but if anyone happened to know 😄

radiant depot
#

The mods.toml

#

Check the neo/forge docs for how the field is set

crude leaf
#

Does anyone here happen to know how you make a block type bigger than 1x1? There's something similar in the DoorBlock class but I can't figure it out

radiant depot
#

The door is made by two blocks

crude leaf
#

I'm aware

#

but they're in some way interconnected

arctic bronze
#

Does anyone know of a good example on how to save a living entity to block? I went looking to see how mekanism does it.... but it's way too convoluted

rocky grail
#

look at how mob jars do it

arctic bronze
rugged urchin
#

maybe look at lectern for larger than 1x1

arctic bronze
#

Is there a way to run the intellij environment with additional mods? It didnt seem to work when I just added mods to the run/mods folder

neat mango
#

Yeah

#

you can either include them in the buildscript and there is one another way

arctic bronze
#

Question: Will a randomly generated structure via jigsaw blocks overlap? Like is it smart enough to know not to generate a room that would overlap another or will it just brute force through?

zealous zenith
#

they shouldnt overlap if your dimensions are set on it

arctic bronze
#

Wanted to make a structure that spawns in/under oceans. Is there a way to have it generate such that everything isnt water logged?

hallow owl
#

does anyone here use game tests, if so, would you recommend it or discourage, in favor of something else?

#

i would love to have full 'end to end' tests kinda like cypress/playwright but even these tests seem like a great idea to me

zealous zenith
#

ive used them before, they work well enough

#

but its a 1.21+ only thing iirc

mossy hollow
#

They've existed for years, but only just become easier to use.

hallow owl
#

Nice. So far I like it! UI testing seems to be a pipe dream though

rocky grail
#

fabric has client gametests but i dont think neo does

#

we use https://github.com/headlesshq/mc-runtime-test for https://github.com/Jarva/ArsAddonBuilder which powers ars.guide and the discord bot's glyph and eventually wiki capabilities

GitHub

Test the Minecraft client inside your CI. Contribute to headlesshq/mc-runtime-test development by creating an account on GitHub.

GitHub

Contribute to Jarva/ArsAddonBuilder development by creating an account on GitHub.

mossy hollow
rocky grail
#

yeah those are server side though

#

ui cant be done through that

mossy hollow
#

Ah right

mossy hollow
rocky grail
radiant depot
#

You only game test automatic stuff basically

#

UI does require the U dumbness

#

You can run a debug command to simulate scenarios without the clicks I guess, just sending packets

old hazel
#

Is there a better channel to discuss addon mechanics rather than development questions? I want to bounce around some options I have for my addon and see which makes the most sense in the context of core Ars

#

But it's not really development questions

shadow helm
#

as in, you want user feedback for it or as in, you want other ars ecosystem people feedback on it?

old hazel
#

Other Ars ecosystem people feedback on it

rocky grail
#

then this is a good place

#

theres also a private channel for api development that we routinely misuse but youre lacking the role for it

old hazel
#

I'm very new here, so I'm not surprised I don't have it

radiant depot
#

it's General [& Dev]

#

so it's ok here

#

would tecnically be a good place for any addon that have its own thread without having to be too specific, or for anything too indev to have its own

old hazel
#

I'll start here then 😄 I'm writing a solely necromancy focused addon, and one of my power progression lines is basically tying yourself to a phylactery block (binds a part of the soul to a box to make you immortal, which I'm doing with a ritual right now). My initial thought was to have a thread that gives you a perk that absorbs damage by source, basically sticking jars by your phylactery and equipping the thread would make damage take the source from the vicinity instead

#

My intended balancing for what is effectively invincibility though is scaling the source discount by thread level. i.e if you stick it in a level 1 thread slot, the source required for mitigation is unreasonably large such that you probably can't mitigate an entire death

#

As it stands I can either implement it by having the block actively use source to increase a player data attachment and then use that to mitigate on a damage event (which seems more efficient), or have a damage event trigger querying the bound blocks to pull source for mitigation. That's more of a dev question though that impacts the mechanic

radiant depot
#

have an internal buffer in the philactery?

#

you can kinda make it into a big source jar

#

so you can use option 2 and let the usual source routing refill it as usual

#

i guess it's basically using a mix of the two options, because #1 sounds like the buffer is on the player attachment

old hazel
#

(I'm not new to development, but don't know the MC codebase/domain very well yet so I don't know what's cheap/expensive tbf)

radiant depot
#

it's likely less expensive than having to update that player's data continuosly

#

main difference is probably the chunk loading condition

#

unless explicitly checked, it would cause a chunkloading of the chunk where the philactery is. or at least that's what i expect based off old ghost chunk loading issues in ars

#

and if checked, you're vulnerable if the chunk is unloaded

#

if you have the buffer on the player you kinda have it even if the block is unloaded until you don't run out

#

i guess one could use an uuid-based map too, stored as Saved Data

rocky grail
#

component is probably cheaper than map

radiant depot
#

which type of component you mean

rocky grail
#

sorry i meant attachments

#

though actually its probably a map under the hood

#

though you could definitely cache and bypass

#

you know what actually it doesnt even matter

#

you take damage twice a second

#

and the phylactery probably updates every second (matching relays)

#

and we are optimizing on the order of microseconds

radiant depot
#

case #1 is basically using the attachment as a near infinite buffer to use as a shield, refilled constantly

#

the thing you point is more for his case #2 without an internal buffer but an on-demand source jar scan

rocky grail
#

id prefer internal buffer

#

because chunk loading is confusing to normal people

#

anyways what im saying now is that efficiency doesnt really matter here

old hazel
#

I mean that's a fine answer. If I'm overoptimizing out of the gate then I'll just try it and see if it causes problems 🙂 I can always change it

rocky grail
#

youre optimizing for time thats 4-6 magnitudes smaller than the frequency of occurence :p

#

i just wouldnt bother at this point

old hazel
#

Great, less for me to worry about initially then 😄

rocky grail
#

at least for #1

old hazel
#

My original intention was to expect the player to load the phylactery chunk to keep protection up

rocky grail
#

for #2 i just wouldnt recommend it

#

most players just dont understand chunk loading unfortunately

old hazel
#

But users of packs might understand that (since other common mods rely on it, AE2 etc)

#

but in the context of just ars and addons (which is what I'm building/balancing around), maybe not

rocky grail
#

youd be surprised at how weirdly many players play packs lol

#

ive seen atm6 finished without rs/ae2

radiant depot
#

you can always benchmark if you have the optim itch

#

the code difference should be small enough

old hazel
#

I could also have the phylactery block itself force load a chunk, but my gut tells me that's hidden behaviour that works well until it doesn't lol

radiant depot
#

no it works, it simply has unexpected side effects

rocky grail
#

thats behaviour thats likely to cause issues for large servers

radiant depot
#

like, for anything else in that chunk

old hazel
#

That's my fear, it works until an edge case breaks it or adversely effects something else in the chunk, and then I get bug reports

pallid rapids
#

chunkloading is so dangerous lol

old hazel
#

I'd rather players have to consciously make the decision to load it and not do it transparently

pallid rapids
#

it can cause a lot of issues if the person setting it up doesn't know what they're doing

rocky grail
#

love the classic "permanently loaded farm without proper overflow handling caushes server to crashloop"

pallid rapids
#

yup

#

someone plays for 3 days straight then chunkloads their base then never logs on again

old hazel
#

See I'd rather a player drop a chunk loader or force it with FTBChunks and then get yelled at by operators, rather than them dropping a phylactery beside their mob farm and going ??? why did it load my farm

rocky grail
#

for the record ars does have a really simple chunk loading solution but its pretty hard to accidentally do

pallid rapids
#

yeah, invisible chunkloading is bad

rocky grail
old hazel
#

Feels like the solution that requires the block chunk loaded feels more true to core ars though, refilling source from nearby jars

radiant depot
#

back to gameplay-dev side of the mechanic

#

you should decide if how much source is accumulated is capped or not

old hazel
#

That's my next question, yeah. If it's actively taking source from jars, it needs a buffer cap (unless it deliberately sucks as much source as it can)

pallid rapids
#

and will the player be aware of the level when they're away from it?

old hazel
#

But the buffer cap, in other words the amount of damage that can be mitigated in one instance, is dependant on the player's perk level of the thread

#

My plan is to have the perk tooltip display what the damage to source cost is based on current equipped perk levels

radiant depot
#

oh, you will end up having to account for thread levels over 3

#

blame powerscaler addons for that

rocky grail
#

curse you jarva /j

radiant depot
#

i think max value is 8?

old hazel
#

Yep, the plan is to have the calc reasonably scale to something like 9/10 due to allthearcanists etc

rocky grail
#

by the way, the cost per damage better be hella high because source is extreeeeemely free

old hazel
#

But realistically in most packs with those addons, by the time you hit thread level 7/8 you can reasonably expect to have access to other methods of invincibility

rocky grail
#

unfortunately i made the poor decision to post an extremely efficient source generator that is capable of making 8 jars a second and now its semi common

old hazel
#

and have higher thread levels cut the cost by potentially orders of magnitude

#

I was also toying around with rendering heart overlays to show the player how much they can mitigate with their current source available (because 1 heart = 10m source on the tooltip isn't super helpful lol)

#

but that also expects the phylactery to have a buffer, uncapped or not

#

.... bigint buffer time? 😛

rocky grail
#

long ought to be enough

radiant depot
#

heart overlays aren't very fun due because overlay mods clash with them everytime

#

just a warning, because the idea is cute

old hazel
#

Yeah, that was my worry

old hazel
radiant depot
#

well, scale it by the damage red cost?

old hazel
#

I suppose that's fair, the tooltip itself could show how much is mitigated in terms of hearts

radiant depot
#

you don't have to say "currently storing 10 milions source" but "can sustain 100 damage points"

old hazel
#

that does expect them to check tooltips before going into combat I guess but

#

it's a tradeoff

old hazel
#

I guess the most ideal scenario would be to have the phylactery able to check how much source is available to it (in jars, etc) and then only take it at mitigation time

#

rather than keeping a changing/uncapped buffer (because in my suggested solution if I downgraded my thread level, it would just dump excess source above the new lower cap)

radiant depot
old hazel
#

If the sheer amount of source needed to mitigate for lower thread levels is pretty large though, is that going to be an issue? Like, would it end up having a player linking like 40 source jars to it

#

Which I guess isn't necessarily a bad thing

radiant depot
#

if you are in atm setting, there is the bigger jar

pallid rapids
#

well, if you give it an internal buffer that needs to be refilled, and then the rate at which it refills itself from jars also controls how often it can prevent damage

old hazel
#

Yeah, it gives it effectively an internal cooldown. Which I don't necessarily want

radiant depot
#

the source pipeline will still have that limit

#

relays have a transfer rate

old hazel
#

That's true

radiant depot
#

even worse for depositors tecnically because it's a bottleneck

#

ideal would be a single splitter for every jar

old hazel
#

Maybe a combo of both would give the player more agency? Have the phylactery have a fully uncapped buffer, but require the player to link specific sources so it's just sucking all source in the area

#

Then the player can decide downstream of the source... source, how to create whatever bottleneck they want

radiant depot
#

relays can be toggled off with redstone

#

and you just need to give redstone emission properties to the phyl

#

like, comparator ones

pallid rapids
#

I guess my thing is more, do you want to set an intentional limit, or do you want to just care about how much source someone can figure out how to pump in?

old hazel
#

I think the second one, no? Realistically, the numbers for mitigation for lower threads will be pretty large. If players want to invest in producing enough source specifically for it, I don't know that that's something I want to restrict

#

Is there existing capabilities for other blocks to potentially query exact source numbers of a storage block?

#

i.e. a capability to check if whatever block has this much source amount, emit a redstone signal. I know a few third party mods have those, but I don't know if that fine-grained option is built into core

radiant depot
#

jars for example have comparator integration built-in

#

otherwise a third party mod would have had to do a % to 1-16 redstone conversion, like a special reader

old hazel
#

Right. So I could add comparator compat to the phylactery block so players could build redstone to say hey, only transfer source in if there's <1m left or whatever

#

I think that's a solid compromise. Players deliberately link jars (or other storage), uncap the buffer (and ensure it's stored in the block NBT so it persists through breaking it), and leave it to players to decide how much source they want to dedicate to mitigating

#

and that opens up two progression lines for making it more powerful - either increase your source gen (and also your relay into the phylactery capability), or progress through ars and the mod to get higher thread slot levels

#

to lower the mtigation cost

#

Switching gears to a render question, this is my first time using geckolib. What is the right way to have GeoItems render on players (say armor items) as a geo model, but render in the inventory and world as a 2d texture?

#

Is it as easy as overriding isGui3d and ensuring there's a texture available for the item ID?

radiant depot
#

For armors specifically, you have the armor defined in code, kinda

#

And then the item model is as usual

old hazel
#

I'm just going by the base gecko4 example for neoforge right now, so I have an item/renderer and all that - it renders the model fine, but it renders the model for everything. In inventory, in hand, etc.

#

My armor models are... pretty detailed, so doing a 2d texture for everything else would be preferable since they're such small scale. I've found other examples of mods doing it (create goggles, etc) but they're using vanilla rendering utils, not gecko

radiant depot
#

As I said, in the specific case of armors the item model and the equipment model are different

#

Geckolib loads its equipment model from the .geo.json

#

Minecraft loads the item model as usual for GUI, hand, item entity

old hazel
#

Ah, okay - so it's the other way around then? I'd be writing code to have the geo model display in other perspectives (if I wanted that)?

radiant depot
#

So you just make the 2d item model as any other item and then attach the gecko armor render

#

If you want the non-armor items to be 3d you follow geckolib guide

old hazel
#

Gotcha - I'll work with it some more to get a better understanding

radiant depot
#

To adjust the positioning you export the model settings from block bench to use as vanilla item model

#

Basically no model in it but only the offsets for the various prospectives

#

You can look at the enchanter sword as example

old hazel
#

Awesome, will do

arctic bronze
#

Is there a good way to "randomize" or desynch an animated block texture? Like I have this block and I like the animation for it. But it looks weird when there's a couple blocks next to each other and they're all in sync. It would look a lot better imo if it was mixed around.

radiant depot
#

base it off random placement

#

like archwood logs

#

unsure how to explain, but basically you have different texture files (can be animated) and the game decides which one to use based on seed and xyz

arctic bronze
#

Hmmm, makes sense. Thanks

radiant depot
#

if you wanna save time, copy paste the same texture and only change the order of the mcmeta frames, lol

old hazel
#

Can anyone sanity check me on perk provider formats? I'm trying to wrap my head around why items are registered to a list of lists of perk slots. I assumed it was because individual items could be upgraded in tier to unlock more slots (going from tier 1, index 0 in https://github.com/baileyholl/Ars-Nouveau/blob/main/src/main/java/com/hollingsworth/arsnouveau/setup/registry/APIRegistry.java#L254-L256 for example to tier 2 at index 1 opening an additional level 3 perk slot), which would make the format make sense - but in core the sorcerer/battlemage/arcanist each have their own several lists. I thought the tiers WERE upgrading through the different types of armor

rocky grail
#

jarva doesnt have any t1-4

#

so empty is fine

rocky grail
#

if youre wondering why chestplate/pants have better slots than boots/helmets, thats just how it is lol

old hazel
#

Ah - so because none of jarva's items that hold perks get created below t5, there's no need

rocky grail
#

his armors start at t5

#

for ars elemental id expect to see 3 empty lists

#

because they only have t4

old hazel
rocky grail
#

then your set would have three level 3 slots at tier 1

old hazel
#

Are tiers ever changed in the same item?

#

Oh - ignore me

#

I think I've understood the mappings now

#

So in jarva's case, he has 3 armor sets which can't themselves be upgraded through tiers, but upgrading the set to another set increases the tier

#

So just two different ways of going about it I guess

mossy hollow
radiant depot
old hazel
hasty nacelle
#

I wanna make sure I'm doing this right,
If I'm trying to implement an item with an animation I make a .mcmeta file of the same name right?

#

Then define each frame+duration

radiant depot
#

if you mean a 2d item with animated texture yeah

#

there's guides for it, since it applies to resource pack makers too

hasty nacelle
#

Good
One more thing in the context of frames in the code how many fps are there? I'm assuming 30 unless they are referring to ticks

radiant depot
#

it should be tick based

#

otherwise animated textures would speed up with uncapped frames

hasty nacelle
#

Figured

#

So I need my animation to last 50 ticks for optimal speed...
Yea I'm just putting in three per frame

hasty nacelle
radiant depot
#

There's like, the archwood texture

#

There are like 3 version of each because it's a randomly variant texture, but each is an animated texture

hasty nacelle
radiant depot
#

oh, then you would need smth like...how the bow works?

#

i don't really have the mind to think how to make it without overcomplicating rn, i leave the ball to another coder

hasty nacelle
#

fair enough

arctic bronze
# radiant depot base it off random placement

Hey Alex, feel like I'm missing something. The only place I found the reference to the alternate models was in the blockstates file. Does MC process the random placement of variants automatically or smth?

  "variants": {
    "axis=x": [
            {"model": "ars_nouveau:block/blue_archwood_log_horizontal", "x": 90, "y": 90},
            {"model": "ars_nouveau:block/blue_archwood_log_horizontal_1", "x": 90, "y": 90},
            {"model": "ars_nouveau:block/blue_archwood_log_horizontal_2", "x": 90, "y": 90},
            {"model": "ars_nouveau:block/blue_archwood_log_horizontal_3", "x": 90, "y": 90}
        ],
    "axis=y": [
            {"model": "ars_nouveau:block/blue_archwood_log"},
            {"model": "ars_nouveau:block/blue_archwood_log_1"},
            {"model": "ars_nouveau:block/blue_archwood_log_2"},
            {"model": "ars_nouveau:block/blue_archwood_log_3"}
        ],
    "axis=z": [
            {"model": "ars_nouveau:block/blue_archwood_log_horizontal", "x": 90},
            {"model": "ars_nouveau:block/blue_archwood_log_horizontal_1", "x": 90},
            {"model": "ars_nouveau:block/blue_archwood_log_horizontal_2", "x": 90},
            {"model": "ars_nouveau:block/blue_archwood_log_horizontal_3", "x": 90}
        ]
  }
}```
rocky grail
#

probably picks from the array based on world position

arctic bronze
#

Huh, well if it does that automatically that's chill. Assumed I'd have to setup smth

radiant depot
#

Yeah the blockstate basically say "from this condition use one from this array"

hasty nacelle
#

After some more staring at the code until something clicks (also guides) I realize that while I do have a good grasp of how Java works however
Where the fuck does the code go. How do I run the auto generate commands why are there a significant lack of up to date guides. Etc etc
But the way I understand i (and I do really want to fully understand each concept) is that the main mod class holds all the lifetime events correct? Then my question is how exactly does it know what PNG to use for a model? My final comment is holy crap you guys are wizards at code. Ik that you guys likely have decades of experience but it was hard to see how much of a gap that translates to until now. Ok rant over.

mossy hollow
hasty nacelle
#

That's what I'm using actually

mossy hollow
#

It should import the gradle project when you load it up, and then you just run the runClient target

hasty nacelle
#

I got that part done, was able to import a texture and create a mcmeta for the textures animation and now I'm currently trying to see how to make a test item that uses my texture so I can check to see if the animation actually works

#

So my current main issue Is figuring out what class or event tells the game to use my texture as the model for that item

mossy hollow
#

You can make a placeholder item, and then register in with an item registry

#
hasty nacelle
#

Yea these will definitely help greatly. The other guides were a touch outdated

hasty nacelle
#

yea i was previously recommended a guy who only went up to 120

cobalt bison
#

Hello I would like to contribute on the mod as there is a known bug I would like to fix, can I proceed by simply posting my PR solving this bug on git ?
Also I like to comment my code but I see that it is not done in most files so do you prefer no comment at all to keep the same "structure" everywhere ?

mossy hollow
cobalt bison
#

Okay it indeed seems a bit overkill in my case, I'll proceed then. Thanks

old hazel
#

Is there something I'm missing about how lang strings interpolate arguments? I'm adding a translatable component to my armor using the core Ars lang string Component.translatable("ars_nouveau.tier", 1), and it only render Tier

#

No matter if the arg is a string, an int, whatever, it doesn't render it

radiant depot
#

i'm not seeing the "ars_nouveau.tier" lang entry to be honest

#

let me check what's going on

#

ah, it's the wrong lang. damn it.

#

for the elemental armors it works, so it's weird

#

but i do recall that kind of bug happening in a specific case

#

was it the jei

#

or maybe 1.20.1 stuff

old hazel
#

Yeah, I checked it was there in the lang datagen to see if I was crazy

old hazel
arctic bronze
#

Is there a good way to check if a block has a non-full hitbox. Like for example: Redstone repeaters, iron bars, runes etc

radiant depot
#

There should be a block property to check

#

Something like isSolid?

arctic bronze
#

ty, I'll take a look.

radiant depot
#

I remember that in 1.21 whatever it is, is deprecated

#

But for 1.20 it shouldn't even have a warn on it

arctic bronze
#

Hmmm, I can see a "isCollisionShapeFullBlock" but it looks to be depreciated

radiant depot
#

Well, Mojang deprecated stuff is still usable

#

The method for checking sunlight used by undead has a funny name and has been deprecated for years

arctic bronze
#

Not a big deal, I was just trying to improve how my autoturrets check if they have line of sight. Right now if you're standing on something weird that it sees as a block that isn't in my checklist it thinks there's smth blocking it

#
        int diffX = pos1.getX() - pos2.getX();
        int diffY = pos1.getY() - pos2.getY();
        int diffZ = pos1.getZ() - pos2.getZ();

        int distance = (int) Math.ceil(Math.sqrt(diffX * diffX + diffY * diffY + diffZ * diffZ));

        int numObstacles = 0;

        for(int i = 0; i < distance; i++){
            numObstacles = numObstacles + checkBlockList(world.getBlockState(new BlockPos(pos2.getX() + (int)(i * diffX / distance), pos2.getY() + (int)(i * diffY / distance), pos2.getZ() + (int)(i * diffZ / distance))).getBlock());

            if(numObstacles > 1){
                break;
            }
        }

        return (numObstacles > 1);
    }

    public int checkBlockList(Block block){
        if(block == AIR || block == WATER || block == LAVA){
            return 0;
        } else if(block instanceof StairBlock || block instanceof SlabBlock){
            return 1;
        }

        return 2;
    }```
Stairs and Slabs are easy enough, was just seeing if there was smth better
old hazel
#

Does anyone know of any mod examples that keep track of animation frames on an internal timer?

#

I'm considering if I can add a triggerable animated texture to a renderer, but default animated textures just loop infinitely

#

Best option I've found with the gecko devs is to keep an internal frame timer and basically return the texture I want the render layer to use based on the internal frame counter

arctic bronze
#

Don't skulk catalysts have a triggered animation? Could be wrong

old hazel
#

I think they must, since they respond to you moving around them

#

Time to go snoop through vanilla code

arctic bronze
#

From what I remember this animation triggers when the catalyst makes more skulk

old hazel
#

oh man I forgot the default sources are obfuscated

#

is there a nice way to attach parchment mappings in idea?

arctic bronze
#

I wouldnt know

old hazel
#

Looks like the catalyst animates by setting a blockstate though, not really available in an entity

arctic bronze
#

Oh, this is for an entity?

old hazel
#

Armor, but it's a geomodel. Whatever solution would work for an entity would likely work here, just with the playuer

#

player*

arctic bronze
cobalt bison
radiant depot
#

They called me crazy for pointing out the splitter had weird throughput

hasty nacelle
#

i remember this was disscussed once

cobalt bison
#

Yes the issue mentionned a conversation with a dev about this bug

hasty nacelle
#

YEP it was Jarva, I remember now!

#

also nice catch!

old hazel
#

What's the ideal range for addons to depend on for core Ars? Does ars use extended semver with build numbers, or is there an API version in the mix there?

zealous zenith
#

you shouldnt need to put a limit at all beyond the major version or just minecraft version, breaking changes rarely happen

#

and if they do it wasnt planned enough for you to plan ahead because it was probably an accident

old hazel
#

Gotcha, so [5.0,6.0] should realistically be reasonable?

#

Within 1.21.1 of course. I'm curious what versioning strategy you use across MC versions though, since I'm trying to work through mine. Normal semver works fine until I have to maintain parallel versions for multiple MC versions and backport changes

radiant depot
#

Ars 6 would be for the next Minecraft version so yeah, the third number are usually minor fixes and the middle is something new added

#

If one plans to keep multiple mc versions in par with content it can work to use the Create schema

rocky grail
#

that said your mod probably relies on things not present in 5.0.0?

#

honestly id just start with the newest version

#

which is 5.10.6 iirc

old hazel
#

Yeah, I'll likely just use whatever version I'm using right now as a lower bound and the next nearest major as an upper

old hazel
#

I'm considering just using calver honestly

rocky grail
#

i recommend against it

#

semver is standard

zealous zenith
#

you can also only use whatever neo supports which is semver* as far as I know

#

whatever that toml file lets you do

rocky grail
#

technically you can calver in the same format

#

yyyy.mm.dd

#

but still wouldnt recommend it

old hazel
#

Calver is semver compatible yeah

#

I just can't find any reason to use semver when the components don't really have any meaning

#

Like I don't provide an API, and any "breaking" changes will be backwards compatible, as much as I can make them

rocky grail
#

just stay on 1.x.x then

#

its not uncommon

#

calver doesnt give any more information

old hazel
#

I know, but that feels like using semver solely for the sake of using semver at that point

rocky grail
#

also can never guarantee that mods wont want to interact with yours even when you dont have an api

old hazel
#

And then versioning gets hairy for multiple MC versions

rocky grail
#

for ars we just bump the major

old hazel
#

Because if you make changes to a newer MC version and backport a fix, what version does that becomes

#

Become*

rocky grail
#

4.x was 1.20 and 5.x was 1.21

zealous zenith
#

you are very much over thinking it but do whatever youd like lol

old hazel
#

I am extremely overthinking it yeah

rocky grail
old hazel
#

I mean

#

Yeah, that would be nice

rocky grail
#

also fixes are just a patch version bump lol

#

its not that complex

#

no one really expects 100% compliance with semver either as long as you dont make breaking changes in the same major

old hazel
#

Sure - but if versions are done linearly, let's say 1.21.1 is on 1.1.2 and 1.21.10 is on 3.1.2, and I want to backport for some reason

#

I can't just bump the old minor because presumably it's been taken, unless every MC version is just a new major, which I know some mods do

rocky grail
#

you can do either

#

youd need the mod to match your mc version anyways

old hazel
#

I dunno - I realize it's not that deep, I'd just rather put a bit of thought into it before I release something rather than making a versioning change down the line

rocky grail
#

version clashing is a nonissue

old hazel
#

Or at least, not to a small Ars addon

#

I guess if I'm only ever actively working on one MC version at a time all my qualms go away

rocky grail
#

thats the standard yes

rocky grail
#

many mods use the same version for different mc versions

#

super factory manager for example supports from 1.19 to 1.21

#

all of them using the same version

#

still actively updated

#

i cannot personally fathom why, but its a thing

old hazel
#

Do they maintain parallel branches for different incompatible MC versions though, or is 1.19-.1.21 largely similar?

rocky grail
#

parallel

old hazel
#

oh damn okay

rocky grail
#

at this point they have enough abstraction that merging usually goes well though

#

less merging and more cherry picking i guess

#

still i cannot fathom why youd support even 1.19

old hazel
#

Even if I wasn't writing an addon to another mod I'd be hard pressed to do anything but 1.21.1 right now

rocky grail
#

i cant be arsed to support anything other than the latest version that most mods are on

#

1.20 is dead to me

old hazel
#

I guess it's largely moot with my addon since I'm bound to whatever version core Ars is on

#

If/when Ars goes to 1.21.10 or whatever

#

Far away from gecko having a stable version for that or .11 though

rocky grail
#

speaking of that, i was planning to attempt an initial port some time in the future because i want to play with neoforge's new resources/transfer api

#

i dont plan on it being an actual release but itd be interesting to benchmark

old hazel
#

Gecko 5 is not ready for prime time at all, tslat's mentioned a bunch of bugs for normal use

rocky grail
#

it should be significantly better which helps with starby and lectern performance

old hazel
#

Plus it's likely being left in that state while they do a pretty big refactor

arctic bronze
#

Whats a good range to set for chunks between structure spawn? I'd like them all to be relatively rare such that similar to strongholds you're likely gonna need the ender eye equivalent to find them but also dont want to make them basically non-existent. 🤔 Also restricting most to ceratin biomes so I don't just want to steal the stronghold ring spawns

hasty nacelle
#

depending on the biome Id say at least one per biome

arctic bronze
hasty nacelle
#

well what biome do you plan on adding it to?
if a pack has more than the normal number of biomes then finding your biome would be a chore to begin with

arctic bronze
hasty nacelle
#

ah ic

arctic bronze
#

Like, ice spikes are pretty rare alr so that's fine imo

hasty nacelle
#

yea frost should be the relatively most common

radiant depot
#

there's both BiomeTags and Tags.Biomes

hasty nacelle
#

I should look through worldgen code
its the only thing i havent yet

arctic bronze
hasty nacelle
#

Flame should be narrowed down more
perhaps in the basalt biome specifically?
then earth might be hard to have in the deep dark as you would need space, unless you plan on overwriting city spawns with those,
lightning should just be separated by 1000 block intervals
then I like holy and void where they currently are

#

theres my opinions on the matter, lets see your facts

#

wait you wanted to know spacing
i went off topic there
kinda

arctic bronze
radiant depot
#

the under lava lake is gonna be funny

#

reminds me of Firenando's dungeon in hexblades

#

it kinda worked in terms of spawning in lava lakes

hasty nacelle
arctic bronze
# radiant depot the under lava lake is gonna be funny

yuh, they're pretty big so I can def see the most common experience finding them just being when you're trying to find netherite. It alr works pretty well I just gotta make them less common. I made it 32 chunks rn and they're all over the place

hasty nacelle
#

oh ic spawning means distance between in chunks
with some sort of range to induce randomness

arctic bronze
arctic bronze
#

Most of the structures are underground though so I didn't give them much of an exterior design

radiant depot
#

Maybe i remember it working more than it actually did

hasty nacelle
#

"the strongest of the mages hold many an ancient fact. even they knew that the best base was a fucking hole in the ground that you build outwards."

arctic bronze
#

I just made sure the absolute height for the flame structure was set correctly. It's tall enough it goes right from bedrock to right below lava so there isn't any wiggle room

radiant depot
#

i suggest nether wastes as biome btw

#

it's more likely to have the lava lake

arctic bronze
#

Yeah I think that's a good idea. Esp since I found weird things happen when you try and make underground structures in basalt biomes

hasty nacelle
#

interesting

#

also agreed

arctic bronze
unreal summit
#

Updating quests for Expeditions and don’t want to overlook anything. Has anyone added any major content to their addons in the past couple months?

I got the Flashjack, vexing caves, and variant armors from elemental; and the stuff from Ars Zero, Ars Affinity, Cat’s Jewelry, and Ars Structurize

#

Any new threads, glyphs, or rituals other than those addons I listed?

mossy hollow
unreal summit
#

I have all the glyphs in the questline, just not sure if someone has recently added a glyph to an addon that I didn't catch.

cobalt bison
#

If i did a PR recently, should I remake it to use the new PR template ?

rocky grail
#

prolly fine

mossy hollow
cobalt bison
#

alright 🙂

old hazel
#

Bumped my ars dependency to the latest and started noticing lucene complaining about the vector incubator API on some runtimes - is there an incubating feature I should be turning on, or ignore?

rocky grail
#

just ignore it

old hazel
#

Easy, thanks

zealous zenith
#

must have been quite behind, that was from the docs update lol

old hazel
arctic bronze
#

What determines the position that a structure tag uses? Like when I'm locating a structure and it tells me that position what determines where relative to the structure that is?

#

If it helps I'm trying to make a check to make sure a ritual is performed within a structure. I can get the positions of the ritual and structure all fine and dandy the issue is that there seems to be some weird offsets

mossy hollow
#

Or any position is in a specific structure type

arctic bronze
#

Can you generate a structure within the borders of a structure? Like lets say I wanted a big woodland mansion-esc structure with a fixed exterior but randomized rooms. Is there a good way to do that?

pallid rapids
#

jigsaw

arctic bronze
# pallid rapids jigsaw

Hmm, I could just test this ig but I could place interior jigsaws? Would I need structure voids or anything?

old hazel
#

Couple of fun questions, thematic and dev:

  1. I'd like to add a new spellbook (not a book specifically, but a focus of sorts. Same function though, conduit for casting spells. Since it's death/reanimation magic I'm tossing around using like a floating skull head, broken chains, idk - any suggestions? 😄

  2. Is there an idiomatic way in the current ars API to restrict certain glyphs to need certain held items? I know you can inherently restrict by book tier

radiant depot
#

umh i don't think you can, at worst you can simply check in the glyph and have a tooltip that specifies it only work in that special spellbook

#

if it's not a book but more like a casting tool, you could have that a specific glyph gets swapped for another at scribing (or casting) time

#

like "if used on a phylactery, life link becomes life chains" kind of stuff

crude leaf
#

does anyone know a way to add loot to existing loot tables?

#

(neo 1.21.1)

radiant depot
#

Datapack or code?

#

Or kube

#

Cause:

  1. override the table
  2. Global loot modifiers (read the docs)
  3. inject in the table with the specific function
old hazel
#

It could be worse to be fair

radiant depot
#

Oh wait maybe one thing

#

But i am unsure if it's viable due to context

#

Is adding another validator so the glyph appear as not compatible (with a specific red tooltip)

#

But that only works if your item is more like Zero's that has a spellcrafting GUI too

#

Could argue that one could make it only appear in that GUI, without a validator, in that case though

old hazel
radiant depot
#

Then jarva would know better

#

Since Artifice had that

mossy hollow
#

this is on AbstractSpellPart

arctic bronze
#

Alright, having issues with structure generation. It's somewhat inconsistent with what does and doesn't spawn but it never gets all of it. Any tips for making large consistent structures?

#

This is how the segments are split up for the missing area if that helps

rocky grail
#

ask telepathicgrunt in the neoforge discord

#

john structureplacements

arctic bronze
#

aight, this is still forge 1.20 but I can reach out

arctic bronze
#

well, telepathic grunt got back to me fast but nothing I wasn't aware of sadly

#

Is it possible to somehow save a larger nbt file than 48^3? Feel like it could help if I did this in less segments

mossy hollow
#

I had to use it for the Arcane Library

rocky grail
#

the way vanilla handles big structures is jigsaws

#

trial chambers for example

arctic bronze
arctic bronze
unreal summit
#

Maybe look at how When Dungeons Arise does the Keep Kayra. That thing is ridiculously huge.

arctic bronze
#

Now I'm somehow struggling to get my singleplayer mc to load a world. smh

arctic bronze
mossy hollow
#

I didn't use it via maven, I did it on a normal build

arctic bronze
#

🤔 Is there a way to do that in the dev environment? Not sure why but my regular mc is giving me hell rn trying to load worlds

mossy hollow
arctic bronze
mossy hollow
#

It's hit or miss

arctic bronze
mossy hollow
#

I'd just get your mod to build and then put it into an instance and export the structure

arctic bronze
#

I basically always play on servers so I never bothered to look into it

mossy hollow
#

Make a local server then 😄

arctic bronze
#

smh, why can't anything be simple

arctic bronze
#

tfw I took out and added mods to see what the problem was. It was Ars. For some reason I can't load worlds with ars 🫄

unreal summit
#

How do you use KubeJS to completely remove all recipes for a specific item so that it is uncraftable?

#

Nevermind. Figured out what I was doing wrong

crude leaf
#

How would i go about changing an items model depending on a boolean data component?

#

(neo 1.21.1)

radiant depot
#

if the item is coded by you it's relatively simple

#

the item needs to register an override for its model then the actual model file can use it to switch between different item model files

mossy hollow
#

Ars Additions handy Haversack has a boolean based model change @crude leaf

radiant depot
#

oh wait is it even simpler now that there are item components?

#

i was still thinking to the nbt, where you had to "expose" that field for the override to work

crude leaf
#

any idea why i can't apply velocity to a projectile when it's in a block?

zealous zenith
#

As in stuck in a block or turned into an enchanted block entity

crude leaf
#

what?

#

stuck in a block

zealous zenith
#

in AbstractArrow it checks for inGround, if that is true then it doesnt process any movement data that tick. You would need to set inGround to false and then move it, but youd probably need to teleport that arrow out of the ground first, since the first thing it does every tick is check if its in the ground/set itself in the ground

old hazel
#

I've got a gecko question that maybe some people here have encountered before - tslat is pretty busy right now and I'd rather not bug him over and over for what is probably obvious rendering that I just don't have the foundational knowledge for

#

I have a gecko model that has a static texture for all but one bone, and an animated texture for one of the bones. How would I actually do that in a gecko renderer?

#

I can't hide/unhide model bones for specific render passes - I'm thinking maybe overriding the recursive bone rendering and switching the render type texture for the animated bone?

radiant depot
#

Iirc multiple textures on a model aren't supported

#

There might be a subclass that have a getTextureForBone or smth but might be only for entities and is obv more expensive

old hazel
#

The dynamic renderers let you do textures per bone, yeah - but it's quite costly

#

I guess technically there's nothing stopping me from combining my static and animated textures though? Making my 128x128 texture a bit bigger and adding frames in the corner

#

I'd have to duplicate the main static texture across the frames, but it it's more tedium in blockbench to save on expensive rendering

crude leaf
#

how would i detect when an item is no longer being right clicked, besides releaseUsing(), because it only triggers when you LET GO of right click but not when you switch slots, enter a GUI or log off

zealous zenith
#

probably the player tick method

gleaming fox
hallow owl
#

are there any examples of registering custom sounds to show up in the spell style sounds' part?

radiant depot
#

i guess the example addon is outdated on that regard

#

i don't remember if unity adds any

#

i'd imagine it's similar to how you add particle types to it

gleaming fox
#

hello there
what's the maximum amount of sauce that can be used in an apparatus recipe?

mossy hollow
gleaming fox
#

huh that's neat

shadow helm
#

If the later, the effective limit is still 10k, if you don't also make a bigger jar

mossy hollow
shadow helm
#

Very nice

rocky grail
#

the way it does it is a bit scuffed but its probably solvable with the new transfers api when we port

crude leaf
#

bit of a technical question, what color format do minecraft potion effects use?

#

nvm im dumb

arctic bronze
#

Having issues with my armor crafting being bugged after I added worn notebook / JEI support. Is there a good way I can troubleshoot what's wrong with the recipe? bc I'm not even sure where it's having issues

radiant depot
#

Which problem exactly? I remember another dev having similar issue

#

But elemental doesn't seem to have it

crude leaf
#

im tired

#

how the fuck does this work

#

i need to add a value to the HeartType enum in the Gui class

arctic bronze
# radiant depot Which problem exactly? I remember another dev having similar issue

For whatever reason when I try and craft with the enchanting apparatus it either A) isn’t able to read the recipes or B) isn’t reading the recipes correctly. Because it says there’s no recipe found when I try and craft. I don’t think it’s due to the tier since I tried removing that requirement and it still didn’t work.

radiant depot
radiant depot
arctic bronze
radiant depot
#

Aside really code diff comparing with a version that works, no idea. Usually it means you accidentally changed something somewhere without noticing so you don't trace back

arctic bronze
#

I've kinda been using the "blame" thing to just see where was changed but I haven't really found much

radiant depot
#

At least through the desktop app it's kinda decent

#

But even just going on the site you have the commit history

#

Blame is technically the better option in these cases though...from the IDE at least

#

One thing you can try aside that is checking that the recipes are correctly registered

#

Put a breakpoint in the apparatus recipe scan

#

If they don't appear there, it's a good lead

arctic bronze
#

🤔 I'll give it a shot

radiant depot
#

If they do but the recipe doesn't work, breakpoint the recipe itself

arctic bronze
rocky grail
#

you could also do a manual bisect

#

narrow down the commit that broke it

tender karma
#

Hi! Uh- For Ars Additions, would it be possible to KubeJS the Explorer's Warp Scrolls into teleporting you to the Ars Monde dimension directly rather than random structures, or...? Very specific question, I know, but I guess it just ocurred to me to try that before going all-in on coding a whole addon to modify structures and add new portals...

mossy hollow
tender karma
#

I'll give that a try dancingHypers

unreal summit
#

Honestly, if you came up with an addon with a way to build an Ars Monde portal, I would retire Ars Monde Attuner and replace it with your addon.