#General & Development Help

1 messages Ā· Page 10 of 1

azure pulsar
#

Or a chat command that I don't know of that does the same?

shadow helm
#

No and no afaik

radiant depot
#

A default state is still a state šŸ˜›

#

Block Renderer -> Blockstate -> Model -> Texture

#

This is how a block is tied to a texture

#

A geckolib tile is more like an entity and skips steps. But it will throw a warning if no blockstate file is present

rocky grail
#

ive been trying to get my prism to work cross dimensionally

#

i am very confused

#

do spell projectiles no longer resolve when they cross dimensions or something

#

also tried crossing the portal while my projectile is still on the way to be teleported

#

oh wait i know why

#

nevermind

#

ah got it

#

awesome now textures for my remote

#

uhh

#

soonā„¢ļø

rocky grail
#

yeah im gonna need to commission someone or smth lmao

#

screenshot of my image editor because the attachment is too small

shadow helm
#

awesome now textures for my remote
Probably the remote of remoting

rocky grail
#

its basically just a dominion wand but backwards

#

ill add lectern functionality later

#

rn its just for my new warping spell prism

#

so you can link it to the prism once then move the target around

mossy hollow
radiant depot
#

i'd guess store the lectern then mass link chests

rocky grail
#

yeah

mossy hollow
#

That's just the Advanced Dominion Wand

#

Already exists in Ars Additions

rocky grail
#

cool ill add it anyway lol

mossy hollow
#

Allows you to store a location and then toggle which side you're linking

rocky grail
#

does anyone know a non-annoying way to give an item a custom name without it becoming italic

#

actually i could probably see how dominion wand does it

#

ended up overriding getName

rocky grail
#

pretty sure my mod is ready for a 1.0.0

#

would love better textures but im not gonna bother for now

#

frick i need a logo

#

i totally forgot about that

mossy hollow
#

What's the addon exactly?

rocky grail
#

still small for now

#

but i wanted both of those in the game so i just made them real quick

#

maybe ill just use the remote as my icon lmfao

#

except curseforge wants minimum 400x400 so ill have to upscale

mossy hollow
#

It's what I did

#

Icon is the warp index

shadow helm
#

Same for me, just with the Starby Scroll

rocky grail
#

love that we're all too lazy to make a proper logo

mossy hollow
#

With Ars Artifice I did go a little fancier

#

with a block render

unreal summit
#

I just used the Frostbuncle as my logo for Ars Fauna.

shadow helm
rocky grail
#

oh wow curseforge's web ui has gotten significantly better

unreal summit
#

All that’s left to do is figure out how to make a loot table that includes items from Ars Nouveau and how to make the Shadowbuncle actively avoid lit areas.

rocky grail
#

because their search results werent scrollable

#

top notch ui

#

now in review for both cf and modrinth

rocky grail
#

still under review for modrinth

neat mango
#

warping spell prism? how is it different from using a portal?

rocky grail
#

so you can have a remote potion brewery constantly applying effects on you (the reason i even wanted it)

neat mango
#

hehe I made that before but then scrapped it because of how OP it was

rocky grail
#

it feels somewhat balanced if you ignore other addons

neat mango
#

the fact that you can target others and apply debuffs completely remotely is what makes it OP

rocky grail
#

also apparently ars additions has or will have parallels for both of the things i added in controle anyway lol

#

though i prefer spell prism to turret

#

because spell prism means you can warp projectiles from custom turrets like elemental's

#

oh also you reminded me that i forgot to add a source cost for cross dimensional warping

#

theres one for long distance warping

#

but none for cross dimensional

#

oh god im gonna have to port this to 1.21 and i cant abuse nbt anymore

rocky grail
#

the remote is apparently quite obsoleted by ars additions though :p

gleaming fox
#

might be worth it to merge the two mods under a larger umbrella

rocky grail
#

also i hate the control scheme i came up with but its about as good as its gonna get

gleaming fox
#

dw we’ll manage

rocky grail
#

i mean i could also just get an optional runtime dep on additions and do custom logic to handle their advanced wand

gleaming fox
#

thiugh the mod sounds really cool

rocky grail
gleaming fox
rocky grail
#

yeah its a better option but still a pain :p

#

especially since its probably gonna be "compatible" through heavy use of mixins

#

which is fine if additions never updates

#

ill make a post in #1019655289873641555 earliest tomorrow but theres a 99% chance i forget

radiant depot
gleaming fox
rocky grail
#

would prefer that

mossy hollow
rocky grail
#

i doubt it stores dimension though :p

rocky grail
#

looks like i need to change some stuff around then

#

not today!

#

dont think im able to get dimension from IWandable

mossy hollow
radiant depot
#

level is not in the parameters?

#

ah, i guess you mean you need the data of the first spot, not the last

mossy hollow
#

BlockPos just needs to be updated to a GlobalPos

rocky grail
#

i think this api might be fine for my current use

#

ill need to test

mossy hollow
#

May be worth switching to GlobalPos anyway

rocky grail
#

we probably also need a cross dimensional IWandable thingymabob

#

because i could call lectern's IWandable impls from another dimension

#

but it wouldnt work

#

and theres no way to tell atm without hardcoding afaict

mossy hollow
#

That's why I recommend using a GlobalPos

rocky grail
mossy hollow
#

Not by default but if they handle GlobalPos properly they will support it

rocky grail
#

sure we can make everything take GlobalPos, but how do i tell that a StorageLecternTile will only work with positions in the same dimension

#

because i dont think cross dimensional storage lecterns are exactly intended

#

i suppose we could just have a boolean crossDimensional() in IWandable

#

defaulting to false ofc

mossy hollow
#

Make the connection return a Boolean for whether it's successful or not

rocky grail
#

could work, might be a bit vague though

#

variety of reasons it could fail

mossy hollow
#

But do you care why it failed? Or do you just care that it failed? Do you care at all?

rocky grail
mossy hollow
#

Should be the responsibility of the block to inform the user that it's not accepted

rocky grail
#

thats probably a fair assumption

#

not sure if anything else could go wrong

#

hopefully not

#

moving this discussion over to #api-development if anyone wants to chip in, ill be asleep for the next 8 hours

rocky grail
mossy hollow
#

That's one of the fastest project approvals I've seen on both platforms

rocky grail
#

especially curseforge

#

because one of my other mods has 2m downloads

#

(its a really small mod, just useful for big packs so big packs like RAD2 included it)

unreal summit
mossy hollow
#

Updates are quick but initial project approval is typically quite slow

rocky grail
#

2 minute approval for controle 1.1.0

#

time to make a post since ive cleaned up the internals and added a config

mossy hollow
radiant depot
#

Not sure if there's actually extra stuff, kap makes the same video tutorial twice for both loaders

#

Anyway didn't know turty got back to making them, I kickstarted mine with his 1.16 vids

azure pulsar
#

whats the max sourceCost of a enchanting apparatus recipe? cause i made a custom one with 20k required source and im getting a message in chat that says "not enough source nearby", even tho there is a creative source jar nearby the apparatus

#

is it 10k?

azure pulsar
#

Dang

#

ty for the info

gleaming fox
#

hello, how should i go about appending an attribute to a player/entity ?

#

(the goal is to modify an attribute list each time the player levels up, to give players more control…)

rocky grail
#

you can probably look at the attribute command for a rough idea

gleaming fox
radiant depot
#

If the attribute already exists, you're looking for attaching an attribute modifier

wispy cradle
#

any favorite addons for 1.16.5?

gleaming fox
# wispy cradle any favorite addons for 1.16.5?

1.16.5 is borderline unplayable for ars, but i’d recommend :

  • Omega
  • Elemental
  • TMG.
    Btw please refer to the #general-and-help , as i am not sure that #1019655534900678737 is the correct channel…
wispy cradle
#

I figured the general & dev help in the addon chat would be more appropriate given that it's discussing addons, not the base game, sorry

radiant depot
#

Technically General Discussion was merged with DevHelp

#

So discussing anything about addons is totally fine

#

Both ideas for existing or potential addons and discussions on what should be improved in addon x

gleaming fox
#

how should i go about adding a "passive" attribute (IE one that does not come from an item) ?

radiant depot
#

You need a trigger to attach it, but there should be a livingentity#addAttributeModifier

#

Not sure on the details between permanent vs temp, and which one should be used based on trigger to attach it

#

I'd guess you can use something like playerJoinEvent and then check for id to see if it's there or need to be added

#

Perm vs temp might be related to if the am is lost or kept on death

gleaming fox
#

thanks a lot

#

i have found a way to add modifiers

#

all that remains is to create the logic around the whole system

mossy hollow
#

am I making a mistake? maybe

gleaming fox
#

hell yeah

#

we love allthemodium mage armor

mossy hollow
#

People ask about it frequently, so I thought I may as well capitalize on it

zealous zenith
#

cursed

mossy hollow
#

Tier 5, with Tier 4 thread slots šŸ˜„

#

it's aimed at the people who like big number go brrr

#

have to add an Allthemodium Spellbook

steep spruce
#

we need some unification for magic attributes for all magic mods

gleaming fox
#

^

#

i had a sketch of a project centered around it

#

the problem was that certain mods give way more mana than others

#

and i had to find an exchange rate while also accounting for other addons/mods

steep spruce
#

the hardest part would be accounting for addons that have big numbers like ars trinkets, otherwise there arent many big mods with mana right?

gilded lintel
#

Glyphs also account for a bunch of additional mana

gleaming fox
#

learning all the glyph makes such a big difference ngl

steep spruce
#

I meant you could try to balance it based on the current ecosystem of mods, but at some point someone will make an addon with big numbers for one of the mods and itll become a balancing nightmare

gleaming fox
#

after doing this, what should i do to create a new damage type ?

zealous zenith
#

damage sources are a datapack registry, so you need the json file that comes along with it

#

datagen is probably overkill for just one, so you could make it by hand and look at the ars or minecraft ones

gleaming fox
#

ah thanks

#

btw what is 'exhaustion' ?

radiant depot
#

How much saturation it consumes on the target

gleaming fox
#

alr

#

thanks

radiant depot
#

In the alteration table

gleaming fox
#

wohoo 1.21 ars

mossy hollow
neat mango
#

What exactly is terrablender? does ars nouveau still use it?

#

do I need it in my dev env ?

zealous zenith
#

it allows mods to add biomes

#

you need it for ars to compile iirc

neat mango
#

I see

#

I am using the new MDG plugin and it automatically fetches dependencies! Lets see if it works
(it seems this is not a MDG thing but Neoforge thing in general)

neat mango
zealous zenith
#

how does it know what dependencies to fetch and from where?

#

normal gradle/NG can do that too if the maven you download from is setup to point to the other mavens

neat mango
#

yeah that

#

just found that out. FG couldnt do it

zealous zenith
#

it could, thats how create served its dependencies

neat mango
#

i was told that fg.deobf broke it. not sure how the internals worked

zealous zenith
#

you may be right, I thought I was getting all of the create deps in one, but looks like I had to pass { transitive = false } to create, and still manually declare the deps

steep spruce
#

W pfp chonky

neat mango
#

Yeah I love the artist. I have been using their artwork as pfp for almost a year now.

steep spruce
#

will do

radiant depot
#

If you don't care about the forest in devenv you can ignore it

mossy hollow
neat mango
#

MDG super nice. I removed alot of code during the port so it is nice

#

according to shartte/gimpansor, it is recommended way for people starting out with neoforge and for simpler projects

#

Rover(from enderio) said the multi mod/sources/module project is also easier in MDG

mossy hollow
#

Oof, Chonky wins first to 1.21

#

I'm working on it but there's so much to update

neat mango
#

I mean ocultas barely has anything.

neat mango
#

I will look into updating the example addon. would you want to use mdg for that?

mossy hollow
#

I think it makes sense to use MDG yeah

#

but it's baileys call

radiant depot
#

Plugin [id: 'net.neoforged.gradle.userdev', version: '7.0.145'] was not found in any of the following sources:

#

do you remember why it throws his?

#

uh, mdg would simply be a variation of ng, still by neo?

#

i'll check it from chonk's

neat mango
#

in settings.gradle

neat mango
radiant depot
#

Ah, new gradle file needed

#

I sus that

mossy hollow
#

folks why am I going crazy

radiant depot
#

reboot the IDE /s

zealous zenith
#

You have to pass the egeneric

#

.<HaversackData>builder, it doesnt get inferred

mossy hollow
#

ty

#

I was inspecting your version but it didn't show in the compiled code

gleaming fox
#

it worked

#

me is happy

#

time to add some compatibility for ars magic damage and Apoth

#

btw does anyone have Shadow Of Fire's DC?

#

i couldn't find it unfortunatly

mossy hollow
neat mango
#

Should I add compat for my mod (the armor one) with Ars Nouveau. It can take the same attributes and enchants

#

Help me decide how I should go about it without overshadowing ars armors

#

(dont want to repeat what happened with heretic)

mossy hollow
#

I've ported everything but capabilities now, that's for tomorrow

#

For Ars Additions

radiant depot
#

I'll rush after Sunday

#

Today I ported the core of neg, leaving out the binder as I have to rewrite the inventory and might have to correct stuff for the book perks

#

And I shouldn't had, I have an exam Thursday

radiant depot
#

I thought for a moment that was new sword

#

Instead of... Fishing rod ?

gleaming fox
#

same

mossy hollow
#

Yeah part of me thought laser sword

neat mango
#

for 1.21. ensure you recipes are in "recipe" folder and not "recipes". check your datagen target :)

neat mango
#

know any good way to automatically bump version numbers in gradle.properties?

mossy hollow
#

Not so much bump but I have in my CI pipeline a way to set the version and build it and check the version into source control

neat mango
#

what does the last part do?

#

as in tag it?

mossy hollow
#

tag but also track it so it's possible to see the latest version from the source

rugged urchin
#

The only new colors is the brighter gold

gleaming fox
#

how should i go about creating a script to generate data (json)?

radiant depot
#

Have a way to make the JSON from the object then use that skeleton to generate it as file

#

For a lot of vanilla stuff there are premade methods, if you check Ars datagen classes you will find one for almost all types

gleaming fox
#

oooh alright

#

i am making a tetra addon (pain) and i need to make a lot of jsin files for it

#

thanks a lot

mossy hollow
#

Tetra may have datagen providers

radiant depot
#

I would say to take a look at the 1.19 tetra ars addon

#

But the mod likely got some internal rewrite

#

#ArsArmiger

mossy hollow
#

Ars Armiger was basically just KubeJS iirc

radiant depot
#

It was upgraded later IIRC?

gleaming fox
#

heya there, how should i make it so that a certain glyph is disabled by default?

radiant depot
#

I think you can try to override the buildConfig to make it default to disable

gleaming fox
#

i think imma create a tetra addon based around modular spell books (don't note my words)

neat mango
#

what kind of modular spell books ?

unreal summit
#

Yay. Ars Fauna is done - finally got that last loot table to work as intended. It REALLY didn’t want me calling loot from other mods for some reason.

gleaming fox
#

but i'm looking into it

#

it might also be (even more) modular armors

#

IE custom material mage armors, upgradable (hopefully)

gleaming fox
#

any idea as to why this recipe does not work anymore?

neat mango
#

which version ?

gleaming fox
#

found the error, i am big dumb

#

i forgot to finish adding an apparatus recipe (no result) and it bugged the whole thing out

brave quiver
#

@unreal summit are their hitboxes ment to be this large?

#

think your the right one to ask, sorry if not

unreal summit
#

They are not. Proabably not a big deal with Skelebuncles, but I’ll check it out.

unreal summit
#

Hotfix has been submitted and should be ready for download shortly.

gleaming fox
#

does anyone know why this is not working (forge 4.2.20) ?

mossy hollow
#

What's the type of FROSTED_EFFECT?

gleaming fox
#

oh i am big dumn

#

;-;

#

sorry for bothering you

mossy hollow
#

it be like that haha

radiant depot
#

Art style wise, how would you translate the Carian Phalanx to Ars?

#

Keep the swords or make them something more like homing soulmass, with current projectile style?

neat mango
#

is it form or an effect ?

#

if its latter and will have swords, keep swords in art

radiant depot
#

Would be a form

#

A mix of orbit and homing

gleaming fox
#

it's working people wrong chat lmaooo

rocky grail
#

was looking into ars code to see if there were any low hanging fruit to optimize, nope

#

i mean theres a few nitpicks

#

but nothing i can say would be substantial enough to see a % boost

#

SourceManager::tick is a bit sussy with the stale hashset, but it only runs every 3 seconds

#

there is a lot of copying in SourceManager in general actually

#

not exactly sure why?

#

yeah new HashMap(old) creates a shallow copy anyway

#

verified through jshell

#

which to me means that getCopySetForLevel is either wrong or useless

#

at least in the contexts its being used for in all of SourceManager

honest narwhal
#

So I've been trying to make an Ars Nouveau addon, I made a fork of Bailyholl's repo and imported it into IntellJ, but I keep getting:

A problem occurred evaluating root project 'Ars-Nouveau-Example-Addon'.

Failed to apply plugin 'net.minecraftforge.gradle'.
Found Gradle version Gradle 8.7. Versions Gradle 8.0 and newer are not supported.
Use ForgeGradle 6 or newer for Gradle 8.0+ support.

https://github.com/Eeebsie/Ars-Nouveau-Example-Addon
How do I downgrade my gradle version?

Any help appreciated

GitHub

Contribute to Eeebsie/Ars-Nouveau-Example-Addon development by creating an account on GitHub.

shadow helm
shadow helm
#

Sorry, in between rounds and couldn't help more. If the gradlew wrapper is checked in you can just use that, too

unreal summit
#

Anybody have an idea why this isn’t working?

#api-development message

Doesn’t create an error during compiling, but doesn’t show up in game as a valid recipe either.

neat mango
#

what is the file path ?

neat mango
mossy hollow
#

Can you show your log file also?

unreal summit
mossy hollow
unreal summit
#

And the file path is src/main/resources/data/ars_artillery/recipes/

It's in the same folder as all the working recipes

mossy hollow
#

Yeah it's just an incorrect item name

unreal summit
#

ah...i guessed (incorrectly) that it followed the same format as all the others

#

and voila! Fire Turrets are now craftable

honest narwhal
shadow helm
radiant depot
#

Go to gradle folder then gradlewrapper.properties?

#

Could also try to up to FG6

#

Changing name: 'ForgeGradle', version: '5.1.+', to 6+

honest narwhal
#

It's giving an error for line 159 (I didn't change anything)

gleaming fox
#

(probably not the right channel, but) hello friends, is this mixin correct ?

public class TetraItemRClicked extends Events
{
  ItemModularHandheld item;
  UseOnContext context;
  public TetraItemRClicked(ItemStack item, UseOnContext context)
  {
    this.item = item; 
    this.context= context;
  }

  @Override
  public boolean isCancelable(){return false;}
  public static class Pre extends TetraItemRClicked {
    @Override
    public boolean isCancelable(){return true;}
    public Pre(StatusContext context){super(context,item);}
    public void PostPre(Pre pre){MinecraftForge.EVENT_BUS.post(pre);}
  }
}

In : InteractionResult

@Mixin(InteractionResult.class)
public abstract class TetraItemInterractMixin{

  @Inject(method = "useOn", at = @At("HEAD"))
  public void headInjection(){
     TetraItemRClicked.Pre.PostPre(new Pre(context,player.getItemInHand(hand)))
  } 
}
#

(i need this mixin to easily have less pain when create modulable casting tools)

radiant depot
#

First of all, does it work?

gleaming fox
#

i know think it should work

#

but i am confused on how to inject it and reference things tahtare in the method i will be mixing in

radiant depot
#

Ah, a Mixin injection takes all the arguments of the original method

#

Plus a callback to change the return value, if it's not void

gleaming fox
#

ooh

#

interesting

#

may i ask if i could modify a list of variables (the tetra abilities) as they are declared in a static method (they are declared with public final ChargedAbilityEffect[] ...)?

#

this is the main issue i am having (atm)

mossy hollow
mossy hollow
gleaming fox
#

hmm

radiant depot
#

I'd ask in Tetra discord if there is any proper way to do what you want first

#

If it's closed source now, it might be hard to find but be there

gleaming fox
#

it is indeed closed source

#

(no gh for 1.20)

mossy hollow
#

My suggestion is to not use arr mods

#

But that's not very helpful

gleaming fox
#

what are arr mods?

mossy hollow
#

All Rights Reserved

gleaming fox
#

ah i see

mossy hollow
#

Closed source mods, where you're running into license issues just looking into the source

gleaming fox
#

it's not ARR

mossy hollow
#

That's just for the 1.18 code

#

1.19, and 1.20 are not source available

gleaming fox
#

mhm

#

then i'll talk to the author

#

thanks for the tips

mossy hollow
#

Nowadays it's ARR

#

Taken from the CurseForge page

#

Same as Biomes OPlenty

rocky grail
#

even with 81916 source jars in the same chunk

#

well actually its per level

#

but still that should mean 81916 hash computations

#

and it still only took 10ms over 1m20s of a turret being powered by a command block clock (cant remember if it was 10hz or 20hz)

#

BlockPos.withinManhattanStream could probably use some inlining though

#

capturing lambda go brrr

#

though the most expensive is definitely world.getBlockEntity

#

nothing we can really do about that though

honest narwhal
#

Hey, quick question, does anyone know of any tutorials on how to use baileyholl's Ars Nouveau Example Addon? (From the GitHub)

#

Any help greatly appreciated

#

Or if you know someone who could help me set up an IntellJ environment for the example mod that would be better.

radiant depot
#

Since it's gradle the issue, maybe you should try starting fresh

radiant depot
# honest narwhal Any help greatly appreciated

In this Minecraft Modding Tutorial for Forge in Minecraft 1.20 and Minecraft 1.20.1, we are setting up the Modding Workspace for the first time!

== MODDING COURSES ==
FORGE ā–¶ļø https://url.kaupenjoe.net/CourseForge120X
FABRIC ā–¶ļø https://url.kaupenjoe.net/CourseFabric120X

== COMPATIBILITY ==
ā–¶ļø Compatible with 1.20 & 1.20.1

== ASSETS & DOWN...

ā–¶ Play video
gleaming fox
#

kaupenjoe my beloved 😻

honest narwhal
#

I'll keep yall updated

honest narwhal
#

I got it to build from scratch

gleaming fox
#

@radiant depot you might have made a mistake (link version is 1.21, post version is 1.20)

radiant depot
#

force of habits

gleaming fox
#

mhm

radiant depot
#

corrected anyway

gleaming fox
#

hello, would this code work ?

zealous zenith
#

if that push call fires to the event bus then sure

gleaming fox
#

yes

#

the #push method is basically : MinecraftForge.EVENT_BUS.post(event)

#

thanks a lot

#

:^)

radiant depot
#

As always, just test it and you'll be sure

#

Seems fine as a concept

unreal summit
#

How would I go about registering a new creature type?

What I am wanting is to register all of my turret entities under a single type so that I can have a command target all entities of ā€œtype=turretā€

rocky grail
#

p sure thats just their resource location

#

there should be tags iirc though

unreal summit
#

I have 21 different turret entities that I want to target with a single command. I can run 21 separate commands to target them all, but I’m trying to figure out how to target them all with one command.

mossy hollow
rocky grail
#

how do i mark a block to be mineable with a pickaxe?

#

i forgot to do so for my spell prism lol

#

it just drops nothing always

mossy hollow
#

tag minecraft:mineable/pickaxe

rocky grail
#

ah in resources yeah?

#

i guess provider miiight make more sense

#

ok now they break faster and still dont drop the item lmao

#

probably registering something wrong

unreal summit
unreal summit
#

So I just make a json file in the tags folder and add mobs by name using that formatting?

mossy hollow
#

Yep

native belfry
#

Hey guys, how do i bind a wayfinder?

unreal summit
#

Okay, what program do I need in order to pack my source code into a mod .jar if I don’t want to use the built-in function in MCreator?

radiant depot
#

Do you still have folders with .java files?

unreal summit
#

I do.

#

I’m not yet to a point where I can let go of MCreator completely for generating code. Looking at the .java file that defines an entity still looks like gibberish to me.

But I’m running into a situation where I’m including more and more custom code - which works fine if it is snippets within a file, but not if it involves custom folders that aren’t part of MCreator’s interface.

The built-in function to convert the file tree into a .jar won’t include any folders or files that weren’t generated by the interface, so I’m looking for a way to include them in the final .jar

radiant depot
#

Just asking cause no idea on how mcc gives the user the files

#

You should download the example mod and then replace the files with yours

#

Then use the IDE to compile

unreal summit
#

Is there a way to have a mob run a command?

mossy hollow
#

Why do you want a mob to run a command?

unreal summit
#

I want my Abjuration turret to apply a potion effect on all mobs of a certain type within range

mossy hollow
#

You'd want to use a method on level to get nearby entities that match your condition

#

What potion effect do you want to apply?

unreal summit
#

As the player I can run the command /effect give @e[type=#ars_artillery:turrets, distance=1..4] Minecraft:regeneration 5 and it does what I want

mossy hollow
#

You want to give other turrets regeneration?

unreal summit
#

Ultimately I need it to apply regen 1, resistance 1, and a third effect I haven’t decided on yet for the three tiers

mossy hollow
#

Are you doing this in MCreator or in code?

unreal summit
#

I’m in MCreator, but I’ve learned how to lock the elements so I can customize the code within a given element when I need custom code for something

mossy hollow
#

I can help out with code snippets tomorrow if someone can't help before then

unreal summit
#

Is it not possible to just have an entity run a command?

mossy hollow
#

I mean technically you can, but it would be way more complex than just applying the effect

#

Applying the effect will be less than a dozen lines of code

#

Running a command as an entity I don't even know where I'd begin, probably looking at the source code for the execute command

unreal summit
#

Applying the potion effect to a single target is easy to do with MCreator, I just can’t figure out a way to simultaneously apply it to all entities of a given type in range other than using the command line.

mossy hollow
#

There's a method on the level/world to get all entities that match a condition

#

I'll send you the code tomorrow

gleaming fox
#

@unreal summit try to paste this in the entity class:

static final HashMap<MobEffect, Integer> effects = new HashMap<>();
   static{
       effects.put(MobEffects.REGENERATION,1);
       effects.put(MobEffects.ABSORPTION,1);
   }
   public void tick() {
       super.tick();
       if (this.age % 20 != 0){return;}
       float rad = 4;
       List<Entity> nearby = this
               .level()
               .getEntities(this, new AABB(
                               this.position()
                                       .add(rad, rad, rad),
                               this.position()
                                       .subtract(rad, rad, rad)
                       )
               );
       for (Entity e : nearby) {
           if (e instanceof LivingEntity living /* filters */) {
               for (MobEffect eff : effects.keySet() /* will go through the keys, in this case, MobEffects*/){
                   if (!(living.hasEffect(eff))){ /* so as to not override more potent potion effects*/
                       living.addEffect(new MobEffectInstance(eff, 40,effects.get(eff),true,true)); 
/*
eff is the key (instanceof MobEffect)
40 is the duration (in ticks)
effects.get(eff) returns the potency, stored in the effects HashMap (a table). 
the two boolean are optional and dictate the aesthetic properties, IE if the effect makes particles appear and if it is visible to the player.
*/
                   }
               }
           }
       }
mossy hollow
radiant depot
#

you can probably use mob age and then modulo

#

Like
if (this.age % 10 == 0) ...

gleaming fox
#

alright

#

edited the code a bit

#

shouuld be less laggy

unreal summit
#

1)How do I make it only affect certain types (in this case tagged as ars_artillery:turrets)?
2)if I wanted to use a potion effect from another mod, say shielding from Ars nouveau, what’s the syntax for that?

gleaming fox
#

do you have a gh (git hub repo)

gleaming fox
#

btw keep in mind that potions (the drinkable) are created from the mob effect (IE BLAST_POTION != BLAST_EFFECT).
If you want custom duration/amplifier, declare a new MobEffectInstane like in the code i shared...
(that is using the MobEffect)

unreal summit
#

1)I don’t know. I know that if I’m just using the command line I type #ars_artillery:category/turrets to do it
2)don’t have anything in particular in mind yet, I just know that replacing REGENERATION with ars_nouveau:shielding didn’t work in code even though it works fine in command lines

unreal summit
gleaming fox
#

then in code, you can do :

if (Entity entity instanceof ILyrellionTurret){/* Code*/}
unreal summit
#

I’ll have to take a look when I get home this evening, but I don’t know how to do that in MCreator. Maybe ā€œAdd new game ruleā€?

gleaming fox
#

you will need to go into the .java files

unreal summit
#

I can only edit an existing file, not create a new one. But I can tell it to create a new file of a type that it recognizes and then edit it.

gleaming fox
#

alr

unreal summit
#

It’s like when I made the recipes for the turrets in the enchanting apparatus. I had to use ā€œAdd new recipeā€, then lock the element so the program wouldn’t update it automatically, then go in and replace the code in the element by hand. If I had simply added a new recipe file into the folder manually, the program simply wouldn’t acknowledge its existence.

#

But at the same time, I’m not at a point where I can just NOT use the program, because I don’t know how to do things like make a creature walk, set their stats, or call an animation - I need the GUI to guide me.

gleaming fox
#

it's not a pb

#

i'd recommend getting Intellij or another editor for when you are editing the code manually

#

(if you don't have one already)

unreal summit
#

Once I lock an element in MCreator, I can directly access the code for that file through the interface and make any changes.

It just doesn’t let me freeform entire files, or move a file from one subfolder to another. But like the Tentabuncle loot table for Ars Fauna - I told it to create a loot table for the Tentabuncle so it would make and register the file, then I just locked the element, deleted the entirety of the text, and rewrote the entire file - all from inside the GUI.

#

This is also why yesterday I was asking about programs to package my source into the final .jar.

If I could use MCreator to generate the code for the core of the project, then just add additional custom files in subfolders as needed, it would open up new options - but I need something that could then convert the directory into the .jar without using MCreator’s built in compiler.

gleaming fox
#

(i recommend looking at the build.gradle and the gradle.properties files in the ars adam+ gh repo to have an example of how it should be done)

radiant depot
#

If you wanna lock on doing it via MCC, I'd advise to ask in their discord first

#

We will always end up talking in java

unreal summit
#

Their discord has been notoriously unhelpful.

And I’m not specifically locked on doing it in MCC, but I DO still need SOMEthing with a GUI at the stage I am at. It’s like trying to write a thesis in a foreign language - I need something that basically translates from English to Java because I have the vocabulary equivalent of an elementary school child.

neat mango
#

so you don't need an additional interface

zealous zenith
#

what is mcc?

#

oh mcreator?

mossy hollow
#

I thought MCC was Minecraft Championships

neat mango
#

@zealous zenith do you put your CF points under your income/tax report

#

does the American law consider CF "work"

radiant depot
#

Keep in mind that different countries have different rules

#

And may depend on thresholds

neat mango
#

I need to know about US

radiant depot
#

Ah, pretty sure it does in US

zealous zenith
#

CF points are considered income

#

there is a specific tax code for hobby related work that is required after I think $600

neat mango
#

that's sad. I have never withdrawn any points and wanted to get a new laptop but now I am in USA on student visa and so it's illegal for me to work

unreal summit
#

So I don’t have to report my $2.šŸ˜‚

neat mango
#

does that mean I cannot make/monetize mods any more?

zealous zenith
#

its not a W2 income, and CF is not a US based entity

neat mango
#

what is W2? can you elaborate

zealous zenith
#

W2 is the standard worker tax form for employed persons

#

I think non-residents still have to file taxes and declare income, you just can’t be employed with a W2

#

Not sure on that though. Us tax code is notoriously complex

radiant depot
#

Do Amazon cards go towards that?

#

Maybe you can circumvent it, since it's not actual income

neat mango
#

I was thinking about that but at the same time dont wanna get in trouble

neat mango
unreal summit
zealous zenith
#

A year

#

Yeah it technically counts but absolutely no one is going to notice a student withdrawing some gift cards. Cf doesn’t report anything

zealous zenith
#

I also don’t know which country the income is counted under

radiant depot
#

you just get a code that might be as well a gift code from your grandma, unlike PayPal that is listed as coming from Ow

unreal summit
mossy hollow
#

Overwolf is Israeli

unreal summit
zealous zenith
#

Yeah but as a non resident you have to file income but which country does that income go to

#

I think the US forces you to declare all income even if you didn’t get it from anything related to the US

mossy hollow
mossy hollow
#

And you get taxed on all overseas income as a US citizen

unreal summit
#

I know the US is very greedy and expects you to file US taxes on anything earned while you are living in the US - even if you ALSO have to file them elsewhere.

mossy hollow
mossy hollow
#

It also has a variant with a predicate to filter each entity

#

And a variant that lets you specify the radius without needing to make the AABB

unreal summit
#

I wasn’t able to create a new entity class, so I couldn’t make the Abjuration turrets look for all nearby turrets, but I managed to make all turrets check for nearby Abjuration turrets and self apply the potion effects. Not elegant, but it works.šŸ˜‚

Brute force for the win.

Also, never underestimate the stubbornness of a Gen Xer.😜

gleaming fox
radiant depot
#

We'll never know without looking at the code and seeing an user spam them

#

But it's not like you need to open the box and discover it now

unreal summit
#

Well I tested by spawning in 150 turrets in my Ars Eclectica world that I use for testing my mod builds and didn’t see any drops in performance so there is that.

gleaming fox
#

did you use spark to see which % of the world's operations was caused by the turrets?

radiant depot
#

i think that iss_smp addon have another dependency

unreal summit
severe crystal
#

Every time I go here I get intimidated lol

gleaming fox
#

you’ll get used to it

gleaming fox
#

do : spark tickmonitor

gleaming fox
#

i meed to see if you have the server thread available

gleaming fox
unreal summit
unreal summit
#

Disabled the procedure and uploaded a hotfix to Curseforge. That was definitely not a workable solution

unreal summit
#
GitHub

Contribute to Lyrellion/Ars-Fauna development by creating an account on GitHub.

GitHub

Contribute to Lyrellion/Ars-Fauna development by creating an account on GitHub.

rocky grail
#

your mobtype is MobType.UNDEFINED

unreal summit
#

it should be following the passive creature mob cap - and it does so on my test world

rocky grail
#

though im not sure if thats what defines the mobcap because ive never made an entity lol

#

seems like all your buncles are MobType.UNDEFINED though

#

not all, theres some undeads

#

i wonder what defines mobcap

#

which says creature

#

which should mean passives

#

and neutrals

#

who experienced thousands of enderbuncles anyway

#

and in what conditions

unreal summit
#

the MobType there is either UNDEFINED, UNDEAD, ILLAGER, WATER, or ARTHROPOD in MCreator, so mine all fall under UNDEFINED or UNDEAD

unreal summit
rocky grail
#

the only other possibility i can think of is that buncles are spawning in lazy/border chunks but that just shouldnt happen

unreal summit
#

so i took a look at the code but saw nothing out of order and tested for about 30 minutes in game, but couldnt duplicate it

#

so i wanted to get a better set of eyes than mine to see if there was some glaring error i was missing

rocky grail
unreal summit
#

On a side note: I’ve also gotten around to publishing the source code for Ars Artillery

rocky grail
#

i still have no idea what artillery is supposed to do :p

unreal summit
#

1)decorative rune blocks
2)play tower defense😜

#

I mean…you can also use the turrets as static base defenses if you want to.

#

Or even as extra firepower when out hunting, but that would get expensive

rocky grail
#

i originally thought the turret models you posted were pre-imbued chambers

#

in other words single-block imbuement recipes

unreal summit
#

Well that doesn’t sound like artillery at all.šŸ˜‚

rocky grail
#

yeah lol

#

i dont think pre-imbued chambers is a bad idea though

#

might take it for controle in 1.21

#

maybe not

#

im too bad at graphics

unreal summit
#

Honestly, once I get Artillery finished I’m probably going to move onto my other projects for a while before I try my hand at another mod

rocky grail
#

aw

#

your mods are pretty neat i think

#

havent played with artillery ofc

unreal summit
#

I want to get the minifigs and the D&D books done

#

#community-creations message

rocky grail
#

are they gonna go on sale :p

unreal summit
#

Don’t know yet, but probably not. I will probably just post the final STL files on my personal Discord and make them available for free - especially to any Ars devs that might be interested in them.

#

The Ars D&D supplement MIGHT go on DrivethruRPG for a nominal fee. The ESO book cannot be sold because it violates the OGL and CC licenses, so it can only be shared as personal homebrew - not formally published, even for free distribution

mossy hollow
#

Anyone experiencing client freezing on quit on 1.21? My dev instance takes forever to stop, even trying to terminate the process in IntelliJ

rocky grail
#

ive had that issue for a while which is why i usually just kill the process

mossy hollow
#

Yeah killing the process still makes my editor hang

mossy hollow
#

Hey folks, how can I set up a recipe to clear the data on an item? I was hoping just a shapeless recipe would work, but it seems to maintain the original data:

shapelessBuilder(AddonItemRegistry.ADVANCED_DOMINION_WAND.get()).requires(AddonItemRegistry.ADVANCED_DOMINION_WAND.get()).save(consumer);
zealous zenith
#

that doesnt work anymore? it should

#

if not that means the clear scroll recipe is broken now too 😩

mossy hollow
#

It isn't working in my 1.20.1 one

mossy hollow
mossy hollow
mossy hollow
#

How can I have a loot table guaranteed drop two items?

#

I was thinking I could do a sequence but it doesn't do what I was hoping

#
{
  "type": "minecraft:sequence",
  "children": [
    {
      "type": "minecraft:item",
      "name": "ars_nouveau:drygmy_charm"
    },
    {
      "type": "minecraft:item",
      "name": "ars_nouveau:summon_focus"
    }
  ]
}
unreal summit
mossy hollow
#

Oh it just seperate loot pools

#

Not sure if that works for me

#

I wanted to do if silk touch drop block, if not drop charm and focus

#

Oh well I'll just make it dropSelf

unreal summit
#

Can someone direct me to the source files for how to setup patchouli pages? I found this, but don’t see how to setup the actual text for the pages themselves, just the categories.

zealous zenith
#

look in the generated folder

#

they are created with datagen

unreal summit
#

Thank you. Found them.

#

Okay, I see those files call text files from another location, such as ars_nouveau.page.alteration_table

Where would I find THOSE resources in the file structure?

radiant depot
#

assets/lang/

#

en_us.json is the English one

#

It's a pointer to the translated text basically

unreal summit
#

Awesome. Thanks

#

So to add an Ars Fauna/Artillery guide book I just have to setup a similar file structure😁

#

Now that everything in the mods is ā€œdoneā€ and I don’t need new code auto-generated, I’m going to try exporting my MCreator workspaces to IntelliJ, where I will have more freedom to create custom files without the program ignoring them.

zealous zenith
#

just dont put yours in generated if you arent using datagen, put them in the proper resources folder

radiant depot
#

Generated folder is where file generated by datagen code are stored, and cleaned when not needed, then put all together by the build jar task

zealous zenith
#

in that first folder you found where only the categories exist

#

generated follows the exact same format as the standard folder, and during jar build they get copied over into assets

#

but generated is for things made by scripts, if you add something manually it will either get ignored if you arent configured correctly, or get deleted if you run datagen

unreal summit
#

So I would take everything from this folder

#

And put it here?

zealous zenith
#

might be better if you download the ars nouveau jar and open it up in a zip viewer GUI so you can see the exact format

unreal summit
#

When I’m on PC instead of my mobile I can see the file structure when I view the GitHub.

Just trying to clarify whether what I’m needing to do is to just create an ā€œentriesā€ folder with the relevant files in the ā€œmainā€ directory instead of in the ā€œgeneratedā€ directory

#

And likewise, with the ā€œassetsā€?

radiant depot
#

"Generated" folder is something only used by the datagen. If a file doesn't come from datagen it will be deleted, it also won't be present inside the build jar

#

So everything you're seeing on git under generated folder, assume it goes in main folder with same path when your doing it by hand and not by code

unreal summit
#

Okay, so I’ve moved my workspace into IntelliJ instead of MCreator, but I can’t figure out how to export the build as a .jar file.

#

Looking online says to run the ā€œbuildā€ task in gradle, but I don’t get a file from doing that. It just says ā€œBUILD SUCCESSFULā€.

zealous zenith
#

its in the build/libs folder

neat mango
#

to build a jar. you need to go to your runs on right side and search and run "jar"

#

and then it will be in the directly mentioned above

unreal summit
#

Yeah, I had run the build task. I just couldn’t find the file because I was used to seeing a popup that let me choose where to save it.

#

Got both mods converted over to IntelliJ and have added patchouli support to both.

snow wraith
#

Why does Ars not register ISourceTile as a capability? Found a PR that does exactly this https://github.com/baileyholl/Ars-Nouveau/pull/1085
Also addSource and removeSource should have a simulate parameter (also return how much was/would be moved instead of the new amount). Makes it easier for other mods to stay in sync.

radiant depot
#

Can't remember why Bailey did nothing about it

#

With 1.21 cap rework a similar thing is more likely to be implemented before the officially stable versions

mossy hollow
#

Is there anything new I need to do in 1.21 to add curio slots? I can't get my charm slots working and I have no idea why

radiant depot
#

Try with the datagen I added

#

Idk why but old format doesn't work

#

And it's very trivial to setup the datagen for the slots

mossy hollow
zealous zenith
#

You may have to make a new world for it to apply

mossy hollow
#

I tried 😦

mossy hollow
#

comparing jars

#

exact same place

#

Same curios version

#

I have no idea what's going wrong

#

literally the same apart from value

zealous zenith
#

you need an entities file too

mossy hollow
#

Oh you do?

#

ahhhh

zealous zenith
#

thats how curios knows which entity can have a type of slot

#

which seems a bit weird you can even bother giving mobs specific slot types thonk

mossy hollow
#

I assumed that was for rendering

zealous zenith
#

its set on the player data attributes, then you may need a new world

mossy hollow
#

Alright, will give that a try ty

#

What happened to Curios just auto-detecting the registered curios

zealous zenith
#

not sure, it took me a while to figure out wtf was going on

mossy hollow
#

this has fucked with me the past 2 days

mossy hollow
#

Did anything change with structures in 1.21?

#

this is supposed to be my nexus tower

#

Oh they renamed the folder

#

ah shit, block data for runes is different, so that breaks my runes

neat mango
#

I never asked this before but are there any guidelines for addons ?

#

for things that could overshadow/overpower base ars tools and equipment

unreal summit
#

Pretty sure that cat is already out of the bag between Omega, Trinkets, and Plus.šŸ˜‚

rocky grail
#

heck even elemental lol

neat mango
#

dont think elemental falls in the same category as the others. it extends mechanics than overshadow

rocky grail
neat mango
#

its tier 4 and is a direct upgrade

#

overshadowing would be replacing it entirely

unreal summit
#

At this point I honestly consider Elemental part of ā€œbase Arsā€. The stuff it adds is the natural progression from Diamond to netherite and isn’t really that OP.

Jarva’s new ATM tier armor is starting to push things to the next level, but it’s honestly kinda needed for Ars to stay relevant in the large modpacks.

Trinkets, Omega, and Plus dial the power scaling up to 11 though. Or even higher if used together.

main prawn
#

Hey does ars use a simple function to make something accept and store source from a relay

delicate iris
#

I have a problem that I get this error Exception in thread "main" java.lang.IllegalStateException: Duplicate key key_key.ars_temeritas.cast_spell (attempted merging values key.keyboard.p and key.keyboard.p) but ars_temeritas.cast_spell is old and doesn't exist anymore and i dont even try to bind b 😭
i am stumped bookywyrm_sigh
keybind class: [old link]

delicate iris
#

i am considering breaking discord tos 😭

unreal summit
#

If I want to make the runestone blocks from Ars Artillery count as sourcestone for purposes of building a warp portal frame, what do I need to add to the code?

unreal summit
#

Thanks. I couldn’t figure out which tag counted. Was looking for something that said ā€œsourcestoneā€.😁

gleaming fox
#

Hello, how should i access the serverLevel from an entity ticking event?

mossy hollow
#

if (entity.level() instanceof ServerLevel serverLevel) {}

gleaming fox
#

alright, thanks a lot ^o^

gleaming fox
#

indev by jarva

mossy hollow
delicate iris
mossy hollow
rocky grail
#

tbh even two t3 slots would be op compared to whats currently available

gleaming fox
#

the childrens yearn for more T3 slots

pallid rapids
#

well there's a lot of threads that have an effect based on the level of the slot they're in, I'm curious if those things can go above 3

zealous zenith
#

they can

#

I dont cap it

pallid rapids
#

I figured that'd be the case, like with enchantments

gleaming fox
#

man i hate java

#

i wonder how good a T4 wixie thread would be

#

iirc it's +20% dura per level?

pallid rapids
#

think it was 15% per level

gleaming fox
#

oh

#

still plenty good

pallid rapids
#

I could be wrong though

#

haven't cracked open that entry in a while

gleaming fox
#

60% more duration on melded potions is insane

pallid rapids
#

plus a wixie familiar on top of that, and a extend duration flask

gleaming fox
#

hoh

#

didn't think about these

mossy hollow
unreal summit
#

I’m toying with the idea of upping the power scale with t5 armor of my own - possibly dual element combos if no one else does them. Won’t be for a while though, if I do it at all - focusing on the book for now.

mossy hollow
#

People have suggested it for Ars ATM, but not sure how I feel about it

unreal summit
#

Still in early concept phase, but what I’m thinking is a parallel progression. Could do your ATM armor for increased stats and t4 threads - or could stay at netherite and t3 threads in exchange for dual element mastery. Stuff like ā€œTempestmancerā€ for air/water or ā€œLavamancerā€ for earth/fire, etc

#

I gotta learn 1.21 neoforge first though.😁

#

Also would need 6 new armor models to cover the possible combos.

#

Think it would also be interesting to see an upgraded enchanters sword that has extra effects built in and/or that applies bonuses to certain spell types based on the spell schools.

rocky grail
#

do yall recommend moddevgradle or neogradle for 1.21 neoforge?

neat mango
#

shouldn't make a difference if it's a simple project

#

both are just configure once and forget about it

mossy hollow
# zealous zenith I dont cap it

It's not capped but the alteration table doesn't support higher than t3 unfortunately

It uses bones to display the tier and without overriding the model to add the other tiers it's not possible afaict

gleaming fox
#

sadge

radiant depot
#

Yeah, that is the hardcoded part of Bailey

#

No more than three slots and no more than tier three in the base table

shadow helm
#

Just an excuse to gate the armor harder behind an ATM table šŸ˜„

gleaming fox
#

nice nice

mossy hollow
#

Could just change alteration table to render a font there instead of hardcoded model for each tier

gleaming fox
#

hello there, if i were to create a LivingEntity temp; inside a capability and have LivingEntity getOldEntity(){return temp.deserializeNBT(this.oldEntityNBT))}, could i then use the getOldEntity method to set my LivingEntity's data to be the same as the old LivingEntity's data ?

zealous zenith
#

You would need to store the saved tag instead, and then return the entity by recreating it from the tag, since you are going to need a reference to a level

gleaming fox
#

hmm how can i recreate the entity from the tag?

#

is there a method in LivingEntity or in Entity that i could use?

zealous zenith
#

the mob jar does it

#

EntityType.loadEntityRecursive(tag, level, Function.identity());

gleaming fox
#

ohh thanks

unreal summit
#

is there an "easy" way to "rebuild" an existing mod from Forge to NeoForge format? I grabbed the 1.21.1 MDK, but do i have to completely rewrite all of my source code from scratch - or can large chunks of it be copied over and subsequently modified in IntelliJ?

mossy hollow
#

Yeah just copy it all over and update

unreal summit
#

what do i copy?, just the src folder?

mossy hollow
#

Yeah src folder works

zealous zenith
#

The mdk is just a different version of the gradle files, you can update your gradle manually

unreal summit
#

is there some sort of a "list of changes" posted somewhere online between the two?

Like, what does THIS need to change to, for instance:
"error: package net.minecraftforge.network.simple does not exist
import net.minecraftforge.network.simple.SimpleChannel;"

zealous zenith
#

updating to 1.21? most of the time you can delete the packages and your IDE will prompt you to import the same classes from neoforge

#

but a few things fundamentally changed due to MC changes, like networking.

unreal summit
#

This is what I’m getting from IntelliJ

#

I unzipped the MDK source from the repository, then copied over my src folder and hit ā€œbuildā€

zealous zenith
#

yep, delete those imports with the red lines

#

then hover over the symbols in the class and if there is a neoforge equivalent, import it

#

BUT, networking is completely different, so you will need to redo a large part of it. Iwould look at the ars nouveau Networking class

unreal summit
#

I think I may just have to rebuild completely from scratch in MCreator when they get the 1.21.1 builder upā€¦šŸ˜ž

Code is quite literally like learning a different language

mossy hollow
#

Send the repository and I'll take a look at porting it for you

zealous zenith
#

1.21 is an especially brutal version change too

mossy hollow
#

It is yeah

unreal summit
#

I might take you up on that later Jarva, but I am also stubborn and will never learn anything if I don’t push myself first

mossy hollow
#

That's fair, but you can also learn from seeing the differences

#

Don't push yourself too much, that's how you burn out

unreal summit
#

Both of my mods’ source code is public though - and current - through CurseForge

mossy hollow
#

beware, it's pretty dense

unreal summit
#

I frequently reference the AN, Elemental, and Additions github repositories when I’m trying to figure out how to accomplish something

radiant depot
#

Neg might be the more slim porting

#

So could be easier to spot the stuff that needs to be changed in a smaller proj

mossy hollow
#

That's fair yeah

zealous zenith
#

oh alex, I think the issue with that missing function was just a binary breaking change to the params

#

I may have changed the param to living entity from player, and you have to recompile your jar for htat

radiant depot
#

I literally recompiled twice after having the bug two releases ago

#

That's why it feels weird

#

I nuked the caches, maybe that will do in next build

zealous zenith
#

oh if you had rebuilt on the latest since that error then im not sure

mossy hollow
#

What's the different between Armor Type BODY and CHESTPLATE?

unreal summit
#

I know with apotheosis gems that there are gems that can go in either chest or leg pieces? Maybe something to do with that?

zealous zenith
#

is body the elytra?

mossy hollow
#

but there's also leg armor type

#

I have no idea, aren't they just the same slot? Isn't elytra a chestplate

#

Apparently body is for horses

zealous zenith
#

ah

#

does type 1:1 refer to a slot?

mossy hollow
#

Not sure

#

Elytra is just an item with the Equipable interface

#

not even armor

gleaming fox
#

hello, i used to have this listener (1.20.1) .

 @SubscribeEvent
 public void onTick(TickEvent.ServerTickEvent event){
        if(event.phase == TickEvent.Phase.START){/*do stuff*/}
}```
is the following snippet the "correct" way to replace the code?
```java
    @SubscribeEvent
    public void onTick(ServerTickEvent event){
        if(event instanceof ServerTickEvent.Pre){/*do stuff*/}
}
rocky grail
#

otherwise what youre doing seems fine

gleaming fox
#

alr

radiant depot
#

Ye, use directly Pre

#

So it only react to that and not to Post too, useless check every tick

#

Double check in Ars code if something use that anyway

rocky grail
#
Settings file '/home/qther/dev/java/Ars-Controle/settings.gradle' line: 10

Plugin [id: 'org.gradle.toolchains.foojay-resolver-convention', version: '0.8.0'] was not found in any of the following sources:

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
BUILD FAILED in 3s
Configuration cache entry stored.
``` hm. empty sources despite copying additions' settings.gradle word for word
#

also tried copying from the mdg mdk examples

rocky grail
#

yeah?

#
pluginManagement {
    repositories {
        mavenLocal()
        gradlePluginPortal()
        maven { url = 'https://maven.neoforged.net/releases' }
    }
}

plugins {
    id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0'
}```
#

this is from mdg mdk

#

i also tried the one in additions

#

which seems to be the nf maven repo being moved up in order

mossy hollow
#

Huh, maybe they're having issues with their maven?

rocky grail
#

perhaps

#

ill try again after dinner

#

and ask in their discord

#

the url there doesnt work for me but maybe its not supposed to be a website

#

but it doesnt work as a repo

mossy hollow
#

Yeah I'm not sure, I literally copy and pasted the ars Additions gradle file yesterday for my latest project

#

Could be a local env issue?

rocky grail
#

perhaps

#

i tried clearing the projects .gradle

#

ill try clearing ~/.gradle later i suppose

rocky grail
#

yeah that didnt work either

#

ah it was an outdated gradle version

#

needed 8.8

#

weird error though

mossy hollow
#

Yeah that's strange

gleaming fox
#

hello, would drygmy generate more/less loot based on their tick rate, or is it dictated by the server's tick rate?
(i need this info so as to blacklist drygmies from a certain glyph i am making if they do behave in such a way)

radiant depot
#

who do you think call a drygmy's tick?

#

anyway, drygmy create progress. it's the block that produces when progress reaches x

gleaming fox
#

asking this since a friend made this thing and it got my brain juice working and i thought that a time accel/decel glyph would be a nice idea

#

might need to port it for 1.21 though

radiant depot
#

is it just a "call the entity tick method x times instead of one (or once in a while if less than 1)" ?

#

you can simply test the interactions via command in 1.20.1 btw

gleaming fox
#

mhm alr

#

thanks

#

i'l try to make my little glyph using the API and if it doesn't work i'll have to use my brain to find another solution

rocky grail
#

globalpos iwandable when

mossy hollow
#

Perfect time to make a PR for 1.21

gleaming fox
#

hello, i am porting trinkets but it seems that this code produces the error in the linked file.

@SubscribeEvent
    public void doTabThings(BuildCreativeModeTabContentsEvent event) {
        if (event.getTab() == CreativeTabRegistry.BLOCKS.get()) {
            for (var item : ItemRegistry.ITEMS.getEntries()) {
                event.accept(item::get);
            }
        }
    }
rocky grail
#

hmm i cant seem to write my codec to the stack in Item#interactLivingEntity

#

wonder if the stack passed is a copy

#

yeah solved by using player.getItemInHand(hand)

#

think controle port is done then

#

ill do a release tomorrow after more testing

#

remote now also supports entities

#

additions' advanced wand is still better though

#

i cba to do modes

gleaming fox
rocky grail
#
@EventBusSubscriber(modid = ArsAdditions.MODID, bus = EventBusSubscriber.Bus.MOD)
public static class ServerModEvents {
    @SubscribeEvent
    public static void buildContents(BuildCreativeModeTabContentsEvent event) {
        if (event.getTabKey() == AddonCreativeTabRegistry.ADDITIONS_TAB.getKey()) {
            for (ItemRegistryWrapper<Item> item : AddonItemRegistry.REGISTERED_ITEMS) {
                event.accept(item);
            }

            for (BlockRegistryWrapper<? extends Block> block : AddonBlockRegistry.REGISTERED_BLOCKS) {
                event.accept(block);
            }
        }
    }
}
``` how additions does it
mossy hollow
radiant depot
#

so, by helping yourself with the event handler image in the pins, you have to make sure the class where that is only listen on the bus you need

#

IModBusEvent events are not allowed on the common NeoForge bus! Use a mod bus instead.

Even the stacktrace tells you

gleaming fox
#

yeah i got it to boot

#

thanks a lot

mossy hollow
#

Ars Elemental 1.21 doesn't register itself as tier 4 in the ArmorPerkHolder

radiant depot
#

Well, it doesn't have need to?

#

Do you need it for ATM?

mossy hollow
#

Nah, I've made an alternative for it

#

I think it may mean some of the attributes don't scale correctly, but I'm not sure

radiant depot
#

The only thing that scales with the armor is the mana stuff

#

Which I manually override

#

The more relevant part is that few thing might check for slot = slot3 instead of slot > slot2

rocky grail
#

could probably do a mass asm but conecern

rocky grail
#

i need to shorten this lmao

radiant depot
#

Halv into two pages

radiant depot
radiant depot
#

Apparently i had in my devenv of elemental a depedency to a curse ver of elemental

#

funny

radiant depot
#

Trying to port SBM, data components switch really messed up the potion stuff

#

Unsure if the feature can be kept

#

Capabilities part is almost a code cleanup on the other hand

radiant depot
#

starbuncle cobblegen?

rocky grail
#

id be more interested in a cobble starbunclegen

#

but no thats cool, wonder what else it could be useful for

#

get a few starbuncles and you can probably process a pretty fast blockstream from a tree farm

radiant depot
#

Idk, but it's a filtered block breaker

#

And they come with a filtered block placer ver

#

The problem now is managing the pickup

#

As the breaker should pickup what it breaks, but if it drops more than one item, how are you supposed to handle it?

mossy hollow
#

Queue the items that drop to be picked up?

#

If the item is no longer then skip to next

mossy hollow
#

Any ideas why my armor items provide the stats for every position?

#

I think I figured it

#

Yep, I was dumb

severe crystal
#

oh my

mossy hollow
hallow owl
#

Regarding CurseMaven, if I want to use that to add Ars Elemental as a dependency, what am I doing wrong? I am able to specify it and it seems to download the package:

implementation fg.deobf("curse.maven:ars_elemental-561470:5609198")

But I can't import from it in java classes, says the import cannot be resolved for anything from Ars Elemental, e.g. alexthw.ars_elemental.registry.ModItems

mossy hollow
#

That looks right to me, make sure the class is named that in the version you're using

#
modImplementation "curse.maven:ars-elemental-561470:5609198"
#

Ah try ars-elemental?

#

Where is your import failing?

hallow owl
#

Huhmmm... I tried with ars-elemental instead, no dice. Cursemaven mentions that the <descriptor> (in this case ars-elemental/ars_elemental) "Can be anything you want." I did not get how this then affects imports but don't have that much java dependency experience šŸ¤”

The import is failing in a datagen class I'm writing, it fails both to resolve it in the IDE but also if I try to compile it will say *package ModItems does not exist *

oh wait, modImplementation, not implementation? let me try that

mossy hollow
#

I use modImplementation because I use Archloom, not Forge Gradle

hallow owl
#

Ah okay gotcha, was wondering what this missing method was. Is that more powerful or better than Forge Gradle?

mossy hollow
#

I prefer it to Forge Gradle, but that's also because I come from a Fabric background, and Fabric uses loom

#

I wouldn't recommend switching to it because ModDevGradle in 1.21 is nicer in all aspects

hallow owl
#

Got it. I'd consider it for the next time then. This first mod is a mess using a mix of MCreator and VSCode, really need to just do it with IntelliJ and leave MCreator out of the picture next time šŸ˜…

Anyway I will poke around some more to see why this is not working

mossy hollow
#

I'd recommend importing the project into IntelliJ 100%, I couldn't do mod dev in VSCode, even though that's my daily editor

hallow owl
#

Yeah I don't know why I'm being so reluctant. I went through this pain before with a Quarkus project. I guess I just realllly want it to work, but it's not a fight worth fighting anymore

zealous zenith
rocky grail
#

yeah ive given up on using neovim for java/kotlin

#

no good lsp for it

neat mango
#

jdtls for java is decent. requires a lot of configuration though

#

good kotlin lsp doesn't exist yet

mossy hollow
radiant depot
#

you probably had to refresh gradle after pasting the implementation string from curse

hallow owl
#

Praise whoever made this a possibility. And by the way, switching to IDEA instantly solved the import issues.

zealous zenith
mossy hollow
#

I just had a frustrating bug in Additions where I get the ISpellCaster of a stack to check if it has a spell, which creates a tag on the stack if it doesn't exist

#

so it's got empty NBT, which then doesn't match the items in the Storage Lectern

zealous zenith
#

you shouldn't call getOrCreate, unless you are using an ars method which should also not be doing that lol

radiant depot
#

Call hasTag then getOrCreate

#

Or directly get + null check

#

Or blame Bailey if you find the method making the tag

#

I recall something, but not sure if it was related at all

#

Like that the checks were making few assumptions on the item checked...

mossy hollow
#

SpellCaster does it in the constructor

#

Which is called in CasterUtil.getCaster

hallow owl
#

Is it a lot of work to convert a mod from 1.20 to 1.21, or it depends?

neat mango
#

Yes. depends on the scale of the mod

#

consider it a full rewrite

radiant depot
#

Depends on what you touch

#

Most of the work is using IDE 's find and replace in files

#

To account for neoforge changes

#

As you ask for your add-on, it would be likely just that, plus few little adjustments

#

Most complicated thing for a beginning might actually be replace the build.gradle

mossy hollow
#

Armor is one of the nicer things currently, not a huge amount of changes between 1.20.1 and 1.21

severe crystal
#

what im hearing is start in 1.21

mossy hollow
hallow owl
hallow owl
neat mango
#

neoforge maintains primers over on their github. always a good reference when porting (pinned message)

hallow owl
#

I had not really been aware of the whole NeoForge situation but I read up on it now, looks like Forge will be a thing of the past then

mossy hollow
#

Definitely

rocky grail
#

i dont think ive heard of any mods sticking to forge

unreal summit
#

Well there are some that just aren’t planning on porting forward at all, but that always happens to a few with major version switches.

hallow owl
#

Is there something special in Minecraft that will prevent Item Entities from being moved every tick? I'm trying to implement something that will setDeltaMovement on item entities for a duration.
For the first 20 ticks it seems to work fine, but after that, it only moves to the expected position every 20 ticks, basically teleporting every second.

mossy hollow
#

Or the decoy mob jar behaviour

hallow owl
#

I just needed to check if code was being executed on client or server side, rookie mistake

radiant depot
#

There is a movement speed update thing in entities registration, defaults to 20

#

To force the update, there is a different method based on whether the movement is changed server side or clientside

hallow owl
#

Will onResolveBlock only ever give me the server world, or is there something I can do to get the client world in this scope?
I'm spawning an entity that will also need the client world in order to spawn particles for items it affects.
I guess I can do it another way but it's tricky because I'm trying to re-use classes from Create.

mossy hollow
hallow owl
radiant depot
#

Wasn't there a way to spawn particles from the server?

#

Like level.sendParticles?

gleaming fox
#

^

mossy hollow
#

Yeah that can be done

zealous zenith
#

yes but that only lets you spawn them with random motion typically

hallow owl
#

Do you have a good recommendation for resources to understand things better? The Forge documentation kind of sucks and almost never answers my questions. LLM's help a bit but they hallucinate and cough up dated code. Googling things for Minecraft is very difficult, you mostly get players asking game-related questions instead of dev-related questions.

Specifically I'm trying to reuse the existing particle sprite set for DUST but I don't see any way to get sprite sets looking here, I only see that I can create new Sprite Sets... just trying not to reinvent the bowl too much.

Side-note I'm looking forward to switching to NeoForge, the docs look a lot better there.

hallow owl
#

Not entirely sure I follow there?
I'm trying to create my own particle because I want to manipulate the velocity of it every tick to create a spiral-like effect. Dust particle is an example here, I mean to ask how to create a custom particle that reuses textures from existing particles.

gleaming fox
#

hmm

radiant depot
#

Ah, particles are a bit of a pita to make from scratch

gleaming fox
#

same here ;-;

radiant depot
#

You need the sprite, then a json to specify the spriteset

#

Then register the particletype, which also requires two classes

#

You can look at elemental for venom particle and spark particle

hallow owl
#

Alright, heck. Thanks again, I will have a look in elemental and/or nouveau, I think I'm forced to just copy-pasting the sprite sheet in that case. Dang it, Minecraft.

radiant depot
#

It's not complex but it's a bit undocumented

#

Maybe there is a video from kaupen on them?

#

The channel from the pinned playlist, there is a playlist for newer versions

#

Weird, there is not one specifically on them.

#

Updated the links at least

#

Particles are one of the few effects within the game that are used as polish to better improve immersion. Their usefulness also requires great caution due to how they are created and referenced in the game.

#

Can't recall the changes on particles from 1.19 to 1.20

#

That guide is for 1.19

hallow owl
#

Pita was the perfect analogy but these floating falafals are now finally working and spiraling beautifully

rocky grail
#

DelayedSpellEvent doesnt seem to like /tick freeze very much

rocky grail
#

seems hard to fix

#
@Mixin(EventQueue.class)
public class EventQueueMixin {
    @Inject(method = "serverTick", at = @At("HEAD"), cancellable = true)
    private static void serverTick(ServerTickEvent.Post e, CallbackInfo ci) {
        var trm = e.getServer().tickRateManager();
        if (trm.isFrozen() && !trm.isSteppingForward() && !trm.isSprinting()) {
            ci.cancel();
        }
    }
}```

 works doesnt work for `/tick step`/`/tick step 1`
#

but alternatively you can use /tick sprint 1

#

the problem is most likely that its called after the tick

#

the tick function there decrements frozenTicksToRun from 1 to 0 before we see it in ServerTickEvent.Post

#

which means we dont observe the stepped tick at all

#

client also has this info through level if im not wrong, but im focusing on server for now

#
import com.hollingsworth.arsnouveau.api.event.EventQueue;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.neoforge.event.tick.ServerTickEvent;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

@Mixin(EventQueue.class)
public class EventQueueMixin {
    @Unique
    private static boolean ars_controle$stepping = false;

    @Inject(method = "serverTick", at = @At("HEAD"), cancellable = true)
    private static void serverTick(ServerTickEvent.Post e, CallbackInfo ci) {
        var trm = e.getServer().tickRateManager();
        if (trm.isFrozen() && !ars_controle$stepping && !trm.isSprinting()) {
            ci.cancel();
        }
    }

    @Unique
    @SubscribeEvent
    private static void ars_controle$onServerTickPre(ServerTickEvent.Pre e) {
        ars_controle$stepping = e.getServer().tickRateManager().isSteppingForward();
    }
}
``` this works
#

very uh

#

questionable

#

but thats because its a mixin

#

belongs in the main mod ofc

#

working on putting it base

#

tbh i feel like this should be handled by neoforge

#

not mods downstream

#

ĀÆ_(惄)_/ĀÆ

radiant depot
#

you could ask them why it isn't

rocky grail
#

i mean it could be useful for mods that want to interact with a frozen world ig

zealous zenith
#

what is tick freeze supposed to do?

#

you can't just freeze the entire server tick thread, you wouldnt be able to even issue a command

rocky grail
#

stops the world, but allows the player to move and interact with it

#

entities freeze