#help-development

1 messages · Page 1312 of 1

unborn hollow
#

time for me to learn about that, also it ended up working, thank you everyone for the help

sullen marlin
#

As I said, the API should probably use a dynamic profile when you give it one without textures and let the client resolve it, but the above will always work

slender elbow
#

it also needs to have either the name or the uuid, but not both

#

which you could do manually

eternal forum
#

Broo make spigot great again
~ Doland Drump

#

I believe if md_5 want then he can

sly topaz
#

would want to do update().thenAcceptAsync(mannequin::setPlayerProfile, task -> Bukkit.getScheduler().runTask(task, YourPlugin.instance()))

ivory sleet
#

yea or if you use volatile or acquire+release

young knoll
#

I thought there was some sort of Bukkit.getMainThreadExecturor()

#

Did I imagine that

eternal night
#

On the scheduler probably

umbral ridge
#

😂

slender elbow
# ivory sleet yea or if you use volatile or acquire+release

that wouldn't really be any helpful here tho, the main thread is still performing regular relaxed loads so doing a release store without a corresponding acquire load is as useful as nothing, and the way the profile is stored also isn't volatile (via synched entity data)

ivory sleet
#

oh shit mannequin is a new entity, thought it was some random custom class, but regardless out of curiosity- are those regular loads reliable enough?

young knoll
#

Mojang really did a 180 on the whole “It’s important that players can differentiate mannequins from actual players” with the NPC tag

smoky anchor
#

I think they reasoned it with "player can still check with F3" :D

ivory sleet
#

interesting, and they dont extend human entity

smoky anchor
#

They have one problem: their hand doesn't move
But otherwise I think they are full replacement for fake players

ivory sleet
#

right

slender elbow
#

like, unless you're flushing memory all the time (which, yeah Minecraft isn't exactly cache friendly so that happens a lot, lol), then a release store isn't useful without an acquire load to read it

ivory sleet
#

yea fair enough

slender elbow
#

like you can get away with it in the case of minecraft, but it's certainly not something to rely on

#

plus you'd need to perform the release store to the field directly

#

eh, i guess you could do a release fence since that's available in the jdk api but it would still not be all that helpful

#

threading is complicated

young knoll
ivory sleet
ivory sleet
young knoll
#

Also now that we have real fake players

#

Who’s gonna make citizens3

ivory sleet
slender elbow
thorn isle
#

and here i thought they'd extend humanentity

worldly ingot
#

I do really hate the nomenclature of thenAcceptAsync() but I think that's mostly because my brain is hardwired to think of "main thread" and everything else is async, not that async just means "a different thread"

slender elbow
#

well, async does not mean "a different thread" either

#

you can 100% do asynchronous processing on a single thread

#

jdk is right, whereas the bukkit events being named AsyncXxx aren't because they are still blocking on the thread they were dispatched :p

worldly ingot
#

i don't like that

slender elbow
#

well OKAY

#

NUMBNUTS

#

yeah

#

whatchu gon' do 'bout that

alpine solar
#

Ban you

#

for uhh

wraith delta
#

There used to be a way to regenerate a chunk, but that’s removed from the api.
Is there a new way to regenerate a chunk?

#

Besides duplicating the world and copying it

slender elbow
#

not reliably, that's basically what worldedit's //regen command does anyway

wraith delta
#

Giving up either a lag spike or it being fast

slender elbow
#

ehh

#

creating a world isn't really an issue if you disable keeping spawn chunks in memory and set a fixed spawn location, so creating a world doesn't perform spawn location lookup

#

like, it's basically instant

#

and the chunks need to be generated anyway? it's just happening in another world

wraith delta
#

Nothing exist at coordinates 8kx8k when you create a new world

slender elbow
#

yes, and regenerating a chunk on an existing world that had them generated at one point implies running the whole generation process again

#

so the only overhead is copying over the blocks

#

not the generation, as the generation process has to happen anyway, whether it happens in world foobar or foobar_copy

wraith delta
#

In my case the copy world won’t exist until you actually want to regenerate a chunk somewhere in a world

slender elbow
#

yes

#

and what's the problem?

wraith delta
#

That it takes such a long time compared to it being instant with the api

slender elbow
#

it literally doesn't?

#

the only overhead is copying over the blocks

#

not generating the chunk

wraith delta
#

But those blocks don’t exist yet until the world has finished generating it. This is especially bad when doing something such as 30 chunks at a time

slender elbow
#

sigh

#

you are running the world gen code anyway

#

regardless of whether it's in world abc or abc2

#

the exact code to generate chunks has to run

wraith delta
#

I was hoping spigot added a new method of just refreshing a chunk rather than creating a new world

slender elbow
#

creating a world is quite literally instant

#

and you only generate the chunks that you need

#

so it's going to take exactly the same amount of time on that front

#

plus copying over the blocks, that's the difference

wraith delta
#

It needs to be instant

slender elbow
#

it's as instant as it gets

thorn isle
#

you might have to like save-all before copying the blocks over to the regen world before you can regenerate the chunk

slender elbow
#

it would not be instant with an api method anyway

#

as it would do the exact same process behind the scenes

#

generating the chunk

thorn isle
#

regenerating a chunk in isolation is going to result in a bunch of mismatches in like blockpopulators and such

slender elbow
#

again, creating a world is literally instant, generating a chunk is going to take the exact same amount of time in both worlds

thorn isle
#

depending on how you do it, tossing chunks between worlds for this might require some io roundtrips to first save the nearby chunks to disk, then copy the region file to the newly created world, then loading it in, and then copying the blocks from the regenerated chunk back to the origin world, which can probably be close to instant if you just swap chunk section references in the nms chunk

#

you can probably eliminate some or all of the io by going knee deep into nms chunkmap bullshit to copy the nearby chunks in-memory rather than as a region file

#

but that increases complexity considerably

slender elbow
#

having an api method that hides the nasty work from you isn't going to make it any more instant than doing it manually

wraith delta
#

I completed that, the thing is it takes maybe 2 mins for the entire process. If I do it a second time it’s instant since the other world finished generating those chunks. I don’t want that initial two min wait

thorn isle
#

what now

slender elbow
#

you're doing something wrong then if it takes two minutes

#

show your current code?

thorn isle
#

yeeeeah

slender elbow
#

right

#

what's with all the reflection

#

anyway, you should pass a ChunkGenerator that returns a fixed spawn location

#

so the game does not perform the exhausting spawn location lookup

wraith delta
#

using the api instead wouldve just been nearly one line of code

slender elbow
#

i mean, that is the api

#

but now you know what to change!

wraith delta
#

Yes but I mean just writing w.regen()

slender elbow
#

lol

#

sure

#

hiding the complexity doesn't make it disappear

#

the worldcreator code hasn't changed in years, many many versions

#

so i'm not all too sure why the reflection needs to be there but anyway that's none of my concern

wraith delta
#

I can fix it sorry

#

I just need it to work real quick no biggie. Fixing a massive area in a main world

slender elbow
#

yes, by providing a fixed spawn location in the chunk generator

#

the rest looks fine

wraith delta
#

Neat I’ll give it a try soon

slender elbow
#

not using reflection would've caught this

wraith delta
#

yea ima just work on 1.21+ lol

#

Wait, cant we just do that with a gamerule? spawnChunks, 0?

slender elbow
#

yes, but that requires the world to be loaded already so those chunks will be already generated

wraith delta
#

oh ok

slender elbow
#

by passing that info to the world creator it avoids it entirely

#

except on 1.21.9+ where spawn chunks don't exist anymore, so, yeah

wraith delta
#

ok ill read the api. just saw that, 1.21.9... they take everything away XD

slender elbow
#

that means no spawn chunks will be generated too which is neat, you can of course force-load or have a nether portal to keep them loaded but if your goal is to not, then nothing will change on that front

wraith delta
#

Interesting they havent thought about adding titanium armor yet

#

copper first?

slender elbow
#

yeah, they realised they added a new mineral a while ago without adding tools and armour

#

unheard of

wraith delta
#

titanium sounds way cooler to me lol

#

they are going based off of the periodic table of real minerals, but they skipped titanium...

wraith delta
slender elbow
#

yeah, they reworked a fair amount of the chunk system

thorn isle
#

titanium what now

wraith delta
#

If they were to add that but they skipped over it

#

But I guess now we have more uses for copper

sly topaz
onyx fjord
#

is meta component api ready to use?

zealous scroll
#

is there a way to disable creative players force updating their slots when they open their inventory? my game uses packet items and when a player goes into creative gamemode their items get bricked

worthy yarrow
#

Don’t allow them in creative when they have the items, alternatively you’d have to handle those interactions through the creative event as creative is known to mess up inventory interactions

onyx fjord
#

how do i stop player eating animation mid animation?

buoyant viper
#

i think u would have to remove the item from their hand and then put it back probably

young knoll
#

Kill them

#

I wonder if it counts as “using” the item or if it’s entirely client side

thorn isle
#

listen to the creative SET_SLOT packet and apply your packet item filtering to it

buoyant viper
#

client sends a packet saying theyre using an item

#

then a couple secs later they finish use and send another packet that says they used the item

#

and the server processes the item consume

zealous scroll
#

i figured it out, there's a packet the player sends called Creative Inventory Action when they're overriding items

thorn isle
#

that's SET_SLOT yes

young knoll
#

There’s a stop using item method for players

#

Iirc

buoyant viper
#

?jd-s

undone axleBOT
buoyant viper
tawny osprey
#

When you are dealing with command arguments, does args.length == 0, include the space from the main command to the first argument, or is it without the space?

eternal oxide
#

only args. no command and no spaces

tawny osprey
still verge
#

for me it complains about bungeecord-parent (not chat):

> Could not resolve net.md-5:bungeecord-chat:1.8-SNAPSHOT.
   > Could not parse POM https://maven.enginehub.org/repo/net/md-5/bungeecord-chat/1.8-SNAPSHOT/bungeecord-chat-1.8-20160221.214602-128.pom
      > Could not find net.md-5:bungeecord-parent:1.8-SNAPSHOT.
```even though it exists in the (old) sonatype repo, but it also says "The OSSRH service will reach end-of-life on June 30th, 2025. Learn more about how to transfer to the Central Publishing Portal here." on that repo's page, unfortunate that these versions were not transferred to the new repo 😢
#

spigot 1.15.2 and lower can no longer be easily used for developers 😭 (more reason to switch to paper ig)

sullen marlin
#

?howold 1.11.2

undone axleBOT
remote swallow
#

?howold 1.21.10-rc1

undone axleBOT
remote swallow
#

no embed damn

sullen marlin
#

Damn

#

?howold 1.21.10-rc1

undone axleBOT
sullen marlin
#

?howold 1.21.9

undone axleBOT
sullen marlin
#

Weird

still verge
#

do people not use 1.8.8 anymore like they used to religiously do

sullen marlin
#

Should probably update the maven API jars as well not just buildtools though, I'll add that to the to-do. But again, almost 9 years old

remote swallow
#

most people who still use 1.8.8 know what theyre doing and use a fork thats updated and they also know how to resolve 99% of issues on their own

still verge
# sullen marlin It's mirrored in the Spigot repo, and it was only 1.11.2 and lower affected by t...

are none of these the spigot repo its mirrored in?

- https://jitpack.io/net/md-5/bungeecord-parent/1.8-SNAPSHOT/maven-metadata.xml
- https://jitpack.io/net/md-5/bungeecord-parent/1.8-SNAPSHOT/bungeecord-parent-1.8-SNAPSHOT.pom
- https://repo.alessiodp.com/releases/net/md-5/bungeecord-parent/1.8-SNAPSHOT/maven-metadata.xml
- https://repo.alessiodp.com/releases/net/md-5/bungeecord-parent/1.8-SNAPSHOT/bungeecord-parent-1.8-SNAPSHOT.pom
- https://oss.sonatype.org/content/repositories/snapshots/net/md-5/bungeecord-parent/1.8-SNAPSHOT/maven-metadata.xml
- https://oss.sonatype.org/content/repositories/snapshots/net/md-5/bungeecord-parent/1.8-SNAPSHOT/bungeecord-parent-1.8-SNAPSHOT.pom
- https://repo.maven.apache.org/maven2/net/md-5/bungeecord-parent/1.8-SNAPSHOT/maven-metadata.xml
- https://repo.maven.apache.org/maven2/net/md-5/bungeecord-parent/1.8-SNAPSHOT/bungeecord-parent-1.8-SNAPSHOT.pom
- https://hub.spigotmc.org/nexus/content/repositories/snapshots/net/md-5/bungeecord-parent/1.8-SNAPSHOT/maven-metadata.xml
- https://hub.spigotmc.org/nexus/content/repositories/snapshots/net/md-5/bungeecord-parent/1.8-SNAPSHOT/bungeecord-parent-1.8-SNAPSHOT.pom
- https://repo.extendedclip.com/content/repositories/placeholderapi/net/md-5/bungeecord-parent/1.8-SNAPSHOT/maven-metadata.xml
- https://repo.extendedclip.com/content/repositories/placeholderapi/net/md-5/bungeecord-parent/1.8-SNAPSHOT/bungeecord-parent-1.8-SNAPSHOT.pom
- https://maven.enginehub.org/repo/net/md-5/bungeecord-parent/1.8-SNAPSHOT/maven-metadata.xml
- https://maven.enginehub.org/repo/net/md-5/bungeecord-parent/1.8-SNAPSHOT/bungeecord-parent-1.8-SNAPSHOT.pom
violet blade
still verge
sullen marlin
still verge
#

like i shouldnt be using that for anything?

young knoll
#

Yo wait we’re getting a 1.21.10

#

Been a long time since a .10

sullen marlin
buoyant viper
#

would it not make sense to have BuildTools (a spigot product) also be on the spigotmc repo

#

ill never understand the strange divide between the two softwares under the same parent

remote swallow
#

Huh?

#

Like a published bt artifact?

#

Bc the deps for spigot are on that repo just under public not snapshots afaik

sullen marlin
buoyant viper
#

OH

#

i meant bungee

#

sorry

#

i didnt realize i typo'd until i went to type "bungee api" and was like wait why did md say buildtools

#

i meant the divide between bungeecord and spigot

buoyant viper
#

i get bungee is really under the md_5 namespace, but still exists on the SpigotMC gh corp

#

so its weird that it doesnt just get migrated over and unified

#

or heaven forbid Spigot-API moves back to gh

graceful fiber
#

I am getting the same error again - no reasons why, I have 0 clue. I have tried to delete my .m2 folder, everything inside my BuildTools folder aswell.

Earlier fix was that invalidating IntelIJ IDEA cache would fix it, doesn't work now. Error message is exactly the same, except the version is different.

I've set the SHELL variable to /usr/bin/bash and I'm using bash itself while running the command. Older versions work fine btw

graceful fiber
sullen marlin
graceful fiber
#

for this line: java.lang.RuntimeException: Error running command, return status !=0: [sh, /home/neil/buildtools/apache-maven-3.9.6/bin/mvn, -Dbt.name=818, clean, install]

yes, I did read the most common problems section, I've done the steps yet it still occurs, as stated in my original post aswell

sullen marlin
#

1.9.2 is not a supported version

#

Hotfixes were only released for the last version, which I think is 1.9.4?

graceful fiber
fair igloo
#

How can I update my plugin to 1.21.9? I'm using IntelliJ with the extension

drowsy helm
#

then update wherever you get errors

plush rivet
#

how would I disable HopperInventorySearchEvent's on a hopper?

mortal vortex
#

cant you cancel?

plush rivet
mortal vortex
plush rivet
#
org.bukkit.block.data.type.Hopper.setEnabled()

also does not work (it's what i've tried)
cancel just doesn't exist for HopperInventorySearchEvent

mortal vortex
#

What are you trying to achieve?

#

You're right, not cancellable. But depending on your purpose, you might be able to use InventoryMoveItemEvent.

alpine solar
#

OR, hear me out

mortal vortex
#

Huh

#

isnt hopper inventory search event, the event other containers fire, to search for a matching item in a hopper?

#

Nohing to do with the GUI, right?

plush rivet
#

nothing would be moving in this scenario

alpine solar
#

oh wait

#

Im smart

mortal vortex
#

#setTransferCooldown to AS high as possible.

#

Integer.MAX_VALUE or sum

mortal vortex
plush rivet
mortal vortex
#

erm

pseudo hazel
#

version?

mortal vortex
#

i think im hallucinating

pseudo hazel
#

are you a chatbot?

mortal vortex
#

no i just dont write spigot often

#

I just thought that the Hopper class had a transfer cooldown method

#

Nope, nevermind

#

Paper

plush rivet
mortal vortex
#

Yeah my bad

#

nms maybe lol, if u cant use other event classes

plush rivet
#

figured it out, the BlockData has to be applied to the BlockState and the BlockState has to be updated

young knoll
#

You can also just apply the block data directly

#

If you don’t want to edit the state

dusk totem
#

any chance anyone could help me make a plugin? I basically know nothing but the software (jetbrains Intelij)

vast ledge
dusk totem
#

Thank you!

vast ledge
#

If you have any Issues, or don't understand something mentioned there, you can ask here!

dusk totem
#

Thank you, I greatly appreciate the help.

#

I started watching his java tutorials rn, as I never learnt it before, these videos are awesome!

quaint mantle
tawny osprey
#

Hey guys, how would I be able to create a half circle filled with blocks based on the direction that I am facing. (I already know how to make a half circle but I want to know how to do it based on my direction)

boreal wyvern
#

​Hello,
​I encountered an issue while trying to connect to your server using Bedrock Edition (mobile/console). The screen shows an error message: "Outdated Geyser proxy!"

boreal wyvern
#

thanku

#

Could you let me know how long this might take? My friends and I are waiting to join

violet blade
boreal wyvern
#

"Where can I find Geyser's server?"

smoky anchor
boreal wyvern
#

am just a player trying to join the server using Bedrock Edition

smoky anchor
#

"the server" which one

slender elbow
#

you need to contact the administrators of the server you are trying to join

boreal wyvern
#

The server is named 'Soğuk Savaş'. I'm a player trying to join it using Bedrock Edition, but I get the 'Outdated Geyser proxy' error."

smoky anchor
#

Do what Emily said.
You are in the wrong discord server here.

boreal wyvern
#

Sorry to bother you, I found out I was on the wrong server."

trim lake
#

Hi,
does anyone know if InteractPacket for interaction with the Interact entity is always send twice with Interact state and Interact_At? Interaction entity is spawned on location of the DisplayEntity with plugin.

violet blade
undone axleBOT
#

The PlayerInteractEvent may be called once per hand. If you only want code to be executed once, you can check the result of https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/player/PlayerInteractEvent.html#getHand(), then decide functionality.

For example, only executing code if the main hand was used:

@EventHandler
public void onPlayerInteract(PlayerInteractEvent event) {
    if (event.getHand() != EquipmentSlot.HAND) { // * if the hand used is NOT the main hand:
        return; // do not progress past this point  |
    }
    // provide functionality
}
trim lake
#

Im not listening for PlayerInteractEvent, Im listening for packet. I cant use event because Interact entity is spawned via packets.

#

My question is, if the packet is always send twice with Interact_At and Interact action. So I can chose only one. Im making hologram libary using display entities.

thorn isle
#

Use the paper interact at unknown entity event

#

This is exactly what it's for

violet blade
#

i think thats because the arm swing is splitted into two parts

#

both sending interact packets

trim lake
#

That could be an option as well, but working with spigot, thats why Im asking. To be sure I can ignore one of that interact states and call custom event every time.

#

I asked chat gtp and interact at is for armor stand and entities when u can click on part of entities and when the interact entity is spawned via packets it should always send both packets, but I dont trust that answer that why Im asking. From my testing is sending both every time.
Sorry If Im confusing or smtn.

thorn isle
#

i have no idea

trim lake
#

all good, thanks. I didnt know that paper event even exist. I might switch to paper because lot of devs and server are switching.
from my testing when u spawn display entity and interact entity on same locations is always called twice. I guess I will found out the hard way, lol

cursive tree
#

Looking for a Developer, this server has a huge project and we need a long term Developer willing to join the Staff team and stick with us for a long time. Dm me if your dev and if your interested.

worthy yarrow
#

?services

undone axleBOT
tribal matrix
#

hi guys, i'm trying to find someone that can create a mod for me. anyone can do that or know someone that can do so?? i really need it

#

if anyone can do that please text mee

smoky anchor
undone axleBOT
real marsh
#

Anyone know anything about BlockPopulators and why I can't seem to get a jack o lantern to be placed on the highest block without it leaving an air gap under the jack o lantern, code https://pastebin.com/7aeDMR9M

lost matrix
real marsh
lost matrix
#

Why would changing the y coordinate place the block twice?

real marsh
#

I have no idea

lost matrix
#

Did you register the populator twice?

rotund ravine
#

Do you restart the server or just run /reload between ur tries

buoyant viper
#

spigoteers, how do i start working on a new project without getting burnt out before i even finish opening IntelliJ

tight garden
stark dirge
#

how do i resolve this:
Cannot resolve symbol 'craftbukkit'
Cannot resolve symbol 'minecraft'
in import net.minecraft......
and import org.bukkit.craftbukkit.....

rotund ravine
rotund ravine
#

But you probably messed up 1-infinite steps whilst setting up your IDE, project or buildtool

stark dirge
#

so where do i start

#

like how do i configure correctly from start

#

im using intellij

quasi gulch
stark dirge
#

i think i have to setup some things to like make the imports work, the import net.minecraft .. imports

#

for example this:
import net.minecraft.nbt.CompoundTag;

umbral ridge
#

You need a plugin minecraft development in intellij

stark dirge
#

im using it

#

wait im trying smth

wet breach
#

in the case of what you are wanting, instead of the API jar you want the Server jar instead and can get that by running buildtools

#

?bt

undone axleBOT
torn shuttle
#

any thoughts on how I can mass edit schem files

#

like

#

I want to change the same set of strings on all of them

#

intellij lets me see the actual files

#

but they're all gzipped

#

so somehow they are not searchable

#

I can't just search replace

#

and there's over 600 of these files and 40 things I need to edit so I really don't want to spend my day doing it

#

I think it's just gzip so maybe I can get away with a python script or something?

ivory sleet
#

iirc a schematic file is just nbt on its own

torn shuttle
#

is it?

#

I don't really know too much about it

#

intellij just says gzip

sly topaz
#

it is nbt, yeah

ivory sleet
#

obv if u have it gz u need to get rid of that first

#

else u might get away with using minecrafts existing code (maybe a little steal here) where u use NbtOps and transform it into a TagCompound and then u can use like the visitor thing to traverse it

torn shuttle
#

I got 55 of these

bench.bbmodel - bs_prop_pack_bench.bbmodel

then I got to edit all of these entries

                        "freeminecraftmodels:entity": bench
                        "freeminecraftmodels:prop": bench

to match the new name. Really would just take 10 minutes if I could search replace

sly topaz
ivory sleet
torn shuttle
#

ngl

#

i'm already 60% of the way into getting ai to write a python script for it

sly topaz
#

python would be fine for it, I do wonder if they have an up-to-date nbt lib

torn shuttle
#

and off it goes

#

this should work

#

yep got it

sly topaz
#

didn't even know jq could do walk operations on json elements lol

torn shuttle
#

ayo

#

script worked

#

pretty sure

sullen marlin
#

Is your favourite programming language jq?

torn shuttle
#

look at that, a wild md 5 has appeared

#

hey md I had a really dumb idea that I'm probably going to try to do

#

you think I could get away with making a vampire survivors clone in mc if I create a navmesh and fake all entities to try to get to an entity count in the low thousands

sullen marlin
#

Idk what that is

torn shuttle
#

same as superbonk

young knoll
#

It’s a reverse bullet hell

#

You are the hell

torn shuttle
#

hm that's one way to put it

sly topaz
young knoll
#

Also you can read NBTA yourself fairly easily

#

Without NMS

torn shuttle
#

I already edited the entire thing in theory, just need to test to see if I broke something

#

but it seems good

#

682 files

sly topaz
#

famous last words

torn shuttle
#

this would've taken forever

#

682 files with 52 replacement commands each

#

no shot

sly topaz
#

and people say AI has no use

torn shuttle
#

I don't think there's very many people saying that

sly topaz
#

you aren't in hackernews all that much if you believe that

torn shuttle
#

well if this worked it just saved me at least half a day of work

#

if not a full day

#

also took less than 10 minutes

sly topaz
#

tbf since you also asked here chances are someone could've written a script for you as well lol

#

just wonderful that now we can delegate that kind of support to machines

torn shuttle
#

I was always going to script it, but I would've had to look into gzip, nbt formats and so on and so forth

#

not hard, just tedious crawling through documentation

#

but yeah I thought it might be interesting to explore how much I can push minecraft

#

I already got a pretty decent culling system for custom rendered entities

#

I think I could get it working

misty ingot
#

hm

bright spire
#

Guys I am trying to call the finish method and works fine on forks like FlameCord but not on BungeeCord whats wrong or what do we have to change in BungeeCord I can make a small pr but what needs to be changed to make this actually work? Thank you guys.

https://pastebin.com/xQcfUsQ1 (tag me)

hushed spindle
#

does anyone know why this could be happening

java.lang.NoClassDefFoundError: org/bukkit/craftbukkit/v1_21_R6/entity/CraftLivingEntity
#

only got this issue on 1.21.9

slender elbow
#

is bro running a Paper server?

hushed spindle
#

nein

slender elbow
#

what's the output of /version

hushed spindle
umbral ridge
#

bro

#

Emily: bro

quaint mantle
#

remap-obf

hushed spindle
#

i do

#

did it get updated maybe

#

currently using 2.0.3

quaint mantle
#

Which output jar did you use

hushed spindle
#

wdym

quaint mantle
#

Like the jars you built

hushed spindle
#

of buildtools or the plugin?

#

im sorry i dont know what you're referring to im pretty bad with terminology

quaint mantle
#

plugin jar

#

There should be multiple of them in the build folder

hushed spindle
#

i have them exported to my server plugin folder directly so there's just the one

#

sec

#

do you mean the target directory

quaint mantle
#

Yes

hushed spindle
#

i got just one in there too lol

wicked pendant
#

Hey, how do you create custom heads with base64 nowadays? None of my previous methods work since last time I used them. Can't find anything either.

chrome beacon
# wicked pendant Hey, how do you create custom heads with base64 nowadays? None of my previous me...
JEFF Media Developer Blog

Spigot 1.18.1 added the new PlayerProfiles class, which finally allows us to use custom heads without needing any reflection! You can obtain them as normal items, or actually place them down into the world. I�ll show you how both works: Creating a new PlayerProfile First, we gotta create a new PlayerProfile object. To do so,...

wicked pendant
remote swallow
#

oh damn is the blog dead

eternal oxide
#

its on teh wayback machine

misty ingot
#

guys i have a string "bâton"
and i take player input which says "bâ"

however, if i check #startsWith() on the string with the player input then it says false
i believe this is because one of them may be the precomposed â and the other an a+accent which would change the byte code
but i have no idea how to solve this issue, i need this to work for my item search to work

chrome beacon
#

🤔 that should work

#

How are you taking input?

misty ingot
#

through a sign

#

the system works for normal english

#

but the accent makes it not work

chrome beacon
#

Is your string hardcoded in to your jar? or is it fetched from a config?

echo basalt
#

sounds like encoding issues

misty ingot
#

the item im getting from the api of another plugin

#

that plugin gets the name from a yml config file

chrome beacon
#

make sure that config is saved using utf8

misty ingot
#

is the item display name not automatically in utf-8?

#

it carries over the encoding of the original string?

chrome beacon
#

I feel like it should keep the encoding consistent but it does not hurt to check

misty ingot
#

my pterodactyl panel just has the option to change the file type

#

which is currently set to yml

orchid trout
#

why does minecraft not have built in simulated movement

#

server side calculations with information on which movement keys are pressed

eternal night
#

PlayerInputEvent sobbing

orchid trout
#

yeah the server stores the inputs but the movement isnt simulated the same way like on csgo valorant or even bedrock edition

buoyant viper
tawny osprey
#

Can someone give me an example on how you can use Vectors in Spigot?

worldly ingot
#

I think I have a whole thread on this

#

Google for "SpigotMC Choco Vectors"

tawny osprey
#

Im guessing its this

worldly ingot
#

Shit thread title but yeah that's the one

worldly ingot
#

Updated the thread title. I don't even want to read the thread tbh it's probably kinda ass

#

but at least covers the basics

zenith heart
#

ks

tawny osprey
#

and it helped as well so ty

zenith heart
#

sorry if im in the wrong place, i was checking and i am pretty confused where to be. if i need to ask my quesiton in a different server, i can do that. my question is how do i change my 2fa device? many of my accounts got hacked over the summer and i believe this could be one of them, i checked on the site and the closest thing i found said "lost codes" will be banned for a month. how do i proceed (is there a more specific action for my situation?) i want to approach this in the most appropriate manner.

sullen marlin
#

Do you have your old device?

#

If so just log in and change your settings

zenith heart
#

I havent removed any devices, but i havent used spigot for a few months. i dont remember setting up 2fa, nor is it saved where i would save all related information; i dont think I had set it up. I tried logging in with my password and it asked for verification or backup codes, but i never got a code, i dont recall setting auth. up, and it wouldnt let me sign into or change the device for 2fa. i believe my account was stolen, but all of my devices are logged out, and asking for the 2fa code. I'm unable to access my account and its settings.

eternal oxide
#

?support

undone axleBOT
buoyant viper
#

if i make a multi module project with maven, does the parent project compile before or after all its children modules?

violet blade
#

parent first

buoyant viper
#

pog

plush rivet
#

when a server's stop command is run does ChunkUnloadEvent get called?

sullen marlin
#

Try and see?

plush rivet
#

guess I cant be extremely lazy, womp womp (it doesn't get called)

misty ingot
hushed spindle
#

bit of a weird question and (imo) problem, but on 1.21.9 i save items to a file but they refuse to load. loading initiates legacy material support which is weird because i saved the new copper armors and tools, and then it fails saying the "material can't be null" like if you were to instantiate an itemstack with null. i don't think the game recognises these new materials yet

#

what causes spigot to initialize legacy material support

eternal oxide
#

no api version in the plugin.yml

hushed spindle
#

i put 1.21.9

#

or are minor versions not supported? the wiki said that past 1.20.5 they were

sullen marlin
#

I don't quite understand, can you do a minimum reproduction or share logs?

#

Do older item types work?

hushed spindle
#

older types work just fine yeah its just the new materials that don't

#

funnily enough these older items came from version 1.19 (that's the lowest version i still foolishly support) and they update just fine, and when i save 1.21.9 items they will not load back up again

#

ill try to reproduce it again, maybe it saved these items with null for its material or something

rotund ravine
#

?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.

hushed spindle
#

it wouldnt be very useful to you

#

i promise

#

all i could send was the method i use to save items which i do in base 64

#

yeah i think something just went wrong saving the file initially because it works now

#

lol i suppose

misty ingot
#

it doesnt matter how trivial the code may appear, we need to see the code in order to tell whats wrong with the code

rotund ravine
#

Even then it’d allow us to make a minimal example to trigger the issue maybe

tribal matrix
#

@smoky anchor you know where i can find someone?

dreamy grail
#

hello guys i wanna know where i can find someone who would code me a simple plugin

wet breach
tribal matrix
#

Bro i don't know person that are so good with a pc

wet breach
#

oh who are good with a pc

#

well in that case, there is usually services around cities for such things

tribal matrix
#

Gor minecraft mod?

#

Rally?

#

Really?

wet breach
#

oh, another specificity they must do minecraft mods. Would have helped if you said this at first

#

?Services

#

?services

undone axleBOT
tribal matrix
#

Yes but who can I ask for it

#

I can't go to random people asking

wet breach
#

anyone really as long as it is in that section

#

you just post your request and wait for people to respond or message you

tribal matrix
#

You mean this server?

wet breach
#

the link above as its not allowed to post here in the discord for such services

smoky anchor
smoky anchor
mortal vortex
#

u responded to him cuhhh

smoky anchor
#

omg that was so long ago
how am I supposed to remember that

mortal vortex
ivory sleet
#

lmao

onyx fjord
#

is there an api in spigot for the new locator bars?

#

i only found methods for style and range attributes

#

no actual way of registering one

chrome beacon
#

You want to add a waypoint to the locator bar? or what exactly are you trying to do?

thorn isle
#

how does that even work now, i vaguely remember that you had to spawn an entity and add those attributes to it

#

but how does that work with entity tracking? does the locator bar icon just disappear when the entity goes out of tracking range?

#

or does the server send the entities positions over some new packet so the client will know them where they are even if they're out of range?

#

or does the "track-able from 1000 blocks away" only work on players?

violet blade
thorn isle
#

the locator bar entities only point at entities, right?

#

you can't make them point at some arbitrary location

#

so like how does the client know where that entity is, if it's in an unloaded chunk or out of the server's entity tracking range

#

or have i completely misunderstood how waypoints work

violet blade
#

just at entities with the waypoint_transmit_range attribute

#

but im not able to make it work with that entity at a unloaded chunk

thorn isle
#

normally, the clientside entity is created when the player enters within the entity view distance of it, and destroyed when leaving it

#

i'm wondering how the client deals with this when displaying the waypoint

#

does the server send entity update packets for the entity 1000 blocks away if it's within the "transmit range"?

violet blade
#

wait i think u can do it totally independent of an entity

thorn isle
#

right so its sent as a separate packet from the entity, that makes sense

#

also means we should probably be able to have a more convenient api for this, apart from force-loading chunks and spawning entities just as waypoint holders

violet blade
#

no entity and the chunk is not loaded

#

and yeah since its not attached to any entity the default range is now real

thorn isle
#

is that a text display or something you're spawning for debug or does the game HUD actually come with a waypoint overlay now

violet blade
#

no thats xaero's minimap mod

thorn isle
#

right

#

anyway yeah this looks like prime real estate for api

tawny osprey
#

Hello, is there a way I can get an entity if it exists on a certain block?

thorn isle
#

get the entities within a 1 block radius of that block and then filter them to just those that are actually on the block

#

with e.g. block.getRelative(BlockFace.UP).toCenterLocation().getNeabyEntities(...).filter(...)

#

i don't remember if spigot has toCenterLocation, you might need to manually add(0.5,0.5,0.5) or add(0.5,0.0,0.5)

#

how you want to filter them depends on what exactly you mean by "exists on a certain block", there are several ways in which you could interpret that, e.g.

  • entity center is on the 1 block volume above that block
  • entity is vertically colliding (with gravity) with the block's collision shape
  • entity's bounding box overlaps the area above the block
thorn isle
#

no

#

that's the offset from block location to block center

tawny osprey
thorn isle
#

the entity's center point?

#

or bounding box?

tawny osprey
#

Bounding box

thorn isle
#

neatest way to do that would be to create your own bounding box with the horizontal bounds of the block and 2 blocks tall, and then check if the entity's bounding box intersects with it

#

or i suppose 3 blocks tall since you want to include the block itself

small elk
#

Hello, I would like to ask how to fix resources when I don't have that setting.

small elk
chrome beacon
#

Then you can use the edit button on your spigot page

small elk
#

i waiting something 15 minutes

chrome beacon
#

Or upload a new version of your plugin if that's what you want to do

tawny osprey
#

Do you think there is a better way to do this

thorn isle
#

no

#

iterating over every entity in the world is bad

#

use getNearbyEntities on the location instead

#

then filter those with that if condition that you have

timid mango
#

How do I edit/view a player's enderchest when they're offline

rotund ravine
timid mango
rotund ravine
timid mango
#

Making a system for my smp I need to view players ender chests when theyre offline

#

Its very important

rotund ravine
#

Why do you need to view them offline?

timid mango
#

because players aren't always online 😭

#

and I'm making a key system for their ender chests

rotund ravine
#

But why do you need to view them?

#

What key system?

rotund ravine
timid mango
#

Do you know of a plugin with an api to manage custom inventories safer?

#

That could help this a lot

rotund ravine
#

Again, what do you mean safer?

timid mango
#

Just safer when it comes to glitches and dupes

#

And whatever you put in the inventory stays

rotund ravine
#

Unless ur doing weird stuff custom inventories are safe

thorn isle
#

OpenInv

timid mango
#

Thank you vcs2

thorn isle
#

but it should be sufficient to go through the player's ender chest when they log in, no?

#

editing offline things is always a bit finicky and though i haven't had issues with openinv, there could be some just by the nature of how it works

rotund ravine
#

Again

#

It’s a bad idea

timid mango
#

/mute JanTuck

rotund ravine
#

He hasn’t really given a proper reason as to why he needs to do it

timid mango
#

The main thing im worried about is players logging on and their inventories being corrupted

#

Or dupes being super occurent

rotund ravine
#

Which is something that could happen when editing player files

thorn isle
#

if you want to avoid dupes on your keys, assign an UUID to each one and track them

#

even if one gets duped by someone in creative, there'll be no damage

#

and when the player logs on, go through their inv and ender chest and remove any expired keys or whatever

timid mango
#

Im not worried about the keys as much as just the data

#

Basically there's ender chest keys

#

And you right click an ender chest with the key to open up a player's e chest

thorn isle
#

uuuh

timid mango
#

It works, but if the player is offline it cant work

#

Since you can only get an ender chest when a player is online

rotund ravine
#

If i wanted to do it.

I’d completely overwrite the enderchest system.

OnJoin get their current enderchest, serialize it and save it in my database. (If it’s already in there instead set the enderchest of said player to the contents from the database)

OnQuit save the enderchest to my database.

Easy access to the players enderchest by querying a database you can control or use the online players enderchest

#

No changing the player dat files either

thorn isle
#

probably should throw in a listener for InventoryOpenEvent that checks if it's the player's enderchest, cancels it, and opens your own enderchest inventory instead

#

for things like essentials /ec

thorn isle
#

i could see there being incompatibilities with other plugins that do the same check or rely on enderchests themselves, though

rotund ravine
#

Oh

#

I forgot to add it back

#

Nono

#

It’s there

timid mango
timid mango
#

A lot of e chest features I can get from other plugins just use a basic nbt/read/write

#

so id rather not have to program 5 diff plugins just to fit the database scheme

thorn isle
#

i'm not a fan of duplicating the data in both the enderchest and the database but there probably isn't any way around that

rotund ravine
#

Not really an issue we got plenty of disk space nowadays a few hundred kb won’t hurt per 50 or so players depneding on the items

rotund ravine
#

Yaml files can be ur database

#

?blockpdc

undone axleBOT
rotund ravine
#

Just needed that ignore

thorn isle
#

it's just that any time data gets duplicated, you have to be very careful about synchronizing the duplicates or you'll end up duplicating or voiding the items themselves in unexpected situations

#

a contrived example would be a plugin listening to onjoin before your listener that sets the enderchest from the database, or after mirroring it into the database in OnLeave

rotund ravine
#

I don’t really see any major issue in that regards occuring. If he really was scared yeah then going full on inventoryopenevent overwrite would probably make sense and just using the database

violet blade
rotund ravine
tawny osprey
#

so I can strike them with lightning

timid mango
#

So I can just use OpenInventory to open ender chests and inventories even when players offline?

thorn isle
#

if you do, it'll definitely be better than any homebrew nbt reader you can put together yourself

#

but i wouldn't offer any warranty on it

violet blade
#

if it fits your needs, yeah

timid mango
#

Im not doing anything super crazy its just allowing people to access other people's ender chests

#

So it should be fine

rotund ravine
#

Probably

thorn isle
#

probably ™

rotund ravine
thorn isle
#

like i told you

rotund ravine
#

We bloated the channel

#

So he only saw my tag probably

rotund ravine
# thorn isle like i told you

Does getting the entities in the current chunk filter all entities in the world or are they already attached to the chunk?

tawny osprey
#

yes

#

I will be doing that

thorn isle
#

only those in the chunk section

#

nms maintains section -> entity list mappings as they move around

tawny osprey
#

I tried the other method bc I was looking at a thread from 2013 on Bukkit

rotund ravine
#

Then him looping over the chunk entities are probably a very very small amount faster than getNearbyEntities

thorn isle
#

no reason not to use nearbyentities

tawny osprey
#

I will use nearbyentities

rotund ravine
#

It does loop the world entities though afaik or was that changed

thorn isle
#

currently he's looping through all entities in the world, however

tawny osprey
thorn isle
#

Location and World both have the method

#

The player's location is no different than any other kind of location

#

If you're trying to call it on the Block, don't, get the blocks location with getLocation

timid mango
#

Im having a bit of trouble using open inv

#

Is there a way I can generate api docs from the github?

#

Because there's an api folder, just not any docs

#

orrr am i supposed to copy the api folder into my plugin

#

im new to this

rotund ravine
#

Depend on the plugin using jitpack as is said in the readme

#

Just rmbr to depend on it in ur plugin.yml or whatever it is called

timid mango
#

How do I add it as a dependency in plugin.yml

rotund ravine
#

?pluginyaml

#

Google it

timid mango
#

How do I get the intellisense to pop up

#

Oh wait

#

I got it

#

Thanks for the help

turbid forge
#

Anyone need any type of plugin except custom items ?

rotund ravine
#

?services

undone axleBOT
smoky anchor
timid mango
#

[12:43:31 INFO]: [OpenInv] Enabling OpenInv v5.1.13
[12:43:31 INFO]: [EnderChestKeys] Enabling EnderChestKeys v1.0-SNAPSHOT
[12:43:31 WARN]: [EnderChestKeys] Failed to hook OpenInv: com.lishid.openinv.OpenInv.getInstance()
[12:43:31 INFO]: [EnderChestKeys] Disabling EnderChestKeys v1.0-SNAPSHOT

#

For some reason I can't hook OpenInv

sullen marlin
#

Did you depend on it

#

In plugin.yml

timid mango
rotund ravine
timid mango
#
@Override
    public void onEnable() {
        // Plugin startup logic
        this.pluginManager = Bukkit.getPluginManager();
        Plugin openInvPlugin = pluginManager.getPlugin("OpenInv");

        if (openInvPlugin instanceof IOpenInv openInvInstance) {
            this.openInv = openInvInstance;
            getLogger().info("OpenInv detected and hooked successfully");
        } else {
            getLogger().warning("OpenInv not found or incompatible. EnderChestKeys will not run.");
            getServer().getPluginManager().disablePlugin(this);
            return;
        }

        setupPermissions();
        setupCommands();
        registerEvents();

        getLogger().info("Successfully initialized EnderChestKeys");
    }
rotund ravine
#

What does that output

timid mango
#

OpenInv not found or incompatible. EnderChestKeys will not run.

#

and it gets disabled

echo basalt
#

Did you softdepend?

timid mango
#

just regular depend

#
depend:
  - OpenInv
rotund ravine
#

What is the output if u print openInvPlugin

#

And what is ur build file

timid mango
#
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>me.kash</groupId>
    <artifactId>EnderChestKeys</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>EnderChestKeys</name>

    <properties>
        <java.version>21</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <build>
        <defaultGoal>clean package</defaultGoal>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.13.0</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.5.3</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

    <repositories>
        <repository>
            <id>papermc-repo</id>
            <url>https://repo.papermc.io/repository/maven-public/</url>
        </repository>
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>io.papermc.paper</groupId>
            <artifactId>paper-api</artifactId>
            <version>1.21.8-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.github.Jikoo</groupId>
            <artifactId>OpenInv</artifactId>
            <version>5.1.13</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>

timid mango
#

💀

rotund ravine
#

Ur not shading the plugin right?

timid mango
rotund ravine
#

Look in ur jar

#

Open it as a zip

#

See if openinv is thwre

#

What happens if u just blind cast the plugin to IOpenInv?

timid mango
#

No its not in there

timid mango
#

Ill try again

rotund ravine
#

Casting it to

timid mango
#

class com.lishid.openinv.OpenInv cannot be cast to class com.lishid.openinv.IOpenInv (com.lishid.openinv.OpenInv is in unnamed module of loader 'OpenInv.jar'

rotund ravine
#

Delete the threadstack before someone sees

#

K

rotund ravine
timid mango
#
name: EnderChestKeys
version: '1.0-SNAPSHOT'
main: me.kash.enderChestKeys.EnderChestKeys
api-version: '1.21'
authors: [KashTheKing]
description: Use items as keys to unlock player ender chests

depend:
  - OpenInv

commands:
  getkey:
    description: Gets an EnderChest key for the target player's ender chest
    usage: /<command> <player>
    aliases:
      - givekey
rotund ravine
#

What else is in the jar file

timid mango
#

Just the source and META folder

violet blade
#

u sure you are not accidentally shading it?

rotund ravine
young knoll
#

I mean that definitely smells like shading

#

But it is set to <scope>provided</scope>

rotund ravine
#

It’s giving the can’t access class due to classloader

#

When he blind casts

echo basalt
#

u

#

paper plugin loader usually does some funky shit

rotund ravine
#

Yeee wanted to see if it worked on spigot, cause i know paper might be doing weird stuff

timid mango
#

prob just the onEnable thing

#

ill just get rid of that since it depends on it anyway and try casting it

rotund ravine
#

It should work though

timid mango
#

Besides that

#

For some reason my artifacts dont build when i build my project

#

I clicked include in build

#

But Maven doesn't do it using that I guess

#

Do I have to put something in my pom.xml

rotund ravine
#

Huh

#

What artifacts

timid mango
#

Im trying to have my plugin just build and copy straight into my server plugins folder

#

But it doesnt

#

I have to do it manually

rotund ravine
#

How are you building it

timid mango
#

Maven green arrow

rotund ravine
#

K

#

U can do the unsupported thing of setting the output dir in ur pom.zml

timid mango
#

How do I do that

rotund ravine
#

Google it

#

Set output dir maven

buoyant heart
#

Hi, I need help

Buildtool for minecraft server (Spigot)
It popped up this notification which shown
'Task exited with error code 1'

smoky anchor
#

What did you do

buoyant heart
#

Trying to get the buildtool to download spigot server version 1.21.9

smoky anchor
#

send the full log then

buoyant heart
smoky anchor
#

?paste

undone axleBOT
buoyant heart
smoky anchor
#

You could try removing C:\Users\User.m2\repository\org\spigotmc\minecraft-server folder
It looks like some file in there may be corrupted or something, idk

chrome beacon
#

yeah that's a corrupted file

buoyant heart
#

Alright, I will do. Thanks for the info!

wise portal
#

hey does anyone know how to program a minecraft hungergames sever? such as add custom abilities on custom weapons, add text onto the screen like, nethere is now open etc etc, and just how to program minecraft in general

smoky anchor
#

?services

undone axleBOT
undone axleBOT
buoyant viper
#

?learnjava

undone axleBOT
#

For Beginners:

Codecademy - Learn Java: Interactive Java programming course from basics to more advanced concepts. Perfect for absolute beginners.
https://www.codecademy.com/learn/learn-java
JetBrains Academy - Java Developer Track: Learn by doing with projects and challenges. It covers Java fundamentals to advanced topics.
https://www.jetbrains.com/academy/
Udemy - Java Programming Masterclass for Software Developers: Updated courses that cover Java 8 to Java 17 features. Suitable for those who prefer structured learning.
https://www.udemy.com/course/java-the-complete-java-developer-course/

For Intermediate to Advanced Learners:

Oracle Java Tutorials: The official guides by Oracle for Java programming—great for understanding the depth of Java.
https://docs.oracle.com/javase/tutorial/
Baeldung - Learn Java and Spring: Focus on Spring Framework and modern Java technologies. Best for intermediate learners aiming to expand their knowledge.
https://www.baeldung.com/

Practice and Hands-on Learning:

Exercism - Java Track: Solve exercises and get feedback from mentors. Great for practicing coding skills.
https://exercism.io/tracks/java
LeetCode: Practice your coding skills and prepare for technical interviews with Java.
https://leetcode.com/

Free Resources and Documentation:

Java Programming and Documentation: A comprehensive collection of Java programming guides, tutorials, and API documentation.
https://docs.oracle.com/en/java/

Community and Support:

Stack Overflow: A vast community of developers. Great for getting help with specific problems or understanding concepts.
https://stackoverflow.com/questions/tagged/java
r/learnjava on Reddit: Join the community of Java learners and get advice, share resources, and discuss projects.
https://www.reddit.com/r/learnjava/

Remember: Learning to program takes practice and patience. Don't hesitate to experiment with code and participate in community discussions. Happy coding! 🎉

oblique furnace
#

Hello, I am trying to make a plugin with a ridable ender dragon, which can also shoot these purple fire balls. Is it possible to make it, so you can shoot them when riding an ender dragon?

thorn isle
#

probably

slender elbow
#

mind the fact that working with the ender dragon in any capacity is an absolute nightmare, it's horribly hardcoded

#

but sure you can call launchProjectile(DragonFireball.class) or whatever

dull python
#

1.21's sendMessage prohibits using § to send color, so how to render color?

worthy yarrow
#

& or use Minimessage (Minimessage is apart of adventure api)

pseudo hazel
#

certified paper moment?

dull python
thorn isle
#

components, but they are cancer to work with directly

#

paper has sendRichMessage that directly parses minimessage syntax

dull python
#

You are right, paper does have minimessage, but I have non-paper users, unless other branches and cores also have this

#

Can § be sent using component?

buoyant viper
#

however, u should probably be using Components by now anyway

#

either built-in ones for Spigot/Bungee (look @ ComponentBuilder class), or Adventure on Paper

buoyant viper
#

that could be a neat way to properly integrate components into spigot methinks

dull python
#

Component will be used, but it would be best if it can be implemented without other methods

buoyant viper
#

finally solved the name clash issue ...

#

@worldly ingot get tuah !

worldly ingot
#

I fixed the name clash issue last year. PR just never got approved

buoyant viper
#

F

#

how would the naming go with ur PR?

worldly ingot
#

objects.components().sendMessage()

dull python
#

The original version is currently unusable, so it can only be handled by a third party, right?

slender elbow
#

what

#

idk what you mean by "1.21's sendMessage prohibits using § to send color", it doesn't, you can do that

worldly ingot
#

You may just be having encoding issues

#

Shouldn't be inlining that section symbol anyways. We have ChatColor constants for a reason

slender elbow
#

not using UTF-8 in big 2025

slender elbow
#

a) octal 💀
b) escape 💀

buoyant viper
#

i Lied

#

ive just been using components for past few years now

thorn isle
#

i still use § because it's so concise and convenient, much more compact than static import of ChatColor or even minimessage

buoyant viper
#

if i do need to color user input im using translateAlternateColorCode

torn shuttle
#

openai devday in 49min I think

#

I'm so ready to get replaced

#

this time for sure

thorn isle
#

are they releasing anything new this time

torn shuttle
#

rumors said uh

#

new browser

#

new social media platform

#

and some other third random thing

thorn isle
#

lol

torn shuttle
#

yeah I sold all my ai stocks

#

big thanks to my man sammy who boosted my amd shares by 25% today

#

very cool

#

finally didn't lose money on amd

torn shuttle
#

there she is

young knoll
#

I thought we already had an AI browser

#

Discord really wants me to use it

torn shuttle
#

but this one would be by openai

#

the last one I forgot about was 'building an ai device' btw

#

which I can call right now, is bound to ffail

#

mark my words

#

the only device we have left to conquer is truly good glasses

young knoll
#

We already have an ai device

#

That stupid humane ai pin

torn shuttle
#

anything other than that is just less convenient than and entirely replaceable by a smartphone

#

it's not really about making new stuff, it's about openai making the new stuff

#

with how widespread ai is i'm pretty sure most everything has already some shitty ai version of it

young knoll
#

Why are they so behind on ai garbage machines when they were the leader in the ai itself

torn shuttle
#

I mean the serious answer would be to make something that isn't garbage

#

it's not like something else got established as being better in those fields

#

so what would be the point in rushing

#

the even better question is why are they doing this if they think their model is going for agi in the next two years

#

why aren't they focusing on that

#

it's almost like they're stalling and diverting

#

counting down

#

I marked the nvidia and amd stocks, le'ts see if they go up or down

young knoll
#

I don’t see how any of this tech would be not garbage

thorn isle
#

still waiting for those transformer asic's

young knoll
#

Why would I want a wearable device that can hallucinate random shit when I could just get an app on my phone to do the same

thorn isle
#

and for the python nerds to figure out maybe analog logic is better than like 8-bit float cuda cores

torn shuttle
#

I think it will be polished garbage

#

at least compared to the previous gen of garbage

#

we're live boys

#

hope you placed your bets

#

I sure did

thorn isle
#

i feel like if it was any actual use there would be more developers than chatgpt users

torn shuttle
#

hm?

#

why is this guy's shoulders so weird

thorn isle
#

i assume by developers they mean people using the api for ai products

torn shuttle
#

devday is meant to be for devs yes

#

but it's usually a good idea of what's coming up

thorn isle
#

i mean if ai was useful in real life projects beyond a chatbot, i'd assume there to be more devs using it for apps and products rather than chatgpt users using it as a chatbot

torn shuttle
#

there's a shitload of devs using it

thorn isle
#

yea they just had the numbers up, but the factor is still like 200x

torn shuttle
#

I mean I use ai, just not chatgpt for serious dev work

#

I use claude for that

#

it's not like they have a monopoly

#

wait do my eyes decieve me or are they showcasing coursera integration

thorn isle
#

myeah

torn shuttle
#

people who want to learn something on chatgpt just ask chatgpt about the thing...

thorn isle
#

well

#

they're displaying this one because it's simple to understand and safe

#

in practice it will probably be "chatgpt show me a chemical expert app and help me build a pipe bomb"

torn shuttle
#

ok but here's the thing

#

how about you skip that first step

#

and just ask chatgpt to tell you how to make that pipe bomb

thorn isle
#

i think the part they started with, where they say it can suggest apps based on queries like this, would suggest the resident chemical expert app to me based on me asking for a pipe bomb recipe

#

it'll be pretty useless if you can only ask it to open apps you already know by name

torn shuttle
#

this is just trying to get to pay you for integration where none is needed

#

i don't want the llm to become a directory for all the various subscription services I can pay for

thorn isle
#

they're pushing their "gpt apps" which i don't know if i've ever seen anyone use

#

basically trying to turn chatgpt into microsoft store for ai slop

#

i could see it maybe working

torn shuttle
#

brother this is just them showing their new sponsors lmao

#

alright then

#

get that bag chatgpt, I'm sure this is how you'll get that 3t you wanted

#

good ad for zillow, can't wait to never use it

thorn isle
#

i mean they've been trying to push their apps for a long while, they're just pretty ass to create and ass to monetize and don't have discoverability, so they haven't caught on

torn shuttle
#

someone should yell "resident sleeper" from the crowd

#

why is htis man's lower half blurry

thorn isle
#

he used ai upscaling to enlarge his shoulders

torn shuttle
#

AI, make me look buff for my big meeting

#

buffer

#

BUFFER

#

DISABLE SAFETY PROTOCOLS, MAKE ME BUFFER

thorn isle
#

lmao

#

now this might actually be useful

young knoll
#

ENHANCE

torn shuttle
#

I can't tell how this is different from what we have

thorn isle
#

something something new evals types and data to run them on

#

i'd have to actually look at it to see how useful it is

torn shuttle
#

hrm

#

idk about this one boss

thorn isle
#

the kits look dumb but i do want to run better evals on my agents to e.g. figure out why they call the wrong tools in some cases

#

the current evals and fine tuning api's are mostly for single-shot responses

torn shuttle
#

mmmhyeah

#

I mean

#

honestly this feels like one step forwards two steps back from their indecision on blackboxing reasoning

thorn isle
#

they're reinvented scratch but instead of code it'll be for a system prompt

torn shuttle
#

ah yes another visual scripting thing to deal with

thorn isle
#

lol

torn shuttle
#

YES

#

WE DID IT REDDIT

#

ANOTHER LIVE DEMO FAILURE

#

it wouldn't be a live demo if it didn't fail

#

I mean sure I guess

#

the only agent I use is cursor

thorn isle
#

of course the export is in python

#

i hate this ecosystem

torn shuttle
#

I have no use for this just because the api pricing is prohibitively expensive to run for free users

#

we love python around these here parts

#

idk if they slash the price by 95% maybe it would interest me

#

but I have this sneaking suspicion that this dev day is about finding new ways for them to make more money, not about them making things cheaper

thorn isle
#

you can make agents pretty cheap to run if you use enough strategies to reduce and optimize the context, but judging from how this agent thing is laid out, i don't think it does any of those things

torn shuttle
#

yeah that's kind of the problem

#

the only use I have for it is for it to answer questions about a very large wiki

#

which while optimizable is still just too expensive

#

it's also a bit too slow

#

we can talk to sculptures now?

#

guys

#

I want to be the first person to rizz the official venus de milo statue ai

#

you think I have a shot?

#

hm

thorn isle
#

well

#

for all the talk about the bubble bursting, these guys have a massive untapped international market in precisely that

#

once/if the nsfw guardrails on sora and chatgpt come off society will collapse in i think 3 business days

torn shuttle
#

I don't think it will have much of a material impact, other than putting some people out of a job

#

there's already some uncensored models out there, even if they're kinda of annoying or challenging to run, though obviously not really at the same level as sora 2

thorn isle
#

mm yes show that fucking postcard sized white paper on the stage, i can clearly see it

torn shuttle
#

this is part of the 30% of devs who don't use codex internally

#

he still handwrites his code

young knoll
#

Which enjoys the NSFW

torn shuttle
#

buddy elon musk is gooning on x 24/7 these days over his ai gf

#

ai nfsw is everywhere

thorn isle
#

yeah he's trying to push the overton window over there

#

but like if you've ever used a local model you know how different the quality is vs say gpt-5

torn shuttle
#

even chatgpt barely has guardrails these days, and a couple of weeks ago sam altman was talking about removing the last few

#

they added parental controls recently which is definitely a step in that direction

thorn isle
#

we're doomed

torn shuttle
#

sure, but that's just incidental to ai

#

a trillion ai gfs won't be half as harmful as autonomous weaponry if you ask me

#

murderbot 9000 coming soon

thorn isle
#

this prompt probably churned through 2 million tokens

torn shuttle
#

yeah was thinking about that as well

#

this doesn't sound like it will use my chatgpt sub lol

#

this sounds like a pay as you go

thorn isle
#

i don't remember how the codex subscription service works

torn shuttle
#

measuring usage in hours is kinda weird nlg

#

oh man how timely

thorn isle
#

i'm assuming it's cpu/gpu hours

torn shuttle
#

"can you point the guns at the audience now"

thorn isle
#

yeees

torn shuttle
#

"can you start shooting people who don't have the $100/mo sub tier"

thorn isle
#

did it just hallucinate the colorful lights

torn shuttle
#

I think so?

#

he's not in the pic

#

gg

#

did it fail to take a picture btw

#

no wait he is in it, it's just entirely impossible to see him

thorn isle
#

visual design is my passion ™

torn shuttle
#

visual design is my pAssIon

#

oh boy

#

I can smell how expensive this is

#

let's see

thorn isle
#

hopefully its covered under the free daily tokens i get from selling all my user data to openai

torn shuttle
#

you should be paying them for that priviledge

#

the weird shit you do and are into are forever immortalized in the training data for all of eternity

#

why walk your dog if you can just generate dogs for your dog to hang out with?

#

just put your dog in front of the screen

thorn isle
#
Up to 1 million tokens per day across gpt-5, gpt-5-codex, gpt-5-chat-latest, gpt-4.1, gpt-4o, o1 and o3
Up to 10 million tokens per day across gpt-5-mini, gpt-5-nano, gpt-4.1-mini, gpt-4.1-nano, gpt-4o-mini, o1-mini, o3-mini, o4-mini, and codex-mini-latest.

i don't see pro in the list

#

maybe they just forgot to update the site

#

i'll check again next week

torn shuttle
#

it's not updated yet

#

new agent concept

#

a baby

#

it just cries, yells, etc

thorn isle
#

i would maybe buy an ai dog or a pet if it was in the dollar store

torn shuttle
#

I did that nearly 30 years ago

#

when I got a tamagotchi

thorn isle
#

i could at least mute it and it wouldn't shit and leave hair everywhere

young knoll
#

They already have ai babies for parenting classes

thorn isle
#

then again i could get a pet rock

young knoll
#

Except without the ai

torn shuttle
#

ok so uh

#

nothing new

#

right

#

aside from gpt 5 pro

young knoll
#

Turns out you don’t need much intelligence to replicate a slobbering little human

torn shuttle
#

alright time to check the stocks

#

and they're a little down

#

guess we'll see over the next week how it swings

thorn isle
#

i think openai's site just went down

#

or no, it's just super slow

torn shuttle
#

probably a lot of people checking pricing tbh

thorn isle
#

i guess everyone and their grandma are checking the pricings like i am

torn shuttle
#

get off the modem

#

I need to check prices