#General & Development Help
1 messages Β· Page 13 of 1
IManaCap mana = CapabilityRegistry.getMana(e.player).orElse(null);
iv been trying to get this into my code for days but i cant ever seem to get the builder to find e.player
which is most likley because im missing where its coming from
it doesn't help that e.player cant really be searched on github so i cant see anymore instances in ars nouvea's files on where it could be used
e is not even defined here
yea
im trying to define it
iv set up a few imports from the actuall helper but still can't define e
thats not how it works. you cant just "define" it with imports
you need a reference to the object somewhere
did you copy paste this snippet from somwhere?
i know this
yea im copying this from https://github.com/baileyholl/Ars-Nouveau/blob/1.20/src/main/java/com/hollingsworth/arsnouveau/common/event/ManaCapEvents.java
Repository for the Ars Nouveau minecraft mod. https://www.curseforge.com/minecraft/mc-mods/ars-nouveau - baileyholl/Ars-Nouveau
1.20.1 version
similar to what i have now
i don't exactly know where e comes from as i cant really find anything that defines it via the helper you sent
i have removed e from execute() since that wasnt doing anything
its an event
it is triggered by forge
the method is not called manually. it is automatically called by forge depending on the event type
for example PlayerTick will be called on everytick automatically
ye
I highly suggest you read how forge works before attempting something like this
eeeeeeeeeeeg
how do you guys call it remove / add mana from glyphs then if not called manually?
eg the spell book
i do know partly how forge works im not completly new but this is bamboozling
spellbook interactions have player available so it is trivial
i think i got somthin hold on
chonky what doe e stand for?
event?
mcreator has somthing extremly similar to what the helper had in it
except in the place of e its event
hrr
?
for whatever reason event doesn't seem to extend to player like it should
despite what the helper clearly does
well you need to use the particular event
?
im tryna use those event for players but it just simply cannot find any
you need to use the exact type else you cant access its fields
guh
??
im trying to find the exact feild here but its not Event or event
what does that even mean ?
just pass ServerPlayer or something
it means player wont show up under any of them
and im not sure exactly the player feild comes from if not event
ima trying
it will if you use the right event type
I even marked where you need to make the change ^^
just use the correct type in the second method
ok
somthing is happening
its building
no godam way it actually worked
HOLY HELL
IT WORKED
alight i know what to do from here
aight so im gonna have to code in a helper to either auto generate or be imported which isnt to hard. then ill have to make it so you can pass varibles to it which isn't that hard either and actually elemenates another problem im facing
hey chonky while im here
how do you like
make custom glyphs show up on the table when you right click it with the spell book
im a bit stumped on how that works
i highly suggest you to open ars up in a java ide and snoop around
that said im quite doubtful that you can expose that functionality to mcreator in a clean way
what you mean
what you mean by "in a clean way?
qther?
what you mean in a clean way
bamboozled
you need to create a custom implementation of gear and then register it in the glyph registry
as qther said, open the source code and look how the glyphs are implemented
i actually know how to do registerying stuff from my time with the create mod
you would need to extend AbstractEffect
Intellij
peferably any that can host a client a minecraft inside? (it its very useful for testing)
wait wut
stick with intellij
ill try it when i can get it installed lol
i have already started putting ars novuea into procedures tho
ill try intelljj
aight i need to impliment this helper into my plugin code since manually overiding the procedure code makes bad things happen
thanks so much chonky
forgot to show but i finally remade the faces of the elemental mages, keeping only the air one as the old gandalf
if you wonder why they all have some sort of beard, they'd look pretty bad without
unsure of remaking the hair part since they'd have the armor on
Yo question. Is there anyway I can call the change of mana manually?
Like how does the spell book manage to do it?
What do you mean? What are you specifically trying to do?
I'm trying to call a mana function such as mana.addmana() but I'm trying to execute it manually
Like on a player triggered event. Not a global tick event
You need to get the players mana capability
Yea I'm able to do this.
CapabilityRegistry.getMana(player)
and then you can do ManaCap#removeMana(amount)
or addMana
Should be similar
Otherwise the changes wouldn't save
This is what I tried to do
Increase current
Then that should do it, no packet needed afaik
However when I ran it that way the changes didn't sync
call cap.syncToClient(player)
Whenever i ran said method the changes would dissapear the second anything happened server side
We tried that in past but I'll try it again since I'm not sure if we called cap
How do we define cap?
Hmm
I'm not sure if it showed up on the methods I could execute in 1.20.1 but I may have typed it wrong
litteraly not on pc lol
Yea I can but my latest is running off the server player tick
When you're at your PC send a screenshot and I can try help further
Kk
@mossy hollow
this was the codded example i made on the global tick procedure
Minecraft is not a class that exists on the server
you cannot use it for server stuff
You're casting to a server player which won't work
i thought thats what i had to do?
import net.minecraft.client.Minecraft;
import javax.annotation.Nullable;
import com.hollingsworth.arsnouveau.setup.registry.CapabilityRegistry;
import com.hollingsworth.arsnouveau.api.mana.IManaCap;
import net.minecraft.world.entity.Entity;
@Mod.EventBusSubscriber
public class ManahelperProcedure{
@SubscribeEvent
public static void onPlayerTick(TickEvent.PlayerTickEvent event) {
if (event.phase == TickEvent.Phase.END) {
execute(event);
}
}
private static final Minecraft minecraft = Minecraft.getInstance();
public static void execute() {
execute(null);
}
private static void execute(@Nullable TickEvent.PlayerTickEvent event) {
IManaCap mana = CapabilityRegistry.getMana(event.player).orElse(null);
Networking.INSTANCE.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) event.player), new PacketUpdateMana(mana.getCurrentMana(), mana.getMaxMana(), mana.getGlyphBonus(), mana.getBookTier()));
mana.addMana(3);
}
}```
(j just assume anything before that such as the imports are there)
since my ide imports them automaticly
import javax.annotation.Nullable;
import com.hollingsworth.arsnouveau.setup.registry.CapabilityRegistry;
import com.hollingsworth.arsnouveau.api.mana.IManaCap;
import net.minecraft.world.entity.Entity;
@Mod.EventBusSubscriber
public class ManahelperProcedure{
@SubscribeEvent
public static void onPlayerTick(TickEvent.PlayerTickEvent event) {
if (event.phase == TickEvent.Phase.END) {
execute(event);
}
}
private static void execute(TickEvent.PlayerTickEvent event) {
if (event.player instanceof ServerPlayer) {
IManaCap mana = CapabilityRegistry.getMana(event.player).orElse(null);
if (mana == null) return;
mana.addMana(3);
mana.syncToClient(event.player);
}
}
}
try this
You'll need to import ServerPlayer
im trying to call this on a manual event, somthing that i can call and without being on a playertickevent
Okay, well the same code should work, just make sure it's called on the server
how
wait how did this get here
nvm lol
yea like how
how do i call it server side?
Depends on the event you use
hrrr
The spellbook just casts the spell (by asking the server to cast it)
Like many other programs, Minecraft follows a client-server concept, where the client is responsible for displaying the data, while the server is responsible for updating them. When using these terms, we have a fairly intuitive understanding of what we mean... right?
I recommend reading through this
btw my original code worked
this one i mean
(also im using forge not neoforge if that matters)
this did not work π¦
as said synctoclient doesnt work
Bro it is the next day
And every single one of us is an unpaid volunteer.
I know the pain. I own a mod development studio aswell. Just get back to me when you can please.
Knowing that pain I'm surprised you made a post, then made a follow-up post an hour later because you thought the response was taking too long, and then complained the next day about no one responding to said post. People are busy. When they're not busy and decide to spend their ration of free time on contributing unpaid consultation, it's safe to assume they are probably going to direct that energy towards community members that respect their time.
You still got a long way to go for internet etiquette
I'm sorry
I was frustrated
Can you help me with my code when you have time?
When your ready ofc. I didn't mean to seem pushy a few days ago.
I'm not a programmer, so it'll be up to whoever is around and wants to look at it
when you guys want, can someone please help me with getting mana.syncToclient to work? or help me out with manually sending a packet to server so i can use mana methods from the api?
i can't seem to be able to call sync to player for some reason, but the networking method seems to work best
but i can't call it manually for some reason (im not entirley sure if im passing on the right varible types to do that)
im trying to use
''
private static void execute(@Nullable TickEvent.PlayerTickEvent event) {
IManaCap mana = CapabilityRegistry.getMana(event.player).orElse(null);
Networking.INSTANCE.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) event.player), new PacketUpdateMana(mana.getCurrentMana(), mana.getMaxMana(), mana.getGlyphBonus(), mana.getBookTier()));
}
}''
im trying to use this but with any varible type that i can call manually
this channel is for ars addon help, you arent going to be able to learn how neoforge or java modding works
this is for an ars addon project, i just thought i could come here for help.
can you suggest me to any resources for forge variables?
also, for some reason synctoplayer isn't showing up/ working
has anyone had this issiue aswell?
(using this method would be so much easier then one i got)
it clearly works because mana works in 1.20
You being on Forge puts you in a bit of a spot with the Forge/NeoForge split, but I'd assume that https://discord.gg/neoforged is still a good resource for general forge help.
There's also pinned posts with general modding tutorials here π
yep theres still a 1.20 channel there
and it should be fairly applicable for forge since neo 1.20 is just forge rebranded
i just don't understand, sync to player is right there in manacap and in manacap events but it just doesnt let me use it
im going to check my imports maybe im missing somthing
they couldn't help me
they flat out told me not use mcreator π¦
so yea not much help
ill figure it out, thanks for trying to help tho
i do have a method that works niceley with mcreator
That's kinda the other reason why we're uncomfortable/unable to help you: You're using tooling that pretty much none of us use or want to use
understandable
whats the bad rap around mcreator anyway? its a nice alternative for those who don't have the time to learn code right away. i know its code is bad but its all some people got
*i am currently trying to learn codding to propperly mod minecraft but school has me so burnt out i can't really comprhend anything.
can you guys suggest some resources in using forge functions
That's pretty much all the reason already. The code is somewhere between bad and "will kill a server if more than 2 players use the feature" and integrating it with other mods is, as you are finding out, hard.
That combined with having a toolset that we're familiar with and know how it works makes MCreator undesireable.
Kind of going to a professional work crew whose currently building a house with power tools and insisting they teach you how to do the same while all you have is a brick
i can see why, lol.
Again, for forge things, pinned messages here π
ight thank you
i got a dm from someone asking about the ars nouvea plugin i made litteraly today. im gonna go through and fix the issue hes having
We got one person who made an Addon with MCreator, but Lyrellion's been pretty busy with real life, I think, at least I haven't seen them in a while.
But maybe he can help once he's got more time again
i think its somthing to do with my goofy ahh code i cobbled together code
im working on to improve the quality of it
but i know exactly what is wrong XD i just gota walk him through on how to fix it
anyways,
ill see if i can refer you to a problem you can actually fix in future lol
lyrellion has not made anything using mana afaik
Hey folks, I have some composite model questions. I have a block model that uses a composite model, rendering my custom model loader and then rendering another layer over it. This works fine for the block model, but the item model instead renders just the custom model loader and not the overlay.
https://gist.github.com/Jarva/bdfbad0eb905d8e20d5b919018aa1f5c
cross posting from neocord
whats a composite model? is that different from baked model?
Yes composite model is a layered model
One of my layers is a baked model
So I'm rendering the baked model and then the outline model on-top
"facade": {
"loader": "sf:facade",
"model": {
"parent": "sf:block/machine_casing"
}
},
"overlay": {
"parent": "sf:block/facade_overlay"
}
facade uses the baked model loader
and then renders the overlay model on top
so your customloader/facade layer is working but not the overlay ?
π¦
can you also link the code ?
time to finally push to github
no errors when loading the model ?
two black looking blocks in my inventory are the same block
is this not the block?
I just pushed
unrelated but I see you were trying to do itemModel datagen through blockstateprovider
does that work? I use ItemModelProvider class and call block methods from there
do you know where item_render_order comes from? I saw it in enderio but not seen anyone mention it since
Found it in composite model source code
Yeah i see, seems like that's fine, not sure why the item renders different
lmao somethings funky with the render order
i deleted everything but the overlay from the render_order
so the system is working but I am assuming transparency isnt working
How do you guys register spells and stuff?
I was trying to see if datagening it would help or point out a problem but it didnt. here is the code for it if you need it
I figured it out
it's dumb
"from": [-0.01, -0.01, -0.01],
"to": [16.01, 16.01, 16.01],
this is needed on the overlay + face
enderio do it, but I didn't think it was needed because it works on block render
but item render needs it
thats interesting
it had a hunch that would was the case but I dismissed it
maybe report this to neoforge? sounds like a bug to me
especially because they are redoing how models are done
github issue?
maybe talk to them on discord first
Hi... I'm sorry if this is a hilarious question, but is it possible to write an addon that allows armors from other mods (e.g. Tinker's Construct) to be upgraded with threads, just like those from Ars Nouveau?
I've got excellent news for you: There's someone working on making that an enchant π
So yes, it's certainly possible
Oh wow that surely is exciting
This guy π specifically.
Just hasn't decided if he's going to put it into his Addon Ars Additions or the Ars ATM compat
I have it fully working, just need to decide where the enchantment goes, probably Additions
Cool! I guess I'll look forward to seeing the release then π
I am gonna do an unofficial survey. question to addon devs and other modders. when was the last time you guys played minecraft ?
and I mean properly played not bugtesting or anything related to modding
About a month ago, I played through ATM10, before that was sometime in 2023
A year? More? Probably on the Arcane Isles server
Some new vanilla last month with friends
Like actually played for my own enjoyment? π Prob about a year. Boot it up a few times a month for testing/referencing dev stuff.
@kindred pier
In regards to the chat you should probably use o
On what?
You mentioned the pattern spellbooks, reactive, etc. Iβm out of the loop
so Reactive is an enchantment in base Ars that allows any item to become a spellcasting tool, basically. It gains a chance to cast on attacking with the item, or if you get hit if you are wearing Reactive Armor
And there are spellbooks you can find that have 1 specific spell hardcoded into them (as treasure), most of them coming from Patreon Rewards that's why we call them Patreon Tomes or Spellbooks
can't find the code for you right now because work but you should be able to find it in the AN github
Oh yeah, forgot about those. Been a while since I last played the mod.
Currently, the idea is to give scrolls Ars spell capability.
As for spell tomes, the idea (imo) is to replace them with Ironβs scrolls
I would caution against messing with the patreon caster tomes tbh
you want "thing X" that casts spells like Ars Spells.
For code that casts spells like ars spells, you need to look at Ars Code for which I gave you ideas where to look
Iβll keep that in mind, still, could you elaborate?
Thanks π
don't change how they work or interact, leave them as is
well so like you're planning on making a mod, and if you replace the caster tomes then people won't be able to find their rewards in the way they would expect, and if your mod becomes popular and gets into a lot of pack you could be changing the intended experience with that feature entirely
use them as inspiration for how to code it, but don't change how they work
hold on I have something for this...
Chestertonβs Fence is a simple rule of thumb that suggests you should never destroy a fence, change a rule, or alter a tradition if you do not understand why it was created in the first place. Chinaβs Four Pests Campaign during the Great Leap Forward shows the tragic consequences of meddling with things we do not fully understand.
SUPPORT us to...
Do spell tomes have any other functionality I donβt understand π
the spell tomes are only a patreon reward currently
they have no other function, they are spells built by the community and found as loot in game
you could build something like them and add that, but please do not replace them
and the video I shared is more just, when you are planning on changing something that already exists, you should make sure you are not destroying some important function... like, say, a patreon reward that people paid for
I share the video often, because people are often breaking things they don't understand within Ars
The tomes were originally made to be an entry point to introduce our mod to people who stumbled onto them when playing modpacks. That's why they have their own mana rules set aside from the rest of the mod.
alex also has a tome that breaks the base glyph limit of the mod because alex is a rebel and doesnt care about your rules
(alex's magnificent mansion is 12 glyphs)
oh hey
theres another
uni's windshield is 11 glyphs
that ones because uni wanted the spell to start with 
but thats now 
oh wait other way around
basically, adding stuff is up to your prerogative, but changing things that already exist should be done with extreme caution after you have full context of everything the thing you wish to change already does, because you are changing the default experience of the core mod which can often have sweeping implications
so now its 


x8
you can just add your own with your addon
still dont know what to do with it
even without, just use a datapack
tomes are recipes
starbies can probably be injected with kube
or i can make a major refactor for 1.22 and sneak in my own tome into the base mod and hope bailey doesnt notice
if you volunteer to do the porting, you can slip whatever you want in lol
you reminded me that apparently i never opened a pr for https://github.com/baileyholl/Ars-Nouveau/pull/1687
playing with codecs for fun should get you a mandatory 2 week mental health vacation
ill take it tbh
only the most premium of padded rooms
someone remind me in 10 hours to make emi support for ars unification
should be simple but i keep forgetting
This is just Ars Additions imbued spell scrolls isn't it?
Hello there
i have a few questions regarding the deltaMovement field inside of Entity
is it similar to Acceleration in traditional physic, and thus "consumed" every tick (set to Vec3.ZERO) after the position is added to the Entity's ?
do the x y and z axis of the Vec3 follow the regular axis of the world?
if/when you answer do ping me
it is different for every entity but in their movement controller and in the living entity tick, a modifier is applied to the delta movement each tick so it decreases over time. if it was just set to 0 you would abruptly stop moving or teleport.
it is just their velocity
alright, thanks for the help
Hey, uh, I'm bored and trying to dip my little toesies into modding by making a little something something Ars addon. I'm currently editing gradle.properties. Unfortunately, the gradle.properties that came with the Ars example addon refers to 1.20.1 Forge instead of 1.21.1 NeoForge (intended platform). Can I get some pointers as to what I need to edit and how to make sure stuff works correctly?
THANK YOU
The example addon has a 1.21 pr
https://github.com/baileyholl/Ars-Nouveau-Example-Addon/pull/7
Thank you. Will it be difficult to switch everything to refer to NeoForge?
Everything in that branch refers to Neoforge
Here's the actual repo
tyty
Okay, time to merge in the changes that'll allow use of Kotlin...
Did that
Is there an easy way to change out the mod ID everywhere it's currently used? Using IntelliJ IDEA and the refactor feature doesn't really like me
does it use a modid field everywhere? it should be a constant in the main class
Went and changed that, thanks
Why kotlin
Looks easier for me to deal with than Java, ngl
I have been formally taught Java, but... the syntax, man
And my formal Java education was A) high school level B) several years ago C) interrupted by the pandemic
I think you'll struggle more with support for kotlin
You dont need formal education
Or any education
True
Fair enough. I wanna try it out, at the very least
What is this and how do I make it reflect the actual name I've chosen lol
That's the datagen, it's generated when running the runData gradle task
modern java is very nice
kt is good but dont jump into it before knowing java
you will pick up bad habits
Fair
use features like type inference in java and I dont think you would miss kt unless you need very specific stuff
I'll use Java first, then. Thank you
if you hate any specific syntax part or found anything nice hmu
I like playing with language syntax
(its one of the reasons I am refactoring my mod for 5th time)
Okay... now I need to add a new block. NeoForge documentation says it must be registered
Yeah, that makes sense. I'm not sure where the registration is to be inserted
Registration is the process of taking the objects of a mod (such as items, blocks, entities, etc.) and making them known to the game. Registering things is important, as without registration the game will simply not know about these objects, which will cause unexplainable behaviors and crashes.
you generally create a registry (a deferred one) for a specific type and then register your objects to the registry.
then you register the registry itself to your modbus
Is that done in the main class?
I feel a little overwhelmed. Ouch. I'm used to working with maybe one to three files when it comes to programming - modding's a NEW thing for me.
Sorry if I seem like a bit of a fool.
Oh, the example addon has a dedicated registry package... errr. lol
Gotcha
OK, managed to add a block & build
Let's see how I did
Oop? The game actually launches?
The game launches, seems I didn't register my new block correctly, though
it wont appear in creative menu if you dont add it specifically
I tried /give. It's not registered correctly in general
Okay... the block exists and my dumb ass didn't properly give it a texture (or a BlockItem)
At least the game boots up VERY quickly when I need to make a change and reload
[01Mar2025 17:18:06.321] [Worker-Main-8/WARN] [net.minecraft.client.resources.model.BlockStateModelLoader/]: Exception loading blockstate definition: 'ars_decor:blockstates/sourcestone_pillar.json' missing model for variant: 'ars_decor:sourcestone_pillar#'
you have your heckin json file why are you claiming you're missing a model for a variant
figured That out
Yeah, it now doesn't throw the missing model error, now it just refuses to accept my texture
https://github.com/Mieridduryn/Ars-Decor
I'm just gonna throw this here and go eat dinner. I've been at this for three hours, and I now know how to add blocks... but apparently, not how to make them accept textures.
Feel free to rip me to shreds if I've done something silly.
@wet olive
To add perk slots: https://github.com/Jarva/All-The-Arcanist-Gear/blob/main/src/main/java/com/github/jarva/allthearcanistgear/setup/registry/ArsNouveauRegistry.java#L46-L59
To apply modifiers and provider tooltips:
https://github.com/Jarva/Ars-Additions/blob/1.21.0/src/main/java/com/github/jarva/arsadditions/event/ModEvents.java#L143-L193
You'll need to adjust slightly to fit your use case. The first link shows registering slots for an owned item. Second link shows the event method for modifiers and tooltips for unowned items. I can't show a complete example because my enchantment based system doesn't use the PerkRegistry, at least not directly.
Is there a way to get the cost of the spell and then modify it before casting? like for example it'll cost 45 Mana but I want to modify either discount or make it more expensive (not using any spell) .
look at the spell cost and consume events
This is perfect, thank you so much!
https://www.reddit.com/r/feedthebeast/comments/1j5bqon/ars_nouveau_idea_the_dominion_wand_should_work/
@mossy hollow might be relevant for you. you add the advanced controller right
Will take a look when I get a chance
Did IDEA always have Hotswap? Have I just been that blind this whole time...? Could have saved so many clicks... π
yes lol
the new ui doesnt make it particularly obvious
but its the hammer icon on the old ui
you might have to adjust two settings for easier hotswap in some contexts
if it says schema changed with no method added/removed/signature changed
thats the build project icon ( which happens to also prompt for hotswap in debug mode)
the hotswap in debug mode can also be triggered right-click then there is the reload option
for me its generally just setting gradle stuff to run using idea and also using jbr
Hey, is there a way to access flashpines with Ars Caelum?
I'm playing ATM9Sky and I can't get the Discharge glyph (and at least one other) because Flashpines
dont think so, and its pretty funny that they still havent fixed that
Is there no longer a {mod_name}.refmap.json in compiled .jar files in 1.21 NeoForge?
if I understand it correctly, no since neo is no longer obfuscated during runtime
@rotund flower Just realised we didn't give you the addon developer role, feel free to make a post about it in #1019655289873641555 and mention it in #addon-announcements

I have arrived
But yes, I was thinking about making an addon that does an overhaul of the mana system. Basically the idea would be to pump up max mana, disable mana regen, change all gear that gives mana regen to max mana, and make it so that you can only regenerate mana from nearby filled source jars (and maybe some consumables?)
I'm just not sure if that would be technically feasible or not
I was kinda inspired by the dnd idea of needing to long rest to regain your spell slots
I'd say it's possible, but it won't be very simple to do
Probably not something I should take on as a first project then
Maybe not so difficult now that I'm thinking about it
You'll need a mixin to prevent mana regen from happening. You'll need a mixin to the max mana calculation to convert the mana regen attribute to max mana. You'll then want an event handler for when a player interacts with a source jar to set their mana
Oooh... Could I have it on being near a source jar rather than interacting with?
Sure, you'll need to find a way to trigger code on the source jar each tick, check for nearby players and then grant them mana if they're missing it
Cool, thank you!
What inspired you to make this mod? Is there some specific universe or gameplay style you wanna go for?
Also a question, are we still supposed to use Patchouli?
not really, it's in deprecation
Nope
you can keep the files for ars.wiki
But that will be converting to the new format in the future also
if you had a patchouli datagen, it's not hard to convert the code to the dynamic one
What is the 'dynamic one'?
It's the new bespoke Ars documentation
If you want an example, here's the PR Qther made to Ars Additions to convert the documentation https://github.com/Jarva/Ars-Additions/pull/25/files
And for users this will end up to be readible/consumable ingame?
#announcements message
Alright nice, I think I'm already on top of that one. At least, partially.
This is probably an unpopular opinion, but I personally think restrictions are what make things fun. Overcoming challenges and weaknesses.
The way Ars is naturally lets you do pretty much anything with relatively low time investment. I think thatβs fine in the right setting, but for my modpack itβs been very frustrating.
I wanted to find a way to change the playstyle to reintroduce challenges to overcome, basically
For what it's worth. It's not an unpopular opinion around here. The difference is what is seen as a challenge or not.
We'd played with the idea of regenerating mana in certain areas only. But didn't want it to just be a source to mana conversion. Source is cheap and easy and free. We specifically didn't want a direct conversion either way because that removes any challenge
Need mana? Just pull out a few source jars and plop them down around you
It's also why we haven't made a larger source jar. There's no puzzle to solve if you can store a million source with no change to your existing setup
Just place a bigger jar and you're done. It's boring
Instead we give a different puzzle. You can pick up jars and keep their storage. You can redirect source with relays.
So you can pick if you want to set up a network of source distribution, or maybe you want to do like xacris and qther have done and design jar breakers that turn it into item logistics instead of power logistics
I do agree that Ars Nouveau is a bit unbalanced in a few ways, and it easily gets completely out of hand if you install just a couple of addons without tweaking them.
tbh i think even just elemental makes ars spell casting very strong
but base ars has other issues
cough drygmy
Not sure how bad elemental is, but e.g. if you put a Leap + feather falling spell in a Spell Binder from Not Enough Glyphs, you can basically fly around for free forever even if you barely have any mana.
Even without the spell binder, leaping around is way too easy and cheap
Which is why I don't use it for most things.....
Eh, the cheap damage thread maybe needs to be tuned down
problem with spell power as a stat in general is it's very volatile
every glyph in your spell gets that boost when most games treat stuff like that as a flat boost on top of the spell
it's not busted on a damage spell with only one dmg glyph, but
can double triple quadruple dip into it
Cheap damage gives a negative spell power
In exchange for a flat mana discount
It's meant as a "this book won't be used for damage"
ooh different thread nvm
This is the biggest issue Im having
I just want to make it so my players have like some slight movement advantage
Without being able to bypass literally everything cosplaying an airplane
But no matter what I do it seems a new way to fly with little effort pops up
Hmmm... I have thought about it before, but not a solution for it. I will sleep on it, it's something I've wanted to 'fix' for a while
My server is a fairly peaceful one centered around trading and building. I thought it would be cool to have wizards but they're kinda destroying the "chill and smell the roses" vibe
π
How much are you fighting vanilla mechanics with that? Elytra exist
That is a fair point, and that's only held back by how many rockets you have on you, which is also pretty easy to get around. But I would say that just because it's in vanilla doesn't mean it's necessarily balanced.
but it does mean it is the baseline against which everything else is measured
imo balance is not possible. we dont have any balanced metric to compare against. even vanilla is extremely unbalanced
ghasts soon
yeah I was going to bring that up too lol
Happy Ghast in vanilla justifying things like dragon mounts in modded being perfectly balanced
flying brooms, etc
I feels its a perfect addition
i hope they do a custom texture for it
it will make a nice distinction between overworld and nether ghasts
Big ghast for survival builders, wonder how easy it is to move for precision placing
I think the big one was so that it could be a platform and have 4 people ride it at once. Plus, ghasts are big
it did make me think that it might be hard to get it into some tight spaces though
If it has a collision to walk in top of it, could make sense
But i doubt
I guess we'll have an air focus steed afterall
they literally showed people dismounting and walking on top of it
while they were showing off why it is helpful for building
Makes sense
You can stand on boats
Now. Will they allow you to stay on it while it's moving if you're not mounted? Or did they take some pages from create's playbook?
Ya Elytra is pretty widely considered to be too broken for vanilla as well
And I've disabled it
how is elytra broken? most mods give you creative flight much much earlier
most jetpack mods are early/mid game
ah anyway once again i remind about the config that make leap only work while on ground
But seems you can't fly that fast with the happy ghast
very hard to tell, but it looks like the ghast eases into the nearest valid block position when dismounted
https://youtu.be/Fvtl6VXzCtE?si=0btcGnSaWLM-6tN1&t=277
Almost like it creates a temporary invisible collision block and the ghast geometry then slowly meets back up with it before locking itself in place.
if you play in slow motion it looks like the player is slightly floating and you can see the ghast slowly sliding before locking and the player doesn't move at all
my guess is it won't be solid while flying
Wonder if it could be used as an angel block
Like if you can place a block against it?
Yeah
that would be helpful so you don't have to dirt pole up
with AN we will at least have 
well... i guess we have flight rituals too lol
Yeah I don't know of a vanilla solution to that.
I genuinely don't know how creative mode players make anything in true void worlds
How do you start a structure?
/setblock ~ ~ ~
Huh yeah I guess that would work. Ok lol
Always forget set block is a thing in vanilla now
yup, just commands
i cant live without worldedit tbh
Axiom these days lol
Are a lot of people still playing on 1.20, or has everyone pretty much switched to 1.21 now? Newer Ars features are not on 1.20, right?
1.20 is in its life support phase
critical fixes but no new features
now that Create switched over, it's likely that the packs still in development will finish up and release for 1.20 for a bit
but in the meantime 1.21 pack making will keep on, and soon 1.22 era will start
but 1.22 won't be quick, there's an hell of breaking changes
Dried ghast
yeah i noticed that the 1.20 -> 1.21 changes were a lot more painful than Forge -> NeoForge, so in for another fun time
1.21 still feels like it happened a month ago to me
you mean... a day π₯΅
1.20 is already getting deprecated? That's crazy π
Is that why ars technica no get 1.20? 
we've always stopped content for the previous version once we've released to the new one
yeah for create 5
Yeah it makes sense. It's just hard as a modpack creator to keep up with the treadmill
yeah i do no envy what y'all are having to put up with
sometimes we secretly wish Mojang would stop supporting Java so we can develop on the same version
It's not like their updates bloody add anything anyways
Nothing interesting or useful, at least
The game's gotten the skyrim treatment of being a shell for mods for a long time now, it'd be nice if they just let it be that
i'm mixed on it overall
Yeah, not really gonna bother because I believe the majority of Ars players have moved on to 1.21 in a couple of months.
Though, I have no data on that. I wish there was a way to see the current 1.20 vs 1.21 playerbase (for Ars Nouveau)
Yeah I don't blame you
I'll just have to add it when I update my pack instead
Hello there
Is there a tool to automate imports changes from 1.20.1 to 1.21 ?
There's one to automate forge -> neoforge if that's what you mean
Should be in the pins?
#1019655534900678737 message
This plus follow the primers Jarva linked as it's a collection of the other primers I sent over the months
alr, ty
the rename script must be the first thing you do
then you change the gradle stuff and start porting (likely check primer by primer to not get lost)
for gradle and other little shenanigans, the example addon is updated to 1.21 on my fork
unsure if it is merged into the base repo
so just want some other devs takes on this, in api.ritual/StructureRitual.java the lines in the tick() method:
if (getWorld().getBlockState(translatedPos).getMaterial().isReplaceable()) {
getWorld().setBlock(translatedPos, blockInfo.state, 2);
this is about line 89(or at least it is on the 1.19.x branch I am viewing)
my thought is this could maybe be replaced by removing the if statement with the isReplaceable() check in it so it would look more like:
// Remove the replaceable-check
getWorld().setBlock(translatedPos, blockInfo.state, 2);
BlockEntity blockentity1 = getWorld().getBlockEntity(translatedPos);
if (blockentity1 != null) {
if (blockentity1 instanceof RandomizableContainerBlockEntity) {
blockInfo.nbt.putLong("LootTableSeed", getWorld().random.nextLong());
}
blockentity1.load(blockInfo.nbt);
}
getWorld().playSound(null, translatedPos,
blockInfo.state.getSoundType().getPlaceSound(), SoundSource.BLOCKS, 1.0F, 1.0F);
placeCount++;
if(biome != null){
RitualUtil.changeBiome(getWorld(), translatedPos, biome);
}
replacing lines 89-103 in the original method
the main caveat to this approach is players would need to be thoroughly warned that these rituals are destructive and could very easily destroy their base/infrastructures if they aren't careful. thoughts?
yeah, i think replacing the check here is where it would be needed https://github.com/baileyholl/Ars-Nouveau/blob/446925796a97064e9c71f60b4f603e2ef605fe5b/src/main/java/com/hollingsworth/arsnouveau/api/ritual/ConjureBiomeRitual.java#L59, im not smart enough to know if there might be an easy way to add in a check to not replace tile entities at the same time, would be a bit more safe for your usecase
this is the current mixin I am cooking up:
import net.minecraft.world.level.block.EntityBlock;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.material.FluidState;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
/**
* Makes all blocks globally "replaceable" unless they're a Tile Entity block.
*/
@Mixin(BlockBehaviour.BlockStateBase.class)
public class BlockStateBaseMixin {
@Overwrite
public boolean isReplaceable(FluidState fluidState) {
// If the block is a tile-entity block, treat it as NOT replaceable;
// else, treat it as always replaceable.
BlockBehaviour.BlockStateBase self = (BlockBehaviour.BlockStateBase)(Object)this;
return !(self.getBlock() instanceof EntityBlock);
}
}
I will report back how this goes as it is a sort of nuclear approach lol
just gotta believe
I finally did it
that took awhile ngl
@cinder yoke I had to override the tick() method in both StructureRitual and ConjureBiomeRitual
yeah I need to fix it giving the blocks that were destroyed
since I am gonna change the structures to replace one color of antimatter with another color
but I am making progress so I am happy for now
Neato!
I'll post more stuff here when I make more progress but thanks for the help finding the code earlier!
any idea how hard it is to replace the structures in those summon rituals? I imagine its just editing the stucture files/NBTs but I don't actually have any experience with editing structure files lol.
always good to learn something new I suppose
yeah you can just use a simple datapack to replace the nbt file... telepathic grunt has some great tutorials on YT and possibly in a wiki somewhere, he's kinda the structure guru of modded mc
thinking more about this, it might be a good thing it drops the blocks it replaces just in case the player accidentally activates this in their base or too close to it, that way they donβt just lose random infrastructure lol
i might just add a conditional to not drop concrete specifically for my use case but everything else gets dropped
Hey all. I was wondering if someone could help me track down/understand the part of the code that does the changing of the biome in the conjure island rituals. Iβm making my own mod inspired by this functionality after using it in ATM9 to the Sky and a little bit on how biomes can be made in Terraria.
So Iβve been searching through the GitHub and Iβve been able to find pretty much everything about how it works, how it decides the biomes by the ingredients, replaces the blocks, decides the dimensions, all that, but what I canβt figure out in my inexperience is what actually does the changing of the Biome itself on the βback endβ. So if someone could help point that out to me I would appreciate it. It may be just in front of my face and I canβt see it because Iβm new, or it could be because Iβm trying to find the answer by looking through things on my phone at work and if I could pull up the Neoforge/minecraft directory thing in IntelliJ I would be able to see it π
Repository for the Ars Nouveau minecraft mod. https://www.curseforge.com/minecraft/mc-mods/ars-nouveau - baileyholl/Ars-Nouveau
Ok so Iβm in the right place itβs just not computing in the brain yet. Thank you!
It's this line that sets the biome specifically
Repository for the Ars Nouveau minecraft mod. https://www.curseforge.com/minecraft/mc-mods/ars-nouveau - baileyholl/Ars-Nouveau
Ah thank you! I think my eyes were skipping over the β.setβ thatβs likely to be the crux of what I need.
Hey guys what 1.21 version is best for mod support rn?
1.21.1
Thanks Bailey
what addons add amplify 2 and 3
i think ive added most of them but i cant find them
and a couple otehr glyphs too
1.20.1 btw
Not dev related but Too Many Glyphs
well where else would i send general messages for addons
i presumed i would send them in the general chat
You can use the #general-and-help chat, many people have addon-related gameplay questions there. This one's for programming questions
hello there
i just got back into AN addon making
may i ask what does nuggets does/what are it's use cases?
thank for the help
nuggets is the library where bailey put all the doc related stuff
oh i see
thanks for the info
ill make sure to read through it when my computer gets fixed
It's for sharing code between Ars and BlockPrints afaik
unsure of what else it has
you shouldn't need to use it for addon making, maybe for custom pages but very little direct dependecy
alright
You were fine to ask in either, but this one is more geared towards addons. This channel functions as both a general and help chat related to addons
hello there
is there a way to "embed" an NBT tag into another tag?
well i know how to retrieve a tag inside another tag but i don't know how to do it...
oh
seems like i'm blind
i could have just used "put" instead of using whatever method i was thinking of using...
What does it mean if a version of forge (itself) is not "on CurseForge"?
Usually, pretty weird and user fault for not seeing it
Curse should be able to see all the subversion of the target version...
Unless you're looking for forge where you should be looking for neoforge?
Hmm I don't think it's that. Also some other people mention they have a higher minor version but it's also not satisfied by that
loaderVersion="[47.3.33,)"
Shouldn't that be 47.3.33 or above?
Have you tried giving it a try outside dev env?
Did they send you the screen or the line of the crash where it says the version they're trying?
They mentioned they use 47.4.0. I'll give it a try when I'm back from work
To my understanding, it's something very weird with Forge, or, it seems to be a problem with how version ranges for maven work
https://maven.apache.org/enforcer/enforcer-rules/versionRanges.html
It seems you cannot specify a patch number here, only major and minor.
So I guess I'll just ask users to use 47.4 and above since I can't specifically target 47.4.30 and above which was needed
Ohhh... oh wow...
I got:
forge_version=47.4.0
dependencies {
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
However
π
So in a nutshell it looks like forge is not giving its own minor and patch number to the loader checker
Tried asking in Neoforge discord?
Was it really only fixed when they switched to neo?
who would I talk to about getting the developer role? I just developed the 1.20.1 port of enigmatic unity and am the maintainer of that version for the addon
added
Why 1.20.1?
Because I am on 1.20.1 π€ͺ
I don't know how to make a mod or addon so it is just for experimental purposes
And for learning ofc
If I need help hopefully I can ask you guys :)
That's what #1019655534900678737 is about π
I do urge you to start on 1.21 instead as you would have to relearn a few concepts
I don't know if I will even get the time to do 1.20 but thanks for the suggestion
^_^
there are a lot more mods already on 1.20.1
one of the biggest versions for modding rn
annoying when some mods update and leave behind the important versions tho
Because every line of code on an older version is another line of code that has to be updated later, mods are forward looking so you even have content for the next βimportantβ version at all
1.21 is a huge set of changes
salute to ppl who backport π«‘
I was barely able to forward port my mods, and there are still parts of Ars Fauna spawning that are broken in the 1.21.1 port
can confirm that 1.20 -> 1.21 was a huge time sink for me as well
Trying to fix Ars Fauna mobs spawning in the wrong dimensions. What code do I need to insert to limit them to overworld spawn only?
there is an IS_OVERWORLD tag you need to use I believe
you can look at the ars spawn files for that
I think I just found it. So if I use βMinecraft:is_overworldβ it will potentially spawn in any overworld biome, including modded biomes?
that would depend on whether the mod added the biome to the minecraft:is_overworld tag list afaik
Fair enough
is it too late to make an addon for 1.20?
i was gonna go ahead and give it a go as thats the only version i play on for now
You can make addons for any version you want, the only issue may be if you need changes in the base mod, then you'll need to use mixins instead
Where does Ars store the player's current mana? I'm trying to make a hud, but I can't seem to find where is this value and display it to the user.
in an attachment iirc
I'd like to apologize in advance, I'm not a programmer so I find most of what I'm doing and finding confusing. I'm looking in the source code for any mention of anything similar to getMana/mana/playermana and load it in KubeJS, however none of it seems to load it. I went to common.capability.ManaCapAttacher since it seemed the most similar to what you said, but I'm not sure what class(?) needs to be referenced in the client script of KubeJS. I also found AttachmentsRegistry, but that's not on 1.20.1 . Once again, I'm sorry for any misused term or if I'm not being clear.
I think the file is called manaUtil?
You can also look at where the capability is used in the capabilityregistry file. Not at my desk at the moment so not 100% on those names
I should make an addon
yes
yes
si
What do you want to add?
on
Anyone know how to add a custom portal recipe via a datapack?
custom portal? like add a block to the ars nouveau portals?
Like making a nether portal, but leading to a different dimension
Iβve got a dimension in Ars Expeditions that does not have a means to access it outside of commands, and Iβm trying to figure out if thereβs a way to datapack in a custom portal.
Or barring that, data packing in a custom craftable block that can be interacted with to teleport the user to that dimension.
I dont think datapacks can do that, maybe the teleporting could be done with MCFunctions but im not sure how those work, and they are super laggy
I found a Fabric mod that can do it, but nothing for NeoForge
I guess one could pull it with Immersive Portals but it's overkill
Not to mention possible compat problems
Oh I guess you could use Kube to somehow trigger something like the stable scroll
...but every dimension has its rules for entry points...
And warp portals need an exact xyz
does the scryer require the spectated chunk to be loaded by the player? (does it work if the player is very far away from it or maybe in another dimension?)
Im trying to implement something similar, but i want to be able to 'watch' (like a camera or a flying drone) an entity that is very far away in a possibly unloaded chunk and i was thinking if maybe the scryer implementation could be helpful for that?
Not in 1.21 it doesn't
The scryer temporarily loads the chunk
then how does it handle changing the player camera to be able to see things in that spot? From what im testing, the stuff thats in the far away place on loads if the player is near. Even if i change the player camera to see whats in there, it only shows void because even though the chunk is force loaded in the server, in the client theres nothing as the player is not there
Is this 1.21?
Very
So in 1.21 just by force loading the chunk in the server the client can already see whats in there if they switch the camera to something thats in that chunk?
I'm assuming there's a packet to sync the chunk to the player
ah, ok. But then we would need to send every chunk that "should be loaded" to the client, right?
What about the entities? Would having the chunks "synched" to the client already be enough to display the entities there?
You need a bunch of mixins to make the scryer camera work, by default Minecraft culls entity syncing by distance so the mixins force the game to sync if the camera the player is viewing through is there
Im thinking of doing a workaround of teleporting the player to the position to load stuff there and then when they exit the spectator mode they would be teleported back to where they were before
given that i handle properly the edge cases of the player leaving the game when they are spectating and that i persist everything relevant to make restoring the original player position properly, i think there should be no problem, right?
like this
ill also change the player gamemode to spectator when they spectate an entity (and revert it to survival or whatever gamemode they were before going into entity spectator mode)
If you are making a mod Iβd just use the mixins, teleporting the player and changing their game mode is going to give you a ton of exploits
ah, ok. Ill keep that in mind. Thank you for the advice π
So throwing this in here more as a question got inspired by you guys to make an addon for a golem mod. Very very brand new to modding in general so learning as i go but atleast wanted to show a model ive made so far and might ask in here from time to time for some help if possible.
very cute!
this is giving
Levitating ball construct, my first entity too technically, lmao
What addons in 1.21 add glyphs?
Additions, Controle, Elemental, Technica, NEG and SBM are what I have so far
Hex/Unity whatever scalaes successor is unreleased
I don't remember if there are other addons in 1.21 atm
oh wait
This reminded me that ars plus isnt on 1.21 either
which means going to 1.21 is further than I had imagined
@arctic bronze Do you have any 1.21 plans?
Btw Trinkets was gonna be ported to 1.21 but some big bad happened and clement has to start over or something
Eventually, but idk when I'm gonna be back in the mc mod making mood
@hallow owl Do you do anything strange for your mod build or mixins?
I'm trying to add Ars Technica to ArsAddonBuilder, but it's failing to prepare SchamticannonMixin when running the doc export mod
Hmm could be. What is the error?
I think it may have been due to the create version I was pulling in, I'm now trying to alter it, will let you know if I can't
ArsAddonBuilder π€ ?
this is the built version of technica
Repository that aggregates and builds addons, generates docs entries, collates glyphs and exposes their resources
Allows us to create things like this
Oh, that's cool
It's why I was asking about Ars Plus, so I could include it in the addon builder
but the 1.20 version of addon builder is much less powerful
Ah, well I'll let you know when I make a 1.21 version. Def wanna make one I just want to do a lot more than a basic port and polish up a lot of the addon
I think I've fixed it, it was loading in your sources jar instead of the main mod jar
Ah cool, good to hear!!
Ars Technica glyphs are now on the glyph list, no support for animated textures yet though
https://ars.guide/docs/spell_theory/glyphs/
@mossy hollow you have done structure generation yeah? got any resources or tips for it ?
how do you even test it?
I haven't done anything custom beyond datapack structure generation
I still need to create custom placement rules for the Additions structures, they just reuse vanilla ones
yeah how do you do it ?
can I create custom spawn rules? make mobs spawn in the structure etc
Yeah, check Ars Additions repo, it does all of that
You need a structure set, structure and maybe some other things?
I can't remember of the top of my head everything
apparently this includes everything needed. it is updated quite frequently and for all versions
Hey, I've got a question- Not sure if this is the right place to ask it or not, but I'm working on a modpack and am using KubeJS to add some extra objects.
Some of these objects are variations of Ars models.
To do this, I've been using models from the ars-nouveau repository
https://github.com/baileyholl/Ars-Nouveau/tree/main
For some of these, like the pedestals/braziers, this works, but then there's some strange things going on with some other models (E.g. enchantment apparatus, scribes table, etc).
I noticed the texture linked in these models seems odd to me
I.e. using the 'potion_jar' texture for the scribes table, or not referencing any model data or textures at all.
Not sure if these other models get their data somewhere else, or are linked in some other way.
Any ideas or insights would be helpful. π Thanks
Repository for the Ars Nouveau minecraft mod. https://www.curseforge.com/minecraft/mc-mods/ars-nouveau - baileyholl/Ars-Nouveau
anything with an animation is going to be a geckolib model, which links the textures in code - their model files there with the incorrect textures are just used for the display settings on the item
Im not sure how kubejs is assigning the blockentity that is associated with your new blocks, but you would need to be able to somehow set the geckolib renderer for those animated blocks as well
not really sure that is possible
Hmm... Probably not..
Mmmm.. May have to just simplify things... Thanks for your help!
I suppose it's also worth asking- Are there any tags that allow the pedestals or braziers to work the way they do, or is that something hardcoded into the object?
that is tied to the blockentity data
any blocks you make with kubejs have to have the same blockentity
I just realized this thing exists
Ah man... So there's no way to create a "new" block that shares the same blockentity data since it becomes immutable after a block is registered.
I thought a potential solution was to use the existing objects, but use different models depending on the blockstates. I could create a custom blockstate for "color"... Unfortunately, all blockstate properties also need to be defined when a block is registered, so I cannot add any blockstate properties to ars objects.
I saw some objects had blockstate properties like rotation, but others didn't have any at all. Am I correct in assuming if the blockstate json has no properties listed, there are none for that block? Even if there were 3 "unused" boolean properties, I could multiplex them.
I'm struggling with changing and adding imbuement chamber recipes using Kubejs. I managed to play around with enchanting apparatus and amethyst golem conversions successfully and the imbuement chamber has been the only one to cause me problems so far.
event.custom({
type: "ars_nouveau:imbuement",
count: 1,
input: { tag: "forge:gems/source" },
output: "minecraft:netherite_ingot",
pedestalItems: [
{
"item": { item: "minecraft:flint_and_steel" },
},
{
"item": { item: "minecraft:stone" },
},
{
"item": { item: "minecraft:gunpowder" },
}
],
source: 1000
});
I stole the fire essence recipe, replaced the output to be netherite ingot, change one of the pedestals to be stone instead of torch and changed the source value. It doesn't show up in JEI after saving and reloading and the chamber doesn't accept the recipe
I haven't tried adding an imbuement chamber recipe with pedestal items yet. It works for me adding a single item with no pedestals-- I have basically the form of what you have above. Also, not sure it would make a difference, but have you tried kubejs-ars-nouveau? https://www.curseforge.com/minecraft/mc-mods/kubejs-ars-nouveau - Also, Have you tried tag: "c:gems/source"? - Didn't see the forge one in the ars repo at least https://github.com/search?q=repo%3Abaileyholl%2FArs-Nouveau gems%2Fsource&type=code
Wait that's the creature behind the logo?!
The octocat \m/^_^\m/
I didn't know
I'm using 1.21.1 neoforge which doesn't have the kubejs add-on yet. I also couldn't manage to create a recipe with zero pedestals.
If you're in 1.21 then surely you have to change the tag used by the ingredient
forge namespace is deprecated
Also weird if no error appear in the logs?
You could try to peek in Enigmatica GitHub to see if they add custom recipes via Kube, they usually mix stuff a bit with ars
Changing the tag for sourcegem didn't fix it. KubeJS reloads with no errors but the recipe doesn't work.
I'll definitely check, thanks!
The code from Enigmatica Github works, thank you so much!
Is this a kind of porting tool?
Wait you made that work? Neat
nope it exports a bunch of stuff from various addons
mainly assets and wiki stuff
also glyph data
It even ended up working with custom items and items from other mods. I'm actually suprised how well it worked lol
Is there a way to modify Wixie potion output amounts? I want to make it so that wixies craft 1000mbs of a potion at one go instead of 750
Not without a mixin
How difficult is it to learn mixins?
Can you program Java already?
I have zero knowledge with Java, I barely started figuring out kubejs and was hoping for a solution using that. But it seems that neither buffing ars wixies nor nerfing create brewing is going to be possible as easily
Pretty much, yeah.
Mixins are one of the deep ends of Minecraft modding, if you don't have programming experience, it'll certainly be a challenge
I guess I'll shelve the idea of balancing create brewing for a while then, I've barely started with the modpack and this seems like the type of challenge that will make me give up a project if it doesn't go well
they are a bit paradoxical, easy only if you know what you're doing
there's not much code to write but you need to know well where you are gonna inject that code and with what parameters
Sooo, I just realized you can make enchanting apparatus recipes with more than 8 pedestal items.
Does anyone know what the limits is?
Not sure there's any hardcoded limit other than the space
I doubt I'll be making a recipe big enough to hit the space limit anyway, thanks!
be warned that it probably wont look great on the recipe viewers though
I tried it with 9 and JEI handled it really well. I might try something with 20 pedestal items or something just to see tho
π€£ Yeah I think the limit might be how many items JEI can show without overlapping
anyone knows an item that changes its textures temporarily
oh I should look into the bow model
I want to change how the item looks when its on cooldown
what mechanism do they use to render?
It's a client hook
Look at ars additions, the Wayfinder
or probably the haversack one will be simpler
that opens/closes the haversack based on whether the chunk is loaded
oh now that I think , there are so many items that changes textures
so where are these properties used? probably directly in the model ?
Yep
once you link a field to the property, you can use it for model override in predicate
perfect!
They only accept floats for the property value, so just use like 0 and 1 for loaded
out of curiosity, do you datagen item and block models ?
i have been trying to datagen all things possible but not sure if its worth it lol as it gets annoying at times
I datagen most I think
man this system is already gone in 1.21.1+
although new system might be more powerful and fixes this ^
@mossy hollow do remember that mojang's release policy has changed and we might not get "major" versions anymore
mojang has yet to give a clear distinction between updates, versions and game drops
Their release policy changed but they didn't say anything about dropping major versions
I thought they just said they're going to worry less about breaking changes between minor versions
I could very well see they drop the current versioning scheme altogether
they havent shied away from breaking changes in minor versions since 1.19 long before game drops
supported ?
When Ars ports to a new game version
ah okay
Well, at some point they will have to drop a 1.22
Probably as last drop to close the year cycle?
maybe, maybe not
Having Minecraft version 1.21.11 would be too weird after all these years
They just need a good enough content thing to justify the bump
At worst, Vibrant Visuals Java since it might entail switching from OGL to Vulkan
I can understand it doesn't matter much to Bedrock as it can't version switch
vulkan is not happening any time soon atleast from what I heard
too many devices will lose support
Supporting both was on the table too
Obv there's gonna be some time before they even decide about that
They are slipping in minor changes along the way in the minor updates, like the fog stuff
How hard is it to find someone to make textures and models? π€ I'm not really satisfied with what I can do and would be willing to give someone some money to do some of that stuff for me. Same with making builds for structures
not asking people here, just curious if there's somewhere where people do that kinda thing
i do do that kinda thing
If you wanna DM me some examples of your work Iβd be happy to work with you
ok
I commission @queen breach for my textures and models for Ars Additions
Thanks Jarva! Iβll see if theyβre interested
@mossy hollow
Result for search: precise
@rocky grail We now have glyph search including for controle, but you need to add the description lang key it seems
it shows up in ars.guide though
Strange, will investigate
it shouldn't
fixed
Neato
What was the fix?
fixing my lang datagen
Ah
Even if i don't feel like the refractoring to make it it's not gonna happen soon, what would you want/expect in an addon library to jarjar?
For now it's likely going to get:
Api interfaces that would be otherwise duplicated across my mods, like IPropagator for instance.
Attributes that would be nice to share but are a mess to opt-support, like Resizing
Fluid stuff ( source fluid and the various utils)
tbh i think source fluid should go into base
but base doesnt really deal with fluids at all atm
yeah this is basically asking things that fit the "should be in base but won't be in base, so we make a common extension to bundle in addons"
Real
source ain't a fluid
Should full the jar left to right instead of bottom to top
Doesn't matter the side either. Just always from the left
Let's see a fluid do that
Just trying to find an example of an animated armor texture. How difficult is it to implement?
Most likely, have the texture cycle between different ones periodically
Exploit the texture getter
What would be a good way to make a trackable stat for a player? π€
Was gonna make a ten shadows themed glyph but I need a way to keep track of how many rituals a player has completed. Wondering if there's an elegant way to do this. Would want to be able to reference the value in the effect glyph to check it
The data attachment system allows mods to attach and store additional data on block entities, chunks, entities, and levels.
Alternatively, add a statistic
Hey, i was sent here to ask this.
im triyng to make a mod that messes with the mana system a little, easy things like setting the mana but i cant figure out how mana works. Im only finding things on setting max mana or mana regen. in iron spells and spellbooks you just set the mana stat but in ars im confused cuz all i found was the manadata class with no indication on how it can be used. im not that deep into the code to understand how attachment. something about serial nbts but i have no idea how to use that
i think i found something. i did it like this
ManaCap manaCap = CapabilityRegistry.getMana(player);
now i have to see how to manipulate that but i think i got it
You won't get far manipulating that if you aim to max mana instead of current mana (for that it's fine)
To edit max mana there is the event iirc
It would probably override any other change done to the stat
anyone got examples of custom shaders ? (not the sodium kind)
Skyweave?
found it in ars nouveau (the mod has become a reference for most of my things lol)
definitely worth every penny. they are a wizard when it comes to any kind of vfx. I havent yet played malum but from images, it looks crazy good
found this randomly when scrolling. its so good
Iβve started tinkering with Malum in Expeditions, but havenβt gotten very deep into it yet
Interesting mod being worked on, allowing modpack users to select the mods they want to use
(being made by matyrobbrt)
so like if there is 2 mods that do the same thing (like minimap mods) you can decide between them? thats genius
Oh that looks incredible. I have friends who swear by Xaero minimap but I think Journey is just better.
The recipe viewer choice or config choices at launch also seem helpful for modpack devs
nice! looks very out of place though lol
I mean, that's kinda proof of concept
I remember writing them. Back in Java 8 where every bloody action listener required another anonymous subclass.

was that before lambdas ?
That's why I specified Java 8, yeah
Dark Times.
Even darker considering that I know of some still in development production software that is still running on Java 7. Poor souls, maintaining that monstrosity.
i can't fathom working on java < 17 anymore
If it operates before MC launches fully then it's pretty limited to UI choices
Just like crash assistant
Yeah that makes sense
Just do it in labview
@steady yacht
It's possible to increase the glyph limit in spells in two different ways.
The first and easiest way is using a Spell Book from All-The-Arcanist-Gear, these have additional glyph slots baked into them.
The second method is to modify the ars_nouveau-server.toml config file.
To do this, you need to first set infiniteSpells to true. Secondly you need to modify infiniteSpellLimit to be the number of additional glyph slots you wish to have available.
A value of 10 will grant the player 10 additional glyph slots, for a maximum of 20 glyphs per spell.
A value of -9 will cause the player to have just 1 glyph slot, essentially making the Spell Books only used for setting Enchanter Tools.
Please raise an issue with @mossy hollow
Whats that last part about "essentially making the spell books only used for setting enchanter tools"
because a one glyph spell is just a form
Question:
Does that mean you can do -8 or -5 too?
think there is a thing about not being able to just add 5 glyphs, but I think that was a recent fix
lol
like 10 was the minimum to add before, I think
yeah 10-1000
loaf wanted less than 10 slots and it seemed to not break anything major
so i took the opportunity to rewrite the config file to allow those numbers and comment it a bit better
Anybody familiar with using FTB Quests?
Iβm writing the quests for Expeditions, but every time I get a batch done, the next time I start the client the quest tree has reverted to the previous version.
@median sphinx do you do commissions? π
oh okay
what do you want tho
