#help-development

1 messages · Page 1158 of 1

glossy laurel
#

what if you save armor stand chunks in a list

#

and check if a loaded chunk is in that list

eternal oxide
#

I'd not argue with him. He's been given answers. He just doesn;t like that we do not agree with him

glossy laurel
#

wouldnt all entities there be despawned though?

#

well

#

most of them

#

exlucding items and named mobs

bold plume
eternal oxide
#

A benchmark? really?
Situation 1: Do nothign unless the chunk is loaded naturally.
Situation2: keep a chunk loaded and update relevant entities in teh chunk constantly.

#

I wonder which would be the most performant

bold plume
#

we have to take into account that: the chunk is always almost loaded, that is, the update would always be practically visible; chunkloadevent always runs through entities more than 200 times in 1 second. although I think it has less performance, I'll do it your way

eternal oxide
#

Yes, DONT do that

#

Your server is up 24/7. Players are active on the server for 7 hours out of 24. Your server is running shit it does not need to for 17 hours a day.

bold plume
#

In my opinion, what matters is saving the CPU when you really need it, not when you're sleeping.

#

and certainly interact with 300 players online in chunkloadevent constantly, every performance is welcome and I really think this is a costly operation

eternal oxide
#

its important all the time. Do not have the server doing work it does not need to do.

bold plume
#

3 chunks will kill my server xd

eternal oxide
#

of course not

#

but that was not your question

bold plume
#

Now I bet that this chunkloadevent with a lot of players will be the heaviest thing that the timings will say, let's see

eternal oxide
#

chunk load will only trigger for a chunk once, when a player moves near.

#

It doesn;t fire constantly, for a specific chunk

#

When players move away (after a while) the chunk unloads.

bold plume
#

im on spigot 1.8.8 too

eternal oxide
#

as you were the only player, yes

bold plume
#

hm

#

what happens if i do chunk.getentities on unloaded chunk

eternal oxide
#

I would not do that

#

It "SHOULD" be ok, but no guarantee

bold plume
#

I am seeing how to do the implementation

eternal oxide
#

If you were not on 1.8 you coudl timestamp the chunk

bold plume
#

oh forget

#

I don't know how I'm going to do this xd

bold plume
#

but it is only called if there is a player online

pseudo hazel
#

I see 0 reasons to loop over things that should not be loaded

#

that should be the number 1 thing to consider

bold plume
#

It's basically a territory system and the person needs to dominate it to have the holgorama timer. This hologram will only be updated if this territory is counting down to the territory being dominated, but the person can dominate and then move away

pseudo hazel
#

everything else is just optimizing whatever is loaded

#

then save the time it started at

#

and when it gets reloaded, display the proper time gained or whatever

#

keeping a chunk loaded to loop through some armor stands you dont even see is ludricous

#

and will always bring down performance anyways

quaint mantle
#

Hello, I need some help. Recently I made a project with Intelij, and tried to us Spigot-Api as a dependency, specifically 1.20.1. However it will not let me import anything from Spigot and I can't do anything with it. any ideas?

proper cobalt
#

yo guys i have a class which extends PersistentDataType<String, Phone>

#

and the fromPrimitive method requires a @NotNull PersistentDataAdapterContext context

#

what do i pass in for that

pseudo hazel
#

for more then just ticking an armorstand

quaint mantle
pseudo hazel
#

it doesnt say that that method is detrimental to the performance

wet breach
#

refresh the project

pseudo hazel
#

just because theer is API for it, does not mean its fast or good to use

quaint mantle
pseudo hazel
#

and since you seem to be keen on performance here, that statement goes double

wet breach
#

jk, steaf23 is correct

#

just because it is provided in the API doesn't necessarily mean it is always wise to it.

quaint mantle
wet breach
#

shame, guess have to wait for someone who uses intellij

#

I don't use it fortunately

quaint mantle
#

😔

floral drum
#

hi nerds

wet breach
#

I personally use netbeans

quaint mantle
#

oh ok

floral drum
#

?paste

undone axleBOT
quaint mantle
floral drum
#

Aren't you using maven though?

quaint mantle
#

Yeah

floral drum
#

So how did you declare spigot as a dependency?

quaint mantle
#

Project Structure

wet breach
#

that isn't maven

floral drum
#

If you're using maven, you need to add the dependency inside of the pom.xml instead of project structure

#

Just like so ^

quaint mantle
#

huh. I assumed it was maven.. but i guess im wrong

wet breach
#

project structure uses ant

#

different build system, but a build system like maven and gradle

quaint mantle
#

Alright thank you i'll try to figure it out from now i'll update if something goes to shit lol

floral drum
#

alright haha

wet breach
#

well fortunately you haven't started anything, so starting over isn't detrimental

quaint mantle
#

yeah

quaint mantle
#

Aight so, i've been trying to figure this out. and I need 2 imports. Project Korra and Spigot API. Project Korra works fine. but Spigot refuses to import and I cannot use it. It is in external libaries, but I cannot import a thing from it.

glossy laurel
#

why not

#

whats the error

quaint mantle
#

well there are errors because i cannot import bukkit stuff

#

Which I don't rly get

glossy laurel
#

how can it somehow not work

smoky anchor
#

Wild guess but

#

?bootstrap

undone axleBOT
#

Bootstrap Jar
The main spigot-1.18.jar is now a bootstrap jar which contains all libraries. You cannot directly depend on this jar. You should depend on Spigot/Spigot-API/target/spigot-api-1.18-R0.1-SNAPSHOT-shaded.jar, or the entire contents of the bundler directory from your server, or use a dependency manager such as Maven or Gradle to handle this automatically.

Please read the release notes for further information: https://www.spigotmc.org/threads/9-years-of-spigotmc-spigot-bungeecord-1-18-1-18-1-release.534760/#post-4305163

quaint mantle
#

nah i never downloaded that

quaint mantle
glossy laurel
pallid idol
#

Hey how to create an SubCommand with bungeecord?

kind hatch
#

?bt

undone axleBOT
quaint mantle
floral drum
quaint mantle
#

I don't have a pom.xml because im not making a plugin. I'm making a addon onto a plugin

bold plume
#

To make those systems that have an arena and cannot leave it if they are in combat with a red glass animation in which the glass only appears if they are close to the location, should I use playermoveevent or packets?

floral drum
eternal oxide
#

the pom.xml is just for the maven build system. It doesn;t matter what you are making, you can use Maven

quaint mantle
eternal oxide
#

InteliJ or Eclipse?

quaint mantle
#

InteliJ

eternal oxide
#

then delete your project and start again

#

be sure to pick maven

quaint mantle
#

i've done that multiple times

#

and it keeps happening

eternal oxide
#

you will always get a pom.xml

quaint mantle
#

¯_(ツ)_/¯

eternal oxide
#

?img show your project structure

undone axleBOT
#

Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.

Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org

quaint mantle
floral drum
#

Send a pic in dms, and I'll send it here

#

That is interesting because maven is at the side, but there is no pom

#

is there an option to not generate a pom?

quaint mantle
#

I have no idea tbh

#

You can literally compile java and archive it manually

eternal oxide
#

open the maven tab on the right and there shoudl be an option to update

quaint mantle
#

oh yeah about that..

#

asoon as i clicked it , it disappeared lol

#

What about gradle 🤔

eternal oxide
#

sounds like a knackered IJ install

quaint mantle
#

dunno what that is but uh

#

maybe

mellow edge
#

does anyone have any idea if I want to spawn an armor stand with some text and make it invisible, how to make it invisible for the spectators as well, because by default they can see it transparently

chrome beacon
#

I believe you can do it with teams

#

or just hideEntity

#

Even better just use text displays

kind hatch
kind hatch
mellow edge
kind hatch
#

Armorstands are kinda weird with spectator mode. It might.
You'll just have to try and see.

And if it doesn't work, then try testing with a text display.

mellow edge
#

firstly he mentioned teams, but idk which property in the team would change the visibility

kind hatch
#

@quaint mantle Can you also send the pics of the steps you took to create the maven project?

quaint mantle
#

nah i deleted it im tryna redo it now

blazing ocean
#

Are you using the mcdev plugin?

#

!!mcdev

#

oh nvm that was a fabric command

kind hatch
#

Looks like they redid the mcdev plugin again. (It's better tho)

mellow edge
#

Ok. Could you explain what you meant that I could achieve it with teams?

chrome beacon
#

Might also hide the text

#

so nvm

#

but basically putting the armorstand in to another team should hide it

#

should work with the invisibility effect not sure how it works with the invisible flag

harsh ruin
#

Does anyone know how to save a list of data and restore it when the server restarts?

eternal oxide
#

?configs

undone axleBOT
river oracle
#

God no

#

Well that's okay depends on scope ig

harsh ruin
#

I am creating a plugin with armor stands which can be selectable and can be moved, rotated, etc... everything works fine but when I restart the server, I can no longer interact with them, as if it had lost their property

#

Can I send you a video to make it more explicit?

hushed spindle
#

what property

#

are you adding any custom properties to these armor stands

harsh ruin
#

not really but rather to be able to select it, which adds a glowing effect, to be able to move it by clicking with a certain item in the hand, etc...

hushed spindle
#

is the item you hold in your hand still valid

harsh ruin
#

These are non-modified items, all types of diamond, emerald, etc.

harsh ruin
# harsh ruin

I added something that removes all the armorstands that have this functionality, but when I remove it, it remains but we can no longer interact with them

hushed spindle
#

how are you removing them

#

just Entity#remove()?

harsh ruin
#

yes but I just put that because it doesn't work. I don't have the final goal

#

I believe that my code adds during the creation of the armor stand to the ARRAYlist named displayEntities, but on restart. the list should not be restored. I think that's it, can I send my program, or parts that concern this problem?

hushed spindle
#

when you initialize a list like this its in memory

#

when the application shuts down this memory is cleared

#

you need to serialize this data and persist it to a file

harsh ruin
#

I tried to store this list in a yml file. but I made one mistake after another. The solution may be there but I don't know how to store and re-use this list

hushed spindle
#

what are you needing to save exactly

#

why does it need to be saved

#

i thought you were only modifying entities

harsh ruin
#

yes I thought there was no need, but when I restart, the armor stands that I spawned before the restart can no longer be selected like in the video. suddenly I deduced that these armor stands must have been listed in a list which is reset on each restart but that is perhaps not the problem

hushed spindle
#

i dont think anyone can help you without you showing your code

river oracle
#

But his code is the next hypixel

#

Top secret 💯

harsh ruin
#

of course I'll send you my code, it's a bit long. but if you can't find what each part corresponds to, ask me

hushed spindle
#

anyway im having some issues compiling my stuff, when i mvn clean install it says it cannot find things like Connection or Craftplayer. I'm working with nms here, and according to the logs it's failing because of this
class file has wrong version 65.0, should be 61.0, mojang mappings are bad class files i guess, but I use these in other projects too where it works just fine. any ideas?

chrome beacon
hushed spindle
#

i think they're up to date yeah

#

?paste

undone axleBOT
hushed spindle
#

there's my pom

#

i also updated my intellij just in case

chrome beacon
#

All of them except special source are outdated

#

also set your java version to 21 instead of 17

hushed spindle
#

ill check

harsh ruin
hushed spindle
#

were the packets for these sky effects removed entirely since 1.17? i cant reproduce this at all https://youtu.be/HYrZTQB7ELU?si=QGT8ObKrresHolA4&t=78

This tutorial will show you how to change the sky to a variety of amazing colors for a player or for an entire world, create different atmospheres for every world!

Download Link: https://www.spigotmc.org/resources/skychanger.37524/

Get a super fast Minecraft server instantly delivered to you here: https://serverminer.com

If you have any quest...

▶ Play video
#

sorry if videos like this are not permitted

pallid idol
#

What can i do?

remote swallow
knotty aspen
#

pretty sure that used invalid rain levels?

chrome beacon
#

From the plugin description

knotty aspen
#

that bug has been fixed. And also even persisted when leaving the server, so really not something you should have used in the first place

chrome beacon
#

You could look in to custom biomes

#

not sure if they allow controlling the sky though

knotty aspen
#

they do

hushed spindle
#

like these effects and their IDs used to be this which affect sky colors and stars and stuff, really cool

pallid idol
hushed spindle
#

but now they're these

knotty aspen
#

it will be "start_raining" but again - the bug has been fixed

remote swallow
slender elbow
#

bro didn't read the part saying it isn't possible anymore

knotty aspen
#

its no longer possible to change the sky color with that packet

#

just use a biome instead. the client supports changing biomes at runtime just fine nowadays, without needing to re-send chunks

hushed spindle
#

oh yeah i did not read that

#

i do not know how to read

#

unfortunate, i really liked the stars getting brighter effect

#

im guessing you cant do that any more

knotty aspen
#

yeah that looks pretty cool tbf

#

but no, not really. can't even properly change the sky in a resourcepack

quiet ice
#

Shaders it is?

pallid idol
hushed spindle
#

shaders would be good if i didnt need this effect to be toggleable

knotty aspen
#

yeah shaders in a resourcepack would work. but they are kinda unsupported, and love to break with some mods (looking at you, Optifine)

remote swallow
#

who uses optifine now a days

quiet ice
#

This is bukkit, f the mods

knotty aspen
#

Sodium isn't much better in that regard. Its just a downside of making large changes to the renderer. and tbf - Mojang has always said that resourcepack shaders are unsupported

#

but it doesn't really solve the toggleable issue anyways, unless you do some fun things like just showing them when the time is exactly 12000 or something

hushed spindle
#

specifically making them brighter would have been great

south adder
knotty aspen
#

thats a private paste

south adder
#

oh

#

wait

knotty aspen
#

but my guess would be that you have two hands and aren't checking for the hand

quiet ice
#

I assume you can't randomly set uniforms. But I have little experience (read: none) with shaders in minecraft, or hell - rendering in minecraft in general.

knotty aspen
#

seems like they don't use shaders are at all, but are hardcoded

#

also someone on the Minecraft wiki went through the effort of making a table of all 780 stars and their positions, lmao

quiet ice
#

what autism does to a person

young knoll
#

Biomes are your best bet to change the sky color now

nova notch
cosmic elk
#

how could I make it so that a warden wont attack players no matter what? just the simple 'EntityTargetEvent' didnt seem to do anything :/

    public void disengageWarden(EntityTargetEvent event) {
        Entity entity = event.getEntity();

        if (entity instanceof Warden) {
            Entity targetEntity = event.getTarget();

            if (targetEntity instanceof Player) {
                //Player player = (Player) targetEntity;

                event.setCancelled(true);
            }
        }
    }```
#

ive done this sorta stuff with withers before and I was hoping it would work the same way with a warden but it didnt

blazing ocean
#

autism makes my brain go brr with shaders

lilac mango
#

Before I get too creative in code, is there a simple way for a user to move their mouse off the game screen? The only way I can think of is to open the inventory, but that covers much of the screen, which doesn't help with F3 open. This would be used from moving mouse to another app for whatever and then back or literally AFK from the game.
If there's nothing obvious, what's the general code approach for opening a tiny modal component like inventory, but extremely tiny?
Thanks!!

river oracle
#

You don't have control over the client on the server

alpine urchin
#

his server ^

river oracle
#

This seems like it'd be very invasive to implement too please be a good person and respect people's privacy

lilac mango
#

I was thinking of offering a chat command or some other option.

#

I think you misunderstand. This isn't related to privacy or controlling the client. When the server opens inventory we can move the mouse off-app. I'm just looking for another easy to do that.

river oracle
#

Press T? Not sure why you need some other way of doing this. You can't control the client

#

This wouldn't be possible with code nor can I see the benefit of this

remote swallow
#

opening chat, an inventory, escape

lilac mango
#

Open F3 so you can see your coords or more detailed info. Now you want to record them in another app. So you tap ??? to move your cursor to your notes app or IDE.

remote swallow
#

alt tab

#

f3 c

river oracle
#

Make a client mod to copy them to clipboard

remote swallow
#

f3 c

lilac mango
#

opening game to see 😆

river oracle
#

If you don't wanna open the game use a mocking framework?

lilac mango
#

Serious lack of communication here. I;ll try again. Open F3 to see the entire screen. Now you want to record something in another app. The info might come from any field, not just coords but maybe from right side. Anything that gets opened, like E/Inventory or T/message/command blocks the screen. But yes, these options do allow for mouse-off from the app.

remote swallow
#

alt tab then

river oracle
#

Not sure what this even has to do with development why can't you alt tab?

#

Or make a client mod to do something for you

lilac mango
#

I mean as a dev or player, I just want to write something down.
Alt-tab opens the Game Menu and covers part of the screen, as well as blurring the rest of it.

river oracle
#

Press t 💀

remote swallow
#

f3 + p

#

might be q

#

it is p

lilac mango
#

That's pause on lost focus but you can't lose focus without one of the other options.

remote swallow
#

loose focus is triggered if you alt tab

#

if you disable pause on lost focus you can now alt tab without it blurring

river oracle
#

There's legit a client setting to disable pause on loose focus

remote swallow
lilac mango
#

That's it! Re-testing.....

river oracle
#

This has nothing to do with plugin development

#

I'm beyond confused here

#

Hell it has nothing to do with code

lilac mango
#

Y2K, you're right but I didn't know if there was a way to do this in vanilla and client-side before going to code, which I'm happy to do if required.

knotty aspen
#

the question was a bit confusing. but tbf, its a nice thing to disable if you are developing and testing a plugin

lilac mango
#

The F3+P is the solution to toggle the game reaction to lost focus. Then Alt+Tab to lose focus.

#

@knotty aspen understands

obtuse hedge
#

Is it possible to send custom skin data over the network and apply it to the user for the server only (not changing the users actual skin)

#

I thought there was a game profile thing or whatever

#

Didn’t gameprofile contain the textures too

lilac mango
#

So... TYVM @remote swallow 🙂

slate siren
#

I got confused while trying to make sure that an item does not drop to the ground and remains in the player's inventory after the player dies.

I couldn't do it in onPlayerDeath

remote swallow
#

remove the item from getDrops on PlayerDeathEvent

#

to ensure they get the item 1 tick later make them respawn and add the item to their inv

buoyant viper
#

or modded shaders w Iris or OF

young knoll
#

Fabulous mode shaders

worldly ingot
#

You don't even actually need the F3 menu to get your current position

#

You can literally just press F3 + L and it will copy your location to the clipboard as a /tp command lol

#

That might not be the case if you have reduced debug info but I'm not sure

worthy yarrow
#

I’ll reduce your debug Choco

worldly ingot
#

Oh, sorry, C

#

My mistake

#

:p

remote swallow
#

smh

worldly ingot
#

L is profiling. Because that makes sense

remote swallow
#

you work for hypixel but dont even know ur f3 keybinds

remote swallow
#

who needs optimization

#

just get a better pc

worthy yarrow
#

Yes because performance is usually an issue with running Minecraft kek

young knoll
#

Hypixel is 1.8

#

They didn’t have as many F3 combos

eager flame
#
public enum Items {
    SERVER_SELECTOR, TELEPORT_BOW
}``` I'm learning Java at the same time as making a plugin, how could I return an ItemStack using an enum value
wide coyote
#

enums are no different than normal classes with some attributes, you can create a constructor and getter and setters

#

@eager flame

eternal oxide
wide coyote
#

once you create your constructor your ide will yell at you to add the values to the enum fields, do that

eager flame
#

Ah thank you guys

worldly ingot
#

Was already corrected

#

Silly goose

buoyant viper
#

i miss when F3 C was the crash game button

young knoll
#

It still is

#

You just have to hold it

buoyant viper
#

F3 + Choco

primal dome
#

can some1 help me... im making a npc than can rtp but it rtps in the flat world with the lobby in it and thats not what i need i need to get a different world for that i have mvtp and BetterRTP, if some1 can help me DM me!!!

desert aspen
#

how could i make that endermans alwaya attack the player

buoyant viper
#

look at them

#

/sar

desert aspen
summer scroll
nova notch
#

idk why i never knew about this but this is so good for playing survival

wanton nest
#

Hello. How to get base color from banner (which is itemstack) in 1.21? As I see BannerItemMeta.getBaseColor() no longer exist but Banner.setBaseColor(Dye) still exists

#

Thats my whole code and how it looked before 1.21:

        ItemStack bannerItem = bannerExpr.getSingle(event);

        if (bannerItem != null) {
            BannerMeta bannerItemMeta = (BannerMeta)bannerItem.getItemMeta();
            List<Pattern> patterns = bannerItemMeta.getPatterns();

            ItemStack shield = new ItemStack(Material.SHIELD, 1);
            BlockStateMeta bmeta = (BlockStateMeta)shield.getItemMeta();
            Banner banner = (Banner)bmeta.getBlockState();
            banner.setBaseColor(bannerItemMeta.getBaseColor());
            banner.update();
            for (Pattern pattern : patterns){
                banner.addPattern(pattern);
                banner.update();
            }
            bmeta.setBlockState((BlockState)banner);
            shield.setItemMeta((ItemMeta)bmeta);
            return new ItemStack[]{shield};

        }
        return new ItemStack[]{};
    }
#

it simply generates shield with banner from banner item

sonic goblet
#

It looks like Pattern has a getColor() method

wraith delta
#

Question about making /tpa (teleport request to another player). It seems i can send a request but when trying to grab the value from the Map it returns nothing even though the map size increased. https://paste.md-5.net/ayoqoretuk.java

#

If I add a debug log after 'put' by using 'get(targetUUID' it does return their uuid. but when i use /tpaccept it returns null

quaint mantle
#

is it posible to create async scoreboard?

worldly ice
wraith delta
worldly ice
#

you create an instance for every command so the map contains different values for every command

#

the map contains different values when you execute /tpa than if you execute /tpaccept

wraith delta
#

dang so ig ill have to store the map as public in my main class

#

correct?

worldly ice
#

make a manager and use di to pass it to each command

#

i would separate your tpa class into 3 classes since it doesn't many any sense for one command executor to manage 3 different commands

wraith delta
wanton nest
worldly ice
worldly ice
worldly ice
quaint mantle
#

alr

#

i js asked cuz a friend that codes plugins has one of them

#

i mean he creates async scoreboards

short pilot
#

Hey guys! I'm looking for help on best practice, allow me to list my implementation

I have a factions system in place and i want to sync to a database i have that holds player and faction info like territory, etc

Currently im testing by having each command like player joining faction lead to a database update, but probably dont want that since it's running on the main thread

I was thinking that when I finish, I would make the database updated every X amount of minutes, and also make said operation async. It would read from a manager I have running that would hold the actual hashmaps of player and faction data in use at the time.

Im trying to think of some cases where the database would need to be immeditaly updated though

wraith delta
worldly ice
#

that sounds good to me? every "command" could update the internal hashmap instantly while adding that operation to some sort of queue that the manager goes through every once in a while

#

to ensure that the database gets updated correctly and in order

#

server crashes are the only thing that i can think of that could delete data, but as long as your update interval isn't too long it shouldn't be that big of an issue

#

plus how often are your servers crashing anyways

wraith delta
#

server restarts and crashes kick ppl

worldly ice
#

if the server crashes it won't be able to update the database

#

because the server crashed

#

the plugin is no longer running

old flicker
#

I am having an issue. Since upgrading my server and plugin API to 1.12.1, I am getting a annoying problem. If works fine for about 4 hours after every reboot, but then some commands fail ... It says "minecraft:null" so then I think "okay, it must be something null in my code" but the weird part is, it doesn't say anything is wrong in my file. Not sure what to do

org.bukkit.command.CommandException: Unhandled exception executing command 'sethome' in plugin utils
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:150)
    at org.bukkit.craftbukkit.v1_21_R1.CraftServer.dispatchCommand(CraftServer.java:921)
    at org.bukkit.craftbukkit.v1_21_R1.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:50)
    at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73)
    at net.minecraft.commands.execution.tasks.ExecuteCommand.a(SourceFile:29)
    at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(SourceFile:13)
    at net.minecraft.commands.execution.UnboundEntryAction.a(SourceFile:8)
    at net.minecraft.commands.execution.CommandQueueEntry.a(SourceFile:8)
    at net.minecraft.commands.execution.ExecutionContext.a(SourceFile:107)
    at net.minecraft.commands.CommandDispatcher.a(CommandDispatcher.java:414)
    at ```
summer scroll
worldly ice
#

but that can lead to races where 2 operations modify the same thing at once

short pilot
#

right now my commands just update the hashmap and everything works as intended, just yknow it's per session because i havent hooked to database yet

#

yeah im trying to make async calls in specific scenarios so it doesnt get into a mess of concurrency but im not sure how to implement his

worldly ice
old flicker
summer scroll
worldly ice
#

im saying a race in the database

#

2 async database operations being performed at once can cause a race

#

well actually idk some databases might have protection against that? not sure

summer scroll
#

Yeah I have experienced that before

worldly ice
summer scroll
#

It’s called deadlock for sql I think?

worldly ice
#

yeah so each operation gets added to a queue that gets executed all at once every once in a while

#

ensuring no races happen

old flicker
#

Caused by: java.sql.BatchUpdateException: batch entry 0: [SQLITE_BUSY] The database file is locked (database is locked)

Aghhhhh... Another database issue 😭 ... I keep fixing so many and then I run into another one. This time it works for a long time and then runs into this issue

worldly ice
short pilot
#

im thinking about async operations hmm

#

i mean would using concurrentHashMap help

worldly ice
#

no because then order won't be preserved

#

also what would even be the key

quaint mantle
#

why does String#split() consume this much

worldly ice
#

then just impl that for every different operation that you have

#

when syncing the database you just run each query, waiting for it to finish, then starting the next one

worldly ice
quaint mantle
worldly ice
#

yeah

#

the regex of just the literal

short pilot
#

mapping UUID to faction IDs

quaint mantle
worldly ice
short pilot
#

oh nvm

#

wrong thing

worldly ice
quaint mantle
#

a

worldly ice
#

yeah that would be async

quaint mantle
#

alr

worldly ice
#

in a CompletableFuture most likely

quaint mantle
#

or i can make it async

worldly ice
#

yeah that too

#

if it's too slow, just shove all of it into a CompletableFuture

old flicker
#

(I'm new to databases)

worldly ice
#

which would mean having 2 queues

#

not sure if there's a better way to do that ive never really done anything like it before

short pilot
#

hmm interesting

#

btw @worldly ice i think ur github link just redirects to github itself on ur website

worldly ice
old flicker
worldly ice
#

idk how i did that

old flicker
#

I am trying to figure out too why it doesn't occur until after a long time.

short pilot
#

What are the effects of making a new Connection() every time in Java to a database when you call the function, is it better to make a connecton outside and pass it in?

summer scroll
#

I don’t think you want to close SQLite database after every use or am I wrong?

old flicker
#

Im pretty sure you do, beacuse thats how the busy error is caused

worldly ice
#

use a connection pool?

summer scroll
#

Yeah use hikaricp

#

Way much better

old flicker
#

And how would this solve my issue?

#

(just curious)

summer scroll
#

It should solve your connection closed issue I believe.

old flicker
#

Gocha, if I were to guess my commands may be failing after a long time beacuse its in a different memory location or memory thread.. if I understand HakariCP, it would pool all connections into one address or thread?

summer scroll
#

You can also use try-with-resources to ensure the connection, statements, resultset, etc closed after it's done.

#

I'm not sure about the technicality but when I switched to HikariCP most of my problems with database got solved.

#

I mean I can't explain it properly.

old flicker
#

Huh, okay. I'll take your word for it then and see how it goes. Thanks 👍

summer scroll
#

No problemo, good luck!

old flicker
#

So I deleted the old default java sql driver and installed hikari, and it seems to work as simple as that? you dont know until you try it I suppose!

#

Nothing I need to do? My implementation was just the simple sql stuff you normally do

#

I simply went into intelij, deleted sdbc or whatever its called and put this one in

lilac dagger
#

Did you switch to Hikari when creating the connection

#

?

wet breach
short pilot
#

fellow intellectuals I have returned with more questions!

#

is there a way to make an async event run upon server shut down such as backing up info to a database we have set up

buoyant viper
#

chat

#

how do i acquire the motivation to code again

lilac dagger
#

No events trigger on server shutdown

#

Use ondisable from plugin to back your info onto the database

#

In this case blocking is alright

#

The server will wait till the plugin finishes

distant zenith
#

Hello, it may be posted somewhere, but I havent been able to find it. Is there an expected release date for a 1.21.2 jar?

nova notch
#

uh what

#

are you seriously asking for when spigot is going to update for a version that isnt even out yet?

distant zenith
#

yes, there have been 5 snapshots, it stands to reason that the team has a plan for it already

buoyant viper
#

eventually™️

nova notch
#

im pretty sure they dont even begin anything until the update is fully released

#

and there definitely are no builds release for snapshots or pre releases

young knoll
#

?eta

undone axleBOT
#

There is no ETA. Having an ETA leads to unrealistic deadlines, false hope, and a bad product. It will be ready when it's ready.

pseudo hazel
#

before paper atleast uwu

blazing ocean
rough drift
pseudo hazel
#

and also is there even a release date for 1.21.2

blazing ocean
#

nope

rough drift
#

1.21.2???

pseudo hazel
#

yeah

blazing ocean
#

guys

#

why is spigot 1.23 not out yet

#

md needs to hurry up

#

smh my head

pseudo hazel
#

the creaky bundles update

rough drift
#

I'm still at 1.18 in my head 😭

pseudo hazel
#

or whatever its called

blazing ocean
rough drift
#

these updates are going too fast fr

pseudo hazel
#

?1.18

undone axleBOT
pseudo hazel
#

lmao

blazing ocean
#

why is that a tihng

pseudo hazel
#

i didnt ask for that

rough drift
#

I still remember 1.7.10

pseudo hazel
#

?1.21

#

lol

#

only for 1.18

blazing ocean
blazing ocean
undone axleBOT
rough drift
blazing ocean
#

I just found out about:

#

?cba

undone axleBOT
#

radstevee definitely regrets to for the most part inform you that unfortunately, they essentially are unable to definitely assist with definitely your enquiry, which essentially is fairly significant. Please simply really ask again later or possibly kind of ask someone else about this enquiry, demonstrating that the person that ran this command generally regrets to kind of inform you that unfortunately, they for the most part are unable to generally assist with actually your enquiry in a subtle way. Thank you very sort of much for kind of your time and the person that ran this command specifically wishes you a really good day, so the person that ran this command really regrets to actually inform you that unfortunately, they literally are unable to definitely assist with very your enquiry, or so they particularly thought.

rough drift
#

1.7.10 was so much fun

#

Lol just now??

blazing ocean
#

?1.17

undone axleBOT
blazing ocean
#

?1.19

undone axleBOT
rough drift
#

💀

quaint mantle
#

hey how can i know the packet name with the packet id?

blazing ocean
quaint mantle
#

i got the id there

pseudo hazel
#

?1.21.2

quaint mantle
#

doesn't exist

pseudo hazel
#

also cba is the best command

blazing ocean
#

if so

#

?xy

undone axleBOT
quaint mantle
#

i want to get like the class name

#

like packet 0x0A = ClientboundSomethingpacket

blazing ocean
#

still why

#

"why" reacts with 👍

quaint mantle
#

👍🏻

blazing ocean
#

nms GamePacketTypes

#

will need some reflection

#

I don't think those actually have the ids

quaint mantle
#

oh

pseudo hazel
#

just use packetevents and be done with it

blazing ocean
#

yeah I mean still

#

?xy

undone axleBOT
silent slate
#

Problem: I want to set the biome of each block on my spawn island that gets pasted into a world dynamically. Therefore i set the biome of each "row" of blocks meaning an area with the same X and Z coordinate, but that spans across the whole Y range of the spawn.

I use this code for this and have tryied debugging it but am not skilled enough to read the error

Btw. the error always occours on the same block. Its 2 stone blocks and should be covered by the getBiomeType() function

What I want fixed: The code should execute without throwing an error on that spot.
Understand the error code

Error (and debug): https://pastecode.io/s/wrer6d17

Code: https://pastecode.io/s/c9omncrh

quaint mantle
#

is this okay? 😭 im so sleepy so sorry if it's so wrong

#

i don't wanna ruin anything important

#

Also abt the try/catch i didn't rlly thought abt it, just made intellij make it

#

am gonna correct it anyways

pseudo hazel
#

if ur sleepy go to bed

#

easy fix

pseudo hazel
blazing ocean
pseudo hazel
#

use pastes.dev or the md paste thingy

#

?paste

undone axleBOT
pseudo hazel
#

yeah exactly

#

my confusion

silent slate
#

@Nullable
public static final com. sk89q. worldedit. world. biome. BiomeType PLAINS

#

shit

#

BiomeTypes.PLAINS and other can be null

#

the biometypes from worldedit are the problem

blazing ocean
#

this is why I fucking hate java nullability

silent slate
#

i hate the worldedit biomes

#

why cant i use normal biomes

#

i cant even get a deep dark biome or stuff like that

blazing ocean
silent slate
#

then at least get a fucking equivalent of the mc biomes

#

there are MISSING biomes

#

in worldedit

#

the only thing the BiomeTypes does is get the vanilla biomes

#

are they dump?

hybrid turret
#

btw not pink anymore

#

sadge

#

too poor for nitro 😎

mortal hare
#

am i the only one who thinks java generics is meh

#

i would love if java introduced c++ like templates

#

where you can generate multiple classes

#

for some applications generics would be better, but there are cases where you would prefer templates instead

blazing ocean
mortal hare
#

imagine how much smaller fastutil would be if it was implemented via templates

blazing ocean
blazing ocean
#

Me when P16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>

mortal hare
#

proper tree-shaking algo with templates would be a lot better than generics tbh

hybrid turret
#

finanzamt will be up my ass asap

blazing ocean
hybrid turret
#

hell yeah
claps in 80% of the server being germen

blazing ocean
#

🇩🇪

#

Diese Kommentarsektion ist nun Eigentum der Bundesrepublik Deutschland

#

sorry optic will stop now

dry hazel
#

erasure is bad

mortal hare
#

it saves memory

#

by not preallocating classes for multiple generic type parameters

blazing ocean
#

I'm gonna erase myself

mortal hare
#

i believe there should be both options in java

#

template and generics would be great

wet breach
pseudo hazel
#

why tf can BiomeTypes be null

#

what kind of maniacal design is that

wet breach
#

because biometype isn't inherently necessary

#

if you need it to be necessary then toss some default in there

shadow night
#

Pretty sure C and rust work with JNI

wet breach
#

yeah, you have JNA, JNI, JNR and some other stuff

shadow night
#

Java Native *

mortal hare
#

also cross compatibility is gone

wet breach
#

not necessarily

#

you can have C++ code that is platform agnostic

mortal hare
#

you would still have to compile to platform-specific dynamically linked libraries

wet breach
#

if it is required

mortal hare
#

imagine using .dlls for copy paste operation that should be bundled in JVM already

wet breach
#

well they are

dry hazel
#

I mean for fancy features you can look at manifold, I think they have a templating system of some kind

#

I think templates would be too much for the simplicity and predictable nature of java

lilac dagger
sly topaz
#

nowadays Java is trying to move away from JNI and adopting the new foreign function and memory API

#

so calling out to native isn't as mind-numbing as writing JNI-style C bindings

#

there always have been other ways to go about that though, like IPC

#

usually you'd have your native service handling all the platform specific stuff that for some reason the JDK might not handle well, and then have your Java app communicate with that

#

rarely you'll ever need a better implementation's than the JDK's though, as far as OS-level stuff goes

chrome beacon
#

The new FFM api is a lot better than JNI

#

And Jextract makes things a lot easier

alpine urchin
fading drift
#

how can I change knockback friction

#

is there a packet I can send?

quaint mantle
#

Anyone needs a go developer? Can do APIs and kubernetes.

quiet ice
#

Sir, this is a java discord

silent slate
#

mods

#

ads stink

undone axleBOT
sly topaz
#

sure, this isn't exactly the right place to ask for it since the forums exist, but I can't fault them for trying

eternal oxide
#

I can. How about we all advertise

hushed spindle
#

does anyone know of a good animation api for particles and item display entities and such

lilac dagger
harsh ruin
#

how to send message to player in action bar , plugin minecraft 1.21

eternal oxide
lilac dagger
#

npcs don't trigger playerinteract event

#

i think it has to do with the fork

harsh ruin
lilac dagger
#

which is not a spigot issue

pseudo hazel
#

sendActionbarMessage or whatever

harsh ruin
#

it's not work

pseudo hazel
#

?nocode

undone axleBOT
#

It’s hard to answer a programming question without code
Oh no! You ran into a problem. But no worries, people are willing to help, but first they need to see your code. This is because otherwise, they would be providing help based on guesses instead of concrete knowledge. Whether it be a compile error, runtime error, or an unexpected output, I'm sure that if you were to provide code, you'd receive a quick solution.

harsh ruin
#

@EventHandler
public void onPlayerItemHeld(PlayerItemHeldEvent event) {
Player player = event.getPlayer();
ItemStack item = player.getInventory().getItem(event.getNewSlot());

    // Vérifie si l'item est un diamant
    if (item != null && item.getType() == Material.DIAMOND) {
        // Envoie un message dans la hotbar
        try {
            SEND ACTION BAR
        } catch (Exception e) {
            getLogger().warning("Erreur lors de l'envoi de l'ActionBar: " + e.getMessage());
        }
    }
}
harsh ruin
#

like this ? player.sendMessage(ChatMessageType.ACTION_BAR "10");

eternal oxide
#

no

#

player.spigot()...

harsh ruin
#

player.spigot().sendMessage(ChatMessageType.ACTION_BAR); and ??

eternal oxide
#

...ACTION_BAR, "blah"

harsh ruin
#

it gives me an error

eternal oxide
#

you are using paper not spigot then

#

ah no my mistake

#

you need a component not a String

harsh ruin
#

I'm not sure I understood, I use craftbukkit

eternal oxide
#

TextComponent

#

player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(message));

harsh ruin
#

sorry I'm a beginner but I put that in my plugin and when I take a diamond in my hand, nothing new

#

player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacy("test"));

eternal oxide
#

get the item from teh event properly, not from that crazy code you have

#

ok ignore me, I'm talking rubbish

#

be certain yoru listener is registered

harsh ruin
#

yes

eternal oxide
#

are you actualy holding the item?

harsh ruin
#

yes

eternal oxide
#

not just in the inventory

harsh ruin
#

no

harsh ruin
#

I wonder if it's just not possible to do this in 1.21

halcyon hemlock
#

is this skibidi or fanum tax

ivory sleet
#

So if python were another language altogether you’d like it?

shadow night
halcyon hemlock
#

💀

halcyon hemlock
ivory sleet
#

I mean its stupidly easy and simple to write some mock system w py

#

which is nice if u just wna prototype on something

blazing ocean
#

(I 100% agree)

halcyon hemlock
#

And python is basically a C++ wrapper at this point anyways

#

I like the AI shit in it, but in general, like production shit, python is ass

quaint mantle
#

Rust level performance. Python level code. Good idea? ||I think not.||

ivory sleet
rough drift
slate siren
#

I open the spell menu by right-clicking on a block with a helmet to cast a spell without any problems, but we have another problem, When right clicking with the Helmet, it puts it on the player and this causes a bug

#

Is there a way to block it?

lavish hemlock
#

I am an advocate for manual memory management as a fan of the way Zig does it (explicit allocation w/ multiple types of allocators, including a standard library arena allocator)

#

But, simply put, even arenas have a cost. They might not be too good for restricted memory systems, so you're back to that malloc/free manual lifetime shit that borrow checking is built to avoid.

lavish hemlock
#

Garbage collection and reference-counting are no-gos for so many projects, if not because of the lack of native languages with either (only examples that come to mind are Go and Swift), then because of the time costs which makes it impractical in real-time software, game development, and various other projects.

magic raptor
#

Guys I'm getting crazy, how am I supposed to do gradient messages on bungeecord?

slender elbow
#

just wait until you find out the amount of jvm projects that are used in high frequency real-time needs

lavish hemlock
#

Rust's memory management is mostly just RAII in disguise.

rough drift
#

One may have an opinion

eternal oxide
#

Yeah I hate memory management. Too many years of dealign with it

slender elbow
#

the borrow checker doesn't let me do the things I wanna do anyway (resource leaks)

eternal oxide
#

Much nicer to have it done for you

rough drift
#

I like Zig's approach, it's good

lavish hemlock
#

Memory leaks are not unsafe in Rust 'cause they can be done intentionally and they don't cause undefined behaviour.

magic raptor
lavish hemlock
#

If you don't like it, then so be it. I just didn't take too kindly to your phrasing.

slender elbow
lavish hemlock
#

Either way, wrong channel for this so I'mma go

slender elbow
#

so, each character is its own TextComponent

#

with its own colour

#

all siblings of an empty parent TextComponent

magic raptor
#

I don't see any documentation on that

#

there was an old page for 1.16 but the class don't exist anymore

#

and clearly this is wrong

slender elbow
#

oh you don't mean gradients

#

you mean rgb

magic raptor
#

i need somehow to handle both rgb and gradient

slender elbow
#

I mean gradients is just a different rgb for each character

magic raptor
#

and yeah with that code it's returning an empty message

slender elbow
#

lemme check closely

#

pretty sure there's some Matcher#append you can use passing the StringBuilder.. i don't remember how exactly and I'm on mobile, wait

#

yeah something like

while (matcher.find()) {
    matcher.appendReplacement(builder, ChatColor.of(matcher.group())
}
matcher.appendTail(builder);

return translateBlahBlah(builder.tS())

I believe

magic raptor
#

let's see

#

append replacement doesn't exist here, probably some java version requirements?

#

nvm i'm stupid

#

mh, maybe not

quaint mantle
blazing ocean
#

you're calling the createClientboundPacket method

quaint mantle
#

yes

#

i want to

#

like

#

it its: new Clientboundblablabla packet = new Clientboundblablabla(args)

chrome beacon
#

The client won't understand that

#

also there's no real point in doing that

blazing ocean
#

as I said

#

?xy

undone axleBOT
dawn plover
#

I am trying to update my code. but i cant seem to update the Yml Annotation. But i can only see up to version v1.20
But want to update it to 21, or any new mc version for that matter

remote swallow
#

it hasnt been updated yet

quaint mantle
#

how can i send bossbar packet to the client?

rough drift
#

Api version??

remote swallow
#

the plugin annotations

rough drift
#

what is that

quaint mantle
#

for what?

remote swallow
#

spigot has a repo called plugin annotations whichs allows you to create the plugin.yml via annotations

quaint mantle
#

why not create the plugin.yml manually?

blazing ocean
#

why not?

rough drift
#

but why yes

dawn plover
#

yea its the anotation plugin, and i also use it with kotlin

quaint mantle
blazing ocean
#

who said that

quaint mantle
#

me

remote swallow
dawn plover
# rough drift why

because the annotation is like 5 lines, and so you can just put it together in your main file instead of 2 speerate files

blazing ocean
remote swallow
quaint mantle
#

i mean it's useful for plugins that for example register custom commands

blazing ocean
#

what

chrome beacon
quaint mantle
#

1.21.1

#

mojang mappings

#

deofuscated

chrome beacon
#

Just use the API?

quaint mantle
#

yes

#

i want to just send the packet

blazing ocean
#

ClientboundBossEventPacket

#

but why

chrome beacon
#

Use the API

blazing ocean
#

^^

quaint mantle
#

bossbar are for server

blazing ocean
#

??

chrome beacon
#

??

quaint mantle
#

i want to send it to one single player

chrome beacon
#

Yes

blazing ocean
#

Player#sendBossBar?

chrome beacon
#

Use the API

dawn plover
chrome beacon
#

The API has support for perplayer bossbars

dawn plover
#

does that update faster?

quaint mantle
remote swallow
dawn plover
#

nice, then that is better indeed

#

thanks!

blazing ocean
#

It's actually BossBar#addPlayer mbmb

remote swallow
#

or well more of it has no updates, most of the stuff is strigs or future proof

quaint mantle
#

yeah i don't understand that much of gradle

#

i use maven

remote swallow
#

come on rad lock in

#

also use the minecrell one

blazing ocean
#

No I make my own Java agent which adds them to the NMS command map

blazing ocean
remote swallow
#

has a built in library dep type

blazing ocean
#

val pluginLibraries = mutableListOf<String>()

fun DependencyHandlerScope.library(notation: Any) {
    compileOnly(notation)
    pluginLibraries.add(notation.toString())
}

this works tho ig

remote swallow
#

but bukkitLibrary is easier

blazing ocean
#

nerd

remote swallow
#

and you dont have to specify it, it just adds them

remote swallow
blazing ocean
remote swallow
#

nah thats miles

blazing ocean
#

both of you

remote swallow
#

i dont wear glasses

blazing ocean
#

me neither

bold plume
#

Is it possible to see what my velocity/factions of which resource of such plugin or of minecraft itself is consuming processor? I would like to decrease this usage, although my tps is at 20.0, this is with 60 players and my processing is at 40%

sly topaz
#

you want to know if it is your plugin consuming resources or just the server itself?

#

You'll want to use spark and check its plugin-specific metrics

#

often times, plugins won't show up as the cause since the cause is usually indirectly related to the plugin, i.e. some API method forced a chunk load, and that's all going to be on the server metrics and not the plugin's

#

that said, if you have 20 tps with a good mspt, then don't bother with it since you aren't having issues now, worry about it when you actually have issues

bold plume
#

But in Spark I only know how to see what is decreasing the TPS, I would like to know how to see what is responsible for the processor usage

quaint mantle
#

does anyone have a guide or wiki to create a Math.sin()

blazing ocean
#

what

#

are you trying to make your own sin impl

#

🤨

lilac dagger
#

it's very slow tho

#

math sin i think uses a sin table

sly topaz
quaint mantle
#

bro i mean to use math.sin

blazing ocean
#

and what's so hard about that

quaint mantle
#

you don't have to make fun of me ok

sly topaz
#

the information Spark gives is the best you're going to get

quaint mantle
blazing ocean
#

to learn what

quaint mantle
#

Take a basic trigonometry class

quaint mantle
blazing ocean
#

Math.sin(n)?

#

i have no idea what you want me to tell you

lilac dagger
#

what do you wanna do?

quaint mantle
#

create an int that goes from 0 to 100 and then from 100 to 0, in a loop

sly topaz
#

what does that have to do with sine

lilac dagger
#

you don't need sin for that

quaint mantle
#

alr

lilac dagger
#

0-100 can be degree of a circle

#

but you can substract it or add

quaint mantle
#

alr

sly topaz
#

were you talking in the sense of a radian circle perhaps? Because that's different

dawn plover
# remote swallow https://github.com/Minecrell/plugin-yml

do you use it? Since i have a bit of a hard time setting it up.
I cant seem to relosve the Unsupported class file major version 63 error when trying to Load the gradle changes. in my IntelliJ
It seems this error has to do with outdated java version of some sort, but upgrading that does not result in any change

sly topaz
#

that plugin works but you'd rather use jpenilla's resource factory instead

bold plume
sly topaz
#

it provides enough information to make a reasonable guess of where performance is getting hit

spiral light
#

what is the spigot equal to the minecraft-Component ?

bold plume
bold plume
#

My TPS is at 20.0 but with 60 players my CPU is at 40%. I believe I can only host around 200 players but not because of the TPS but because of the usage.

sly topaz
sly topaz
sly topaz
#

?1.8.8

#

fuck what was the command

bold plume
#

and there are many servers with many players on one server

sly topaz
#

yeah, that isn't necessarily the case

chrome beacon
#

?1.8

undone axleBOT
sly topaz
#

there are very few servers that can afford not splitting up things into multiple instances, hence why you see so many servers with 20 lobbies

#

all of that said, even in 1.8.8 the limit is around there, but I wouldn't be sure how to even begin optimizing 1.8 builds, you're on your own there

#

you have nowhere near as many options

bold plume
sly topaz
#

I am aware, however it is what it is

#

minecraft servers are just not made to hold that many players to begin with

#

nowadays for such gamemodes people would use folia, however that isn't available for 1.8.8 so uh, good luck I guess

bold plume
#

what does folia do?

dawn plover
sly topaz
sly topaz
bold plume
#

separate a world into several hosts?

young knoll
#

Folia is only going to be useful when players are spread out

#

Which mostly means survival servers, and idk who’s still running a survival server on 1.8

sly topaz
#

it is true that projects like folia only really help when players are spread out, however that is ultimately the only way to scale a minecraft server beyond what's reasonably feasible

#

any other means require severely modifying the vanilla experience, which isn't good

bold plume
sly topaz
#

it uses more threads/cores for the ticking logic, yes

#

that said, these projects are extremely experimental so without the money to have a development team behind it, you won't be able to run it

bold plume
#

Ok I get it.

dawn plover
sly topaz
#

as you say, it is essentially a template so you don't have to use the "raw" plugin like you were attempting to do earlier

#

in this case, it has conventions for bukkit yaml (aka plugin.yml), paper yaml (aka paper-plugin.yml, you can read up about paper plugin in paper's documentaiton), then forge and fabric ones

#

however resource-factory is more of a general plugin that has facilities for generating resources like these convention plugins do

dawn plover
#

ah cool!

#

I was using annotation before. However, that wasnt updated for version 1.21 so thats why i wanted to switch to something that i dont have to wait for it to update.
And i assume that due to this being string based (the api version) it will pretty much work always right?

sly topaz
#

it should, yeah

dawn plover
#

okay, thanks! you have been a great help

sly topaz
# dawn plover okay, thanks! you have been a great help

np. Also I forgot to say, you don't have to explicitly set the name and version, as those are inherited from the settings.gradle.kts rootProject.name as well as the build.gradle.kts version field. Though you can still override them if you want them to be something different than these fields

dawn plover
#

oh lol

#

yea that saves 2 lines haha

#

i think in almost all cases they will be the same anyways

blazing ocean
#

2.0.20 has been out for a while

#

You are on.. 1.7.22

blazing ocean
sly topaz
#

eh, I prefer it that way

#

it is weird that you add to a collection but assign the rest

fading kite
#

Someone know how to add customs implementation of RecipeChoice to org.bukkit.craftbukkit.inventory.CraftRecipe? T*T
cuz i can't override this classes and i don't really know if i can add new stack from another way ^^'

blazing ocean
#

but not sure

river oracle
fading kite
river oracle
#

Don't provide a UUID that makes it always false then

fading kite
#

i need theses uid

river oracle
#

Unless you're inferring the comparison doesn't work at all which case it's a bug with item meta

river oracle
fading kite
#

nope

river oracle
#

Then why do you expect it to work

#

Ofcourse it won't work you're violating the whole Exact part of Exact Choice

kindred sentinel
#

Is there an event of deleting an item? (Auto deleting)

river oracle
fading kite
#

eww

river oracle
#

Their are crafting events you'll just lose the luxury of the recipe books

river oracle
kindred sentinel
#

Like auto clearing

river oracle
#

Called despawning

kindred sentinel
#

(Maybe more than 30 seconds I dont remember)

river oracle
#

It's 5 minutes kekw

kindred sentinel
fading kite
river oracle
#

?jd-s one second

undone axleBOT
fading kite
#

just let me cook

river oracle
fading kite
#

not that

river oracle
#

Or fork craft bukkit

fading kite
#

roooh

#

okay

river oracle
#

Those are your options

#

Personally I'd go with the events but you do you

fading kite
river oracle
grave kayak
#

hello, I'm trying to cancel a craft through the autocrafter but i cant find any events or ways to do it. any ideas would be appreciated!

fading kite
blazing ocean
river oracle
#

I don't

blazing ocean
#

i thought you said you did

river oracle
#

I nolonger do

#

How dare you torment my broken heart 😭

blazing ocean
#

rip

young knoll
#

That’s an oof

slender elbow
#

anime pfp 💀

young knoll
#

Hey wait

river oracle
slender elbow
#

yeah I would never

blazing ocean
sly topaz
#

I do not like the art of that brekfst guy pfp

#

it smells R18

slender elbow
#

nah

river oracle
slender elbow
#

already had me typing there's*

river oracle
sly topaz
#

I'll never understand how people can confuse them

#

the only thing I always get confused about is these and those

river oracle
young knoll
#

What’s a R18

sly topaz
#

you don't have to know

river oracle
young knoll
#

I only know R34

sly topaz
#

rated 18

river oracle
#

Wait till he figures out about R18+

#

Or R17

young knoll
#

Oh

sly topaz
young knoll
#

We are talking about ratings not rules

river oracle
#

Such R18 vibes ✨️

sly topaz
#

reverse image search scratches that 'tism in me

sly topaz
#

yesterday I spent 4 hours searching for Sweattypalms IDE background

slender elbow
#

ah

#

I was beaten

sly topaz