#help-development

1 messages Β· Page 1294 of 1

grand flint
#

u just add negative space to ur fonts

#

then paste the chaaracter with the negative space

white crescent
#

so I will add transparent bg to right of the image?

grand flint
#

no it will add a negative space

#

which will move it backwards

worldly ingot
#

You know how when you hit the space bar, your cursor moves forwards? The reason your words are separated?

#

Imagine that, but the opposite. Instead of moving the text forward, it moves it backwards

#

Hence, negative whitespace

orchid brook
#

anyone have an idear plz ?

echo basalt
#

the only thing that comes close is messing with ascent on custom fonts

pseudo hazel
#

are there any humanentity that arent player?

young knoll
#

No

pseudo hazel
#

-_-

thorn isle
#

at least not without plugins doing some strange "npc" nonsense

pseudo hazel
#

sure

#

those dont count

slow cradle
#

Hii

young knoll
#

Maybe one day Mojang will get quirky

pseudo hazel
#

oh so this is not a spigot concept

thorn isle
#

no, it reflects there being one in nms

#

which is currently also only implemented/extended by nms Player

young knoll
#

Nah there is a ServerPlayer and a LocalPlayer

#

LocalPlayer is only on the client though

thorn isle
#

yeah i don't think that counts

#

but i suppose it explains there being a common superclass in nms

young knoll
#

Technically it’s Player -> AbstractClientPlayer -> LocalPlayer

#

Because idk why not

wet breach
slender elbow
pseudo hazel
#

idk

#

some kinda reason

#

but that came after

#

I guess the naming is a little weird then

young knoll
#

Back in my day we didn’t have Mojang names

#

We had

#

ghb

remote swallow
#

the ItemCombinerScreen

acoustic galleon
#

If a player has an open inventory, how do I add an item to the inventory? I'm using openInventory#setItem(slot, itemStack) but it's not working.

rotund ravine
#

Should work just fine

vital yarrow
#

Hello, I'm trying to figure it out how to make buttons/interact on a Map Frame Image, like the following image. I've been thinking to use Ray Tracing to make it, but I don't know how to make the interaction on the specified button/pixel on the map image.

acoustic galleon
sullen marlin
#

Math, lots of math

young knoll
#

Use interaction entities

#

And just size them to match the buttons

sullen marlin
#

Or that

grand flint
#

bro said maths πŸ™

#

this aint 1.8

#

u can use axiom and place interaction entities just at the right places

winter jungle
#

all my homies use math

#

so you can create a custom 2D screen with a cursor

grim hill
#

Hello im trying to create a drag gui where when i put the block in it should close the gui but idk why it dont detect the block and remain open like this

pure dagger
#

Do you make money by making plugins?

remote swallow
#

does who

grand flint
#

per month

pure dagger
#

I was curious

remote swallow
#

i used to

#

then stopped plugin dev

buoyant viper
#

i used to make plugins

#

then i took an arrow to the hands

remote swallow
#

now i just spend my days writing kotlin for a kmp projeect

pure dagger
#

What does it mean ?

pure dagger
grand flint
young knoll
#

I used to be a developer like you

#

Until I took an arrow to the hand

remote swallow
#

now you just play wow

buoyant viper
pure dagger
#

I mighbt not understand some english things

buoyant viper
#

its a joke from the game Skyrim (or maybe the elder scrolls idk im not a gamer)

young knoll
#

Uhh Skyrim is the elder scrolls

#

You pleb!!11

buoyant viper
#

ive never played either

young knoll
#

It’s not either

#

Smh let me mansplain this

#

The elder scrolls is the series

#

Skyrim is the elder scrolls V

#

Oblivion was the elder scrolls IV

#

Etc

pure dagger
#

idk i didnt

#

play these things

remote swallow
#

elder skyrim scrolls 9?

buoyant viper
remote swallow
#

no i need them

wet breach
winter jungle
#

Can I start Spigot with custom start parameters and receive them via a plugin?

sullen marlin
#

?xy

undone axleBOT
sullen marlin
#

Maybe you want System.getProperty

winter jungle
# sullen marlin ?xy

Well, I mean, for example, java -jar spigot.jar --my-own-parameter /home/some-directory

And I can then read the --my-own-parameter via my plugin

#

But yeah, System#getProperty looks like the stuff i need, thanks!

uneven orbit
#

is net/md_5/bungee/protocol/Property got removed in latest version of bungeecord?

sullen marlin
#

It got moved

#

What are you trying to do?

uneven orbit
#

BungeeGuard. it stopped working. just asked to know actual issue

#

also to where it been moved? i'll try to fix it by myself

sullen marlin
#

/protocol/data

uneven orbit
#

ok, thanks

sullen marlin
uneven orbit
#

i'll try

young knoll
#

Woah bungee is from 1991?

#

That’s older than me!

uneven orbit
#

wait till 1939 πŸ’€

#

oh wait

#

we missed it

hearty sparrow
#

I have been trying to listener to the ClientIntentionPacket and ServerboundSelectKnownPacks And have been trying to setup a packet listener but haven't gotten it to work.
https://paste.learnspigot.com/lodunucolu.typescript
If anyone has a idea why it wouldn't be working i would love to hear :kek:

Coded in Kotlin and transated to Java so things might look a bit weird

LearnSpigot provides a free web-based pastebin service for storing and sharing code snippets with anyone. Powered by hastebin.

sullen marlin
#

?xy

undone axleBOT
hearty sparrow
vast ledge
#

For client name check message channel registrations. For version check the Handshake.Client.SET_PROTOCOL

#

For the version inside the packet use .get integers(0)

hearty sparrow
#

For both we need to listen to the packet

#

and thats what i am trying to do

vast ledge
#

Use protocol lib

hearty sparrow
#

I will not

#

I don't want to use other libaries.

slender elbow
#

well, is the println working?

grand flint
#

dont worry we all learn

#

also when u change ur mind use packetevents its better

sly topaz
grand flint
#

proof

hearty sparrow
grand flint
#

i just like glazing my baby @alpine urchin

hearty sparrow
#

where*

grand flint
#

im just telling u the truth

hearty sparrow
grand flint
#

eveeyone whos experienced here has been in the same place as u

hearty sparrow
grand flint
#

ur just gonna try doing everyrhing without libraries

sly topaz
grand flint
#

and then turn up using libraries for everyrhing

#

thats what they r there for

#

to make ur life easier

#

and faster projects 100%

sly topaz
#

though it is GPL v3 ig, that's annoying

grand flint
#

LMAO im still using websocket 0.8 for one of my js files

hearty sparrow
grand flint
#

the latest version is 8.2 or sum

#

"10 high security vulnerabilities" πŸ€“

sly topaz
grand flint
hearty sparrow
grand flint
#

382mbs πŸ’•

sly topaz
inner mulch
#

im comparing the tick that my animation ran with the current to determine if it should run again, if the server lags, the ticks slow down should i use timestamps so that the animation keeps going at normal pace or just accept that it slows down?

sly topaz
#

if you don't find anything, I'll try testing it myself

sly topaz
#

sometimes it is more natural for the animation to keep going at the same rate rather than whatever the server's mstp might be, but often times it is the other way around

#

choose what you feel is more natural

inner mulch
# sly topaz up to you really

i was using timestamps earlier but the issue is if the ticks are too early or late that sometimes the animation state waits 50ms for the next tick

inner mulch
sly topaz
#

what does your code look like right now?

inner mulch
#

i think i should rather care about the server not lagging

sly topaz
#

that's true lol

#

you should still probably look into a smoothing function for the case the server lags, since there's that tick compensation behavior which may make things weird, though that may only affect entity tracking

inner mulch
dark moth
#

best name i could think of

cinder abyss
#

Hello, how can I change the night light color in 1.21.7 ?

#

I want the global illumination to be red

hearty sparrow
wet breach
cinder abyss
#

Maybe that's using shaders ?

hearty sparrow
pure dagger
#
public class Alliance {

    private final UUID clan1;
    private final UUID clan2;

    public Alliance(UUID clan1, UUID clan2) {
        this.clan1 = clan1;
        this.clan2 = clan2;
    }

    public UUID[] getClans() {
        return new UUID[]{clan1,clan2};
    }

    public boolean matches(Clan clan1, Clan clan2) {
        if (clan1 == null || clan2 == null) return false;
        if (this.clan1.equals(clan1.getId()) && this.clan2.equals(clan2.getId())) return true;
        return this.clan1.equals(clan2.getId()) && this.clan2.equals(clan1.getId());
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == this) return true;
        if (obj == null || getClass() != obj.getClass()) return false;
        Alliance alliance = (Alliance) obj;
        return (clan1.equals(alliance.clan1) && clan2.equals(alliance.clan2)) ||
                (clan1.equals(alliance.clan2) && clan2.equals(alliance.clan1));
    }
    @Override
    public int hashCode() {
        UUID first = clan1.compareTo(clan2) <= 0 ? clan1 : clan2;
        UUID second = clan1.compareTo(clan2) <= 0 ? clan2 : clan1;
        return Objects.hash(first, second);
    }
}
#

is that alright

#

so now if i put 2 alliances, and they have the same thing but in different order (so (clanA and clan B), and (clan B and clan A)) it should be treated as the same by .equals???

#

idk, doing this thing for the first time

dark moth
wet breach
#

lol nice

dark moth
#

there we go

indigo thunder
#

um

#

im new to plugin creation by code and not with mcreator

buoyant viper
#

nyeh

indigo thunder
#

and i cant download spigot api 1.21.6

indigo thunder
#

can someone help me

#

-_-

grand flint
#

use intellij and use the mc plugin for intellij

indigo thunder
#

for eclipse

#

?

#

i have it already installed

grand flint
#

ur first mistake is using eclipse

#

before u continue

#

delete eclipse

indigo thunder
#

uh

grand flint
#

this isnt 2010

indigo thunder
#

ehm

#

a question

grand flint
#

intellij is modern and has better tools

#

including mc plugin

indigo thunder
#

if i delete eclipse the project i was creating could be developed in intellij?

#

i was creating a project

#

to learn java

grand flint
#

uhh ye u could probs import it

indigo thunder
#

ah okey

grand flint
#

just save the plugin in another folder first

#

dont delete eclispe yet

#

just download intellij first

#

and then when u transfer it then u can continue

indigo thunder
#

how much gigs

grand flint
#

r u running on a phone bro 😭

#

its like 3.5gbs

slender elbow
#

1029384756 GB

grand flint
#

L ragebait

slender elbow
#

okay then 0192837465

buoyant viper
#

Eclipse is fine, it has Maven and Gradle support and thats all that matters

grand flint
#

dont listen to nonsensical opinions like that one

buoyant viper
#

dont let these IntelliJents make u think ur IDE is trash

grand flint
#

they chose the hard ways and suffering

buoyant viper
#

(i use IntelliJ)

grand flint
#

eclipse is ass blinded by 1.7 minecraft πŸ™

#

pizza hut is so bad bro

#

who eats here

indigo thunder
#

im here

indigo thunder
grand flint
echo basalt
#

my intellij stuff is taking like 100 gigs

winter jungle
#

Eclipse is significantly more lightweight than JetBrains products, so it's not bad. However, I still use JetBrains products for a better workflow.

echo basalt
#

but that also includes gradle and whatever else

indigo thunder
#

so

grand flint
#

i use vsc light mode for java πŸ™

indigo thunder
#

its better eclipse or intellij

grand flint
indigo thunder
#

who uses light mode in 2025

winter jungle
#

Me

grand flint
indigo thunder
#

i dont know if i should be worried or not

grand flint
#

not light mode as in the theme

#

good lawd

indigo thunder
#

nyehhhhhhhhhhhhhhh

buoyant viper
#

if u use VSC for java i am so sorry for your loss

indigo thunder
#

lol

buoyant viper
#

suicide by 37 gunshots to the back of the head

winter jungle
indigo thunder
#

light mode make your eyes tired but dark mode makes you tired what?

echo basalt
#

Light mode strains your eyes

#

it's basically flashbanging you

buoyant viper
#

im like hey wassup hello

indigo thunder
#

supper

#

or

#

suffer!

#

NYEH NYEH NYEH

echo basalt
#

what the fuck are you on

indigo thunder
#

papyrus

#

NYENEYEHYEYHEY

buoyant viper
indigo thunder
#

NETYEHTYYEYEHEJHgsydgyu

#

Laptop

#

gotta stop fooling around srry

#

is it normal that intellij is slow

#

?

buoyant viper
#

indexing probably

indigo thunder
#

could it be cuz im on mobile data

#

i dont have a router

winter jungle
buoyant viper
#

unless ur using an AMOLED display n theme i dont think thats how that works

indigo thunder
#

less blue light = good eyes

#

i dont have anything amoled

#

except my tv

winter jungle
#

My glasses have a built-in blue light filter in the lenses 😎

indigo thunder
#

good

#

NYEEEEEEEEEEEEEEEEEEEEEH

#

Papyrus on dumbroids

echo basalt
#

so it doesn't matter

#

my previous glasses made a green reflection that ruined any selfies πŸ˜”

#

new ones just reflect blue

buoyant viper
#

i got astigmatism 😞

echo basalt
#

mad astigmatism gang

slender elbow
#

my eyes are perfect so I have no excuse to get blue filtering glasses, I have to make do with software colour shifting, yuck

echo basalt
#

f.lux

buoyant viper
young knoll
#

Yay astigmatism

#

Which eye

buoyant viper
#

Both

#

my eyes Suck

young knoll
#

Ah

#

My left eye sucks

indigo thunder
#

gtg

pure dagger
#

soooo now i cant use either of these variables

#

funny

eternal oxide
#

are you trying to use them IN their scope?

pseudo hazel
#

you should be able to just use them past the return

eternal oxide
#

Eclipse will have issues with that

trim quest
echo basalt
#

netbeans

buoyant viper
#

i think

slender elbow
#

you should be able to use them just fine? why do you think you can't

#

perhaps it should be an || instead

eternal oxide
#

I had this issue long ago with Eclipse. It thinks they are out of scope and shows an error

#

no clue if they would actually compile with maven, but they should

slender elbow
#

yeah that should definitely be an ||

buoyant viper
#

i have code that is similar to that, it should be fine

slender elbow
#

I'm pretty sure javac will (rightfully) refuse to use the variables after the if in that case because of the &&ing

#

either entity could be a player so it can't guarantee the variable's existence

eternal oxide
slender elbow
#

if it's an || then yes you can use them fine

misty ingot
#

is there an event that fires when a player "gets an item"
more specifically, through like /give or smth

#

itempickupevent and stuff dont fire for /give

grand flint
thorn isle
#

i just removed all ui elements from my os that used the blue color channel

#

don't need to filter it if there isn't anything to filter

trim quest
#

vsc sucks when it comes to generate javadoc & sources.

#

but overall I like it

thorn isle
#

or actually i'm not sure

#

yeah nevermind they should both be present in one scope

pure dagger
#

what?

pure dagger
#

cause

#

if its true or false, you are not sure which one is there

slender elbow
#

I guess my messages are invisible today

#

does that mean that.. hmm

#

Choco likes Little Caesar's

pure dagger
#

o

#

h

pure dagger
#

its || but i placed && there

#

and

#

you cant access a variable

rotund ravine
pure dagger
#

thats rude

worldly ingot
# slender elbow Choco likes Little Caesar's

I do and I haven't had any since forever. But you've reminded me that I absolutely should go out and get some because I'm an adult and can make adult decisions. If I want a pizza, I can get a pizza >:(

young knoll
#

Wow

#

What a gamer

worldly ingot
#

The problem is just that I need my car, which is in the shop :)

young knoll
#

Use uhh

#

Bicycle

#

Or have the huskies pull a sled

worldly ingot
#

Huskies are with parents, I don't own a bike

young knoll
#

Hmm

#

There’s always the good ol moose

echo basalt
#

I wonder what car choco drives

pure dagger
#

record cant have these methods

#

or cna it?

#

can it

slender elbow
#
public record Alliance(UUID clan1, UUID clan2) {

    public UUID[] getClans() {
        return new UUID[]{clan1,clan2};
    }

    public boolean matches(Clan clan1, Clan clan2) {
        if (clan1 == null || clan2 == null) return false;
        if (this.clan1.equals(clan1.getId()) && this.clan2.equals(clan2.getId())) return true;
        return this.clan1.equals(clan2.getId()) && this.clan2.equals(clan1.getId());
    }
}
pure dagger
#

ok does it really matter? i just wanted to know if equals and hash methods are ok

#

oh

slender elbow
#

:d

pure dagger
#

its just no constructor and no getters

slender elbow
#

canonical constructor is implicit, the record components (fields) have accessors (that you can override), and auto-generated equals, hashCode, and toString based on the record's components (which you can also override)

#

this is a perfect class to be a record

worldly ingot
slender elbow
#

something something immutable transparent data carrier

worldly ingot
#

records do the equals/hashCode() for you like magic

slender elbow
#

more like, like invokedynamic

#

amirite? 😏

#

amirite fellas? ehehe

echo basalt
#

since when is a 2009 beamer only like 3k

young knoll
#

I mean

#

2009 was 16 years ago

worldly ingot
#

For the record though, your hashCode() and equals() implementations were fine, aside from the fact that you could use instanceof variables

    @Override
    public boolean equals(Object obj) {
        if (obj == this) return true;
        if (!(obj instanceof Alliance alliance)) return false;
        return (clan1.equals(alliance.clan1) && clan2.equals(alliance.clan2)) ||
                (clan1.equals(alliance.clan2) && clan2.equals(alliance.clan1));
    }
slender elbow
#

2009 was 28 years ago

#

ain't that crazy

echo basalt
#

for 3k

#

I might buy one

young knoll
#

Cars depreciate fast

pure dagger
pure dagger
worldly ingot
#

Yes

String value = "";
if (value instanceof CharSequence) {
    // this is true
}
jagged quail
worldly ingot
#

Yes but white

pure dagger
#

so should you actually use this in equals

echo basalt
worldly ingot
pure dagger
#

instanceof

echo basalt
#

I recall trying to sell my dad's 2005 car for like 5k a few years back

#

and now it's worth maybe 1.5k?

#

it drives fine

worldly ingot
#

Yeah. You have to. You're passed an Object. You have to use instanceof in some capacity (in most situations)

#

Worth noting that an instanceof check is sensitive to null as well, so if it's null, it's not an instanceof anything (hence why I removed the null check)

sullen marlin
#

We're having the car chat in #general

young knoll
#

Pfft im gonna use Class#isInstance

sullen marlin
worldly ingot
#

Stupid Class method names

pure dagger
sullen marlin
#

One takes a class the other an object

worldly ingot
#

If there are no child types of Alliance, then it doesn't matter

pure dagger
#

yeah

worldly ingot
#

Some people want child types to be equal to parents

#

Equality doesn't mean the type matches, just that the data does

pure dagger
#

okay

sullen marlin
worldly ingot
#

mfw parents who say "You should be a doctor like us!"

jagged quail
thorn isle
#

i don't think i have a single car newer than 00

#

the 80s and 90s ones last forever and you can do your own repairs

pure dagger
#

which plugin will handle event first if they have the same priority?

hybrid spoke
pure dagger
#

and is that random?

hybrid spoke
#

i doubt so, you can also determine if a plugin should load only after another has been loaded

pure dagger
#

yeah

#

depend

hybrid spoke
pure dagger
#

when would you use that

hybrid spoke
#

most likely in the same way as depend, just the other way around

pure dagger
#

so if player has not player before - OfflinePlayer.getName will return null?

#

and what if i do Bukkit.getOfflinePlayer(UUID) and the UUID doesnt exist? the method is @NotNull

sullen marlin
#

It will always return something, don't the docs say?

#

?jd

undone axleBOT
pure dagger
#

oooohh

#

i think

#

i get it

#

cause for this thing, its the same if player was never online or it doenst exist

#

?

sullen marlin
#

Getname says "Player name or null if we have not seen a name for this player yet"

pure dagger
#

yeah

#

i was talking about getOfflineplayer now

#

is there a method like this

(T ojbect, T def) {
return object != null ? object : def; 
}
young knoll
#

No but you can make one

pure dagger
#

πŸ€”

#

i thouhgt there is

sullen marlin
#

Optional.ofNullable(object).orElse(def) (don't actually do this)

#

Or do, I'm a sign not a cop

pure dagger
#

ok i wont

young knoll
#

C# has an operator for that

#

Among other languages

pure dagger
#

how does it look like

sullen marlin
#

^ yeah then we can add it to java

#

It's probably already in kotlin

pure dagger
#

its

#

some gate

young knoll
#

It’s ??

pure dagger
#

xor

young knoll
#

String name = OfflinePlayer.getName() ?? β€œUnknown Name”

sullen marlin
#

Sorry what's ??

young knoll
#

It’s called null coalescing

#

Because fancy words are fancy

sullen marlin
#

Yes but why do you keep censoring it

#

What's the operator??

mortal hare
#

how do you call a class which mimmicks another class by providing dependency injected value which is used to implement the methods of that particular interface which it tries to mimmick

#

adapter?

#

view?

#

facade?

sullen marlin
#

Delegate?

#

I'd call it a Delegate

echo basalt
#

usually Delegate

mortal hare
#

ill just use a delegate

echo basalt
#

here's a sample

remote swallow
spiral cape
#

Hey πŸ™‚

I've started to update my plugin from 1.20 to 1.21.7 and noticed that falling block entity now displays its custom name (but only on hover).

is there a way to make it fully invisible again? tried setting NBT CustomNameVisible to false and also fallingblock.setCustomNameVisible(false); but without much look 😦

worldly ingot
#

Why does it have a custom name? thonk

spiral cape
#

laziness on my behalf 3 years ago ;p

drowsy helm
#

just remove the custom name

spiral cape
#

a good load of code re-write will be needed then :/

drowsy helm
#

what exactly are oyu using a custom name for anyway?

#

is it some hacky way of tracking the block

spiral cape
#

yup

drowsy helm
#

pretty sure falling blocks should have nbt

#

you could move to pdc relatively easily

spiral cape
#

i have tried the NBT, but unfortunately it doesn't do anything 😦

#

nvm, it does, with CustomNameVisible = true the name is always visible, with it set to false it only shows up on hover

young knoll
#

?pdc

spiral cape
drowsy helm
#

What you doing is like the same equivalent to checking inventory name to handle events

spiral cape
#

correct

spice ferry
#

hello is there a way to disable collision between players BUT only in a certain worldguard region for 1.21.4?

young knoll
#

You’d have to set up a scoreboard team and then add and remove players from it when thy enter and exit the region

spice ferry
young knoll
#

It might

topaz cape
#

it's mostly working

#

however.. there are some methods that just don't remap correctly

#

Like if i invoke EntityPlayer#getUUID it should be relocated to #cG in 1.21.4
and the mappings do contain that change in Entity class where that method is

#

however even tho im just calling special source.. its not doing it idk why

remote swallow
#

should i question why you dont just use patrick choe's?

topaz cape
#

because im making my own system that has a different purpose

topaz cape
#

yeah... im in a loop here

#

idk what to look for

#

i just checked

#

it works fine with the maven plugin

#

but not my task..

#

what am i missing

topaz cape
#

i think i got it right

twin venture
#

Hi i have been working on something and i have a question , is there a way to check for BedExplodeEvent?

rough ibex
#

The same way you would for other events

twin venture
#

Lets say i want to get the player who trigger the explosion of bed and killed Dragon

rough ibex
#

are you talking about BlockExplodeEvent

twin venture
#

nvm ..

#

its to complicated .. to explain it

mortal vortex
#

You're looking to rather detect the death of the dragon as a result of a bed explosion correct? Rather than simply a bed exploding?

#

Anyways I dont think its possible, you would use getLastDamageCause(), but all that would tell you is that it was a bed explosion, and i dont think there is a API method to get the player who triggered the bed explosion, because it is not an entity-triggered explosion (unlike TNT ignited by a player).

#

Perhaps you could have an event for a player sleeping, check dimension, log the time, then on the dragon's death compare the interval to deduce whether that bed was the bed that triggered the death.

thorn isle
#

getting damaged by the bed explosion should record a EntityDamagedByBlockEvent as the lastDamageSource on the entity, and the event should hold a snapshot of the exploded block

twin venture
dire herald
#
LivingEntity waypoint = (LivingEntity) player.getWorld().spawnEntity(player.getLocation(), EntityType.ARMOR_STAND);
waypoint.getAttribute(Attribute.WAYPOINT_TRANSMIT_RANGE).setBaseValue(100.0);
waypoint.setWaypointColor(Color.AQUA);
Caused by: java.lang.NoSuchMethodError: 'void org.bukkit.entity.LivingEntity.setWaypointColor(org.bukkit.Color)'
#

am I going crazy or does that method really not exist in 1.21.7-R0.1-SNAPSHOT

#

using import org.bukkit.Color;

remote swallow
#

i am going to take a while guess and say ur server is running paper?

dire herald
#

you are correct. can I assume that paper didn't implement this yet?

remote swallow
#

it was added after they hard forked and they probably dont plan to pull it over

dire herald
#

didn't know about the hard fork, this indeed makes things more complicated now

#

always thought paper builds on top of spigot as they did before

remote swallow
#

they did untill 1.21.4

hybrid spoke
#

they went their own route now

thorn isle
#

the route of deprecating anything vaguely resembling a string in favor of adventure components

dire herald
#

now i just need to figure out where to point my gun at. do i switch to their plugin api or do i shoot paper and move my server back to "vanilla" spigot ...

#

we could've had nice things

thorn isle
#

my personal recommendation is to switch to paper

#

there are some irksome habits in how they maintain it but overall paper performs much better and has many quality of life and performance api's spigot doesn't

dire herald
#

i can work around this by using NBT directly for now i guess but for the future this would get annoying, so i guess switching to paper it is .. but then, spigot has much more development resources

thorn isle
#
  • if you're building public plugins, iirc 80% or 70% of the bukkit ecosystem in 1.20+ uses paper or forks of paper
#

ecosystem as in servers; for libraries and tutorials almost all of them are for spigot yeah

hybrid spoke
#

paper is turning into a monopoly

thorn isle
#

but at least for tutorials, most of them are pre hardfork so they still apply

#

it's just that if you want any feature pr'd into it you'll have to start a month-long review war on the pr or issue

dire herald
#

anyone know if paper is up to date with new upstream features?

#

or fast, in other terms

slender elbow
#

the only upstream paper has is vanilla

thorn isle
#

lol

dire herald
#

well this is what i mean

#

:P

thorn isle
#

they should be, and at least in terms of item components, they are probably more up to date than spigot

dire herald
#

e.g. can i assume i can just use the new waypoint stuff as soon as paper hits stable builds for that version?

thorn isle
#

not so sure about other things since i haven't built anything on .7 yet

#

check their javadocs i suppose

#

or like ask on their discord

slender elbow
#

paper is already stable

#

no waypoints api yet, but yes this is 1000% a question for the papermc discord

thorn isle
#

how about dialogs, do they have api for that

grand flint
slender elbow
#

yeah

thorn isle
#

nice

#

i want them dialogs

grand flint
#

whats waypoints???? built in waypoints?

dire herald
thorn isle
#

unfortunately i think like 5% of my playerbase is on .7 so i'll probably have to wait on them some more

dire herald
grand flint
#

u can add a custom waypoint to it?

dire herald
#

its displayed on top of the XP bar when not interacting with exp

thorn isle
#

you can spawn an entity and add this attribute to it and it should pop up on the bar yeah

grand flint
#

i know what it is

#

i didnt know u could add a custom one

thorn isle
#

and maybe fuck with teams or something

slender elbow
#

actually yeah, paper just doesn't have explicit waypoint api but you can do most of it with the attributes anyway

thorn isle
#

that's been a pattern recently; same way how the item components system works

#

spigot adds things to itemmeta, paper adds some registry wrapper that just pulls from nms

dire herald
#

thanks everyone

#

this helped lots

dire herald
#

they included a "style" attribute in addition to the normal color attribute

dire herald
#

first video i found when quickly searching

thorn isle
#

i don't like the waypoint bar

grand flint
#

i do

#

its dope for servers

#

parties in smps

drowsy helm
grand flint
#

death points

slender elbow
#

it's alright

grand flint
#

ywah excatly u can even disable it

#

and custom icons is a W

#

skull icon for death location

#

u can even make it work with sethome plugin

thorn isle
#

it's alright, yeah

dire herald
#

you can also disable it per user

thorn isle
#

but i can't really think of any practical use for it

dire herald
thorn isle
#

death points maybe but i don't really want to have my players walk 8,000 blocks on foot to get to their death location in the first place, and if it's close by they can probably find it without a waypoint

dire herald
#

i would turn it off for anything above 100 players

thorn isle
#

i don't know, showing players on it feels redundant

dire herald
#

where else do you see live player locations?

slender elbow
#

oooh showing death points across dimensions, like overworld v nether

thorn isle
#

on the screen by looking at them

dire herald
#

can't see my friends when they are 1k blocks away

#

would need to exchange coords

thorn isle
#

if you can't see the player with your eyes i don't think you should see where they are

dire herald
#

i think in your case its fine, but there are players that enjoy finding each other easily and it has proven really usefull so far with everyone on my little private server

thorn isle
#

maybe if it's restricted to same faction members or friends or something it might be alright

dire herald
#

i'm thinking of connecting this to BlueMap and use their Waypoint API

#

then have some sort of waypoints inventory for fast travel but also waypoint management

#

but the default icons are too similar, i would limit those to players

#

waypoints would absolutely need their own icons that aren't the standard ones, as they don't have any description to what they are pointing towards

#

thinking about this the implementation right now doesn't tell you which player you are looking at until you meet them and remember their dot-color

#

so really the biggest buff with this is to just find your friends

thorn isle
#

a skull icon for the death point is probably all i'll end up doing with it

dire herald
#

you could use these in minigames for sure tho, like showing the enemies base locations, or if its a hunter/hunted game showing the hunted or players left

#

RPGs can mayhaps use these for quest locations

thorn isle
#

myeah, i thought about using it for quest waypoints but i'm not sure if it's clear enough

#

plus i already sort of did that with text displays

dire herald
#

would need to communicate it to the player

mortal vortex
#

Is this plugin doing somthing malicious here or is this just artifcating from decompiling?

#

Specifically the URL Class Loading?

slender elbow
#

that's 100% malware lol

winter jungle
#

yeah that looks kinda sus

mortal vortex
#

@vagrant stratus Can I please request you take a look, since I usually see you posting about malware checks.., an individual is posting malware under my development team's branding?

#

I am not the best at reading decompiled code... i get that the decompiler tries to repiece things, and function names can be lost, and strings "lost in translation", but I dont think that URLClassLoader is a mistake... Really looks like a payload is being injected here.

winter jungle
#

yeah that's 100% not normal code

wooden bay
#

It builds and loads a hidden url class at runtime

winter jungle
#

looks like its a copy but with malware

eternal oxide
#

I see no clkass in teh jar for it to load though

mortal vortex
wooden bay
#

obfuscated byte code?

pseudo hazel
#

if only I could link my modrinth on the spigot resource smh

eternal oxide
#

ah url

#

sysout that line and see where it points

mortal vortex
#

im not runnng that code bro

eternal oxide
#

lol, just the string

mortal vortex
#

WHOEVER WROTE IT WAS TOO BRAINDEAD TO REMOVE METADATA

#

unless this is some boilerplate left over from somewhere else

thorn isle
#

lol

mortal vortex
#

wow... feels good knowing our plugin is big enough that people wanna make malware in its name πŸ’ͺ🏻

winter jungle
#

I ran this through AI to decrypt (no idea how accurate it is) but the decryption points to an SFTP server with username and password specified

jar:ftp://6%376%3096%385264196%375%336%39:1356463542647259312@_ftp._tcp.ethanol.rocks:40000/1%32%64%332%306%37-ba%34%32-%300b%30%2d5%64%64%33%2d%639%30db%61%647%34%38%659;type=%39%66%34a%66%34!/
thorn isle
#

yeeees

#

upload gore

mortal vortex
#

LOLL

#

this isnt some shitty skid then is it...

#

I saw that they took our whole branding, but the jar they uploaded is a single-class, dumbed down plugin, and figured it was the work of an amateur

eternal oxide
slender elbow
#

it is

mortal vortex
#

Scrolll farrrr down.

slender elbow
#

synthetic method, some decompilers might hide it but javap does not

mortal vortex
#

Yeah JDGUI hid it

eternal oxide
#

last bit of code in the Lifesteal jar is the onPlayerUse event

wooden bay
#

Was it sm1 in ur team abb3v?

winter jungle
#

Im not allowed to connect :c

eternal oxide
#

ah Yeah I'm not seeing it in jdgui

mortal vortex
#

how

#

It's not a jar we produced or uploaded to our resource.

#

its a copycat.

wooden bay
#

Oh wait mb

#

I'm kind of slow in the head

#

Atleast for now

mortal vortex
#

yeah ik

#

might have to demote you from MCSC status

#

you arent worthy

wooden bay
#

No

winter jungle
#

The uploader has a other plugin too with the same backdoor

wooden bay
#

I'm studying chem rn I'm dying

mortal vortex
#

is it appropriate to ping a forum staff about this issue or was pinging optic enough

wooden bay
#

Just report it

#

lol

mortal vortex
#

forgot my spigot acc details vro

wooden bay
#

Just make a ne-

mortal vortex
#

BANNED

wooden bay
mortal vortex
winter jungle
mortal vortex
#

Who knows if this is the dev that actually posted the plugin, or if its one of those things like the microsoft discord account linking scam, where people were self hosting the scam...

#

I think this is a backdoor-for-hire kind of thing. I think they are hosting like a frontend and API for backdooring servers

wooden bay
#

backdoor-as-a-service

mortal vortex
#

lmfao

#

i mean it literally is... they have auth keys and a panel for managing backdooed servers

mortal vortex
#

no

#

you may have the wrong impression of me, being affiliated with xpdz, but i for one do not get up to illegal activities

#

i am purely involved in mcsc for freedom of expression, i do not agree with any actions of any individuals πŸ™

wooden bay
#

I totally won't do shi

#

I hope

grand flint
vagrant stratus
#

use something better like luyten

eternal oxide
#

yeah I opened it in a hex editor to see the extra code

wooden bay
#

This shi πŸ”₯ for passing the time

mortal vortex
grand flint
grand flint
wooden bay
#

Shi outta luck

pseudo hazel
#

or just sore outta luck

mortal vortex
#

ohh faxxx

#

i knew that

#

testing yall

wooden bay
#

nah she tryna cover up

onyx fjord
#

is InventoryClickEvent#getcurrentitem the item that was in the clicked slot at the time of clicking?

#

or cursor is already updated to that one

chrome beacon
#

Event should be called before anything is changed

#

so that would be the item in the clicked slot

pseudo hazel
#

and the cursor item is the item that the player was already holding before clicking by that logic

thorn isle
#

yeah

#

getCurrentItem is always the item in the clicked slot, never anything else; and at the time of the event firing, neither the inventory nor the cursor has been modified

#

or well i think clicking outside the inventory gui to drop the item is a special case for getCurrentItem, but i don't remember what it is in that case

sly prairie
#

Hey! can anyone help me with my resource pack I made myself? Its a pack that overrides wheat_seeds multiple times and uses CMD, then in my server plugin I set the right codes for my custom items. But nothing really happens in minecraft when the pack is loaded :/

onyx fjord
#

inventoryclickevent is such a headache when using it raw

sly topaz
pseudo hazel
#

wdym raw xD

#

is there a cooked version?

sly topaz
#

it gets easier once you already tested it out once, but if you use it one time and then forget about it for a few weeks, the issue comes up again. It isn't something that you can always remember given you need to take into account state synchronization logic which the server uses

sly topaz
pseudo hazel
#

ah

#

yeah I have my own so I only needed to figure it out once haha

indigo thunder
#

um

#

im back

#

and i have a problem

sly prairie
#

samee

rotund ravine
#

?ask

undone axleBOT
#

If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!

sly prairie
indigo thunder
#

i dunno

#

could someone help me

grand flint
#

.ask

#

.ask

#

?ask

undone axleBOT
#

If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!

indigo thunder
#

ah

#

i cant send images

#

in words

#

i cant make gradle work

#

Your build is currently configured to use incompatible Java 23.0.1 and Gradle 8.8. Cannot sync the project.

We recommend upgrading to Gradle version 8.13.

The minimum compatible Gradle version is 8.10.

The maximum compatible Gradle JVM version is 22.

Possible solutions:

  • Upgrade to Gradle 8.13 and re-sync
  • Upgrade to Gradle 8.10 and re-sync
  • Use Java 22 as Gradle JVM: Open Gradle settings
grand flint
indigo thunder
#

Even if i download gradle 8.13

grand flint
#

well did u change the gradle property to use 8.13 and reload gradle

indigo thunder
#

yes

#

another thing i dont know if i can say on this channel but i cant verify

grand flint
#

why

indigo thunder
#

i dont know

thorn isle
#

okay, well

#

what is stopping you from verifying

#

does a man burst in from the window every time you try, shouting "NO I WILL NOT LET YOU"?

indigo thunder
#

._.

grand flint
#

i could possibly be sir

thorn isle
#

i'll take that as a no

grand flint
#

do i not wanna walk

#

is my legs broken

#

u wouldnt know

indigo thunder
#

or

grand flint
#

where the hell is that

indigo thunder
#

CafeBabe
APP
β€” 17:49
Could not find your SpigotMC.org account!

#

here

#

it says that

thorn isle
#

you're supposed to give it your forums username

#

not your discord username

#

you are telling it @indigo thunder

grand flint
#

😭

indigo thunder
#

im just a dumb skella

eternal oxide
#

those are all clickable links

#

Have you tried any of them?

#

setting your jdk would probably do it

indigo thunder
#

yes

#

it worked

#

at the 4th try

#

good

#

so

#

now

#

i can do anything?

thorn isle
#

gradle is ass

indigo thunder
#

i wanted to use maven

#

cuz i donwloaded that in like 2 months ago

#

um

#

again

#

i dont have any setting in gradle settings

#

should i be worried?

remote swallow
#

its a wrapper, the versio nis in gradle/wrapper

indigo thunder
#

so?

#

ah it workls

#

last thing

#

why some folders are orange

eternal oxide
#

they voted for trump

indigo thunder
#

X D

#

no srlsy

#

why

eternal oxide
#

show pic

indigo thunder
cedar saffron
#

Cheater...

indigo thunder
eternal oxide
#

my guess (as I don't use IJ) is those folders have content

indigo thunder
#

all folders have content

indigo thunder
#

tysm

thorn isle
#

orange folders are "target" directories

sly topaz
#

orange means they're excluded from indexing, usually directories where build artifacts are placed like vcs mentions

#

vcs does your name mean version control system or is that just a coincidence

sly topaz
thorn isle
#

i used to have a longer username

#

but people only remember the first 3 characters

#

so i just shortened it

indigo thunder
#

where can i see spigot documentation for 1.21.4

eternal oxide
undone axleBOT
wet breach
#

maybe that wouldn't necessarily work for older versions

#

lol

thorn isle
#

right, i want to get on .7

#

so that means i have to decompile and fix mythicmobs again to work on latest

thorn isle
#

they don't seem particularly confident about it working

#

it does seem to build against 1.21.7 at least

#

maybe this once i don't need to go through this song and dance

quartz sorrel
#

I noticed the Dialog API on Bungee does only have a PlainMessageBody for the body stuff.
Does that mean there is currently no support for Message bodies with Item display? Or is that located somewhere else?

grand flint
#

mostly player heads

thorn isle
#

i'm guessing they don't want to include the whole itemstack registry codec nonsense into bungee, since it's a proxy and not a minecraft server with that logic included in it at base

#

you might have better luck with adventure

grand flint
#

yeah probs u could maybe add it seperately but why add that to bungee anyways

quartz sorrel
#

So unless Spigot actually implements it separately, would this strip away a whole thing.

#

And looking at the javadocs of Spigot, it doesn't seem like it implements any own Dialog stuff outside of what the Bungee API provides...
Kind of a reason imo why that stuff shouldn't be a part of the bungee API itself tbh

sly topaz
#

you're better of just sending the packets directly if you want to deal with dialogs right now

#

the registry part shouldn't be too hard, it is the same thing people have been doing for registering enchantments which is just unfreezing the register

grand flint
#

packetevents in clutch

#

tbh thwse new updates for java are great dude

#

dialogs is a huge game changer especially with resourcepacks

quartz sorrel
#

I currently don't bother with Spigot/Bungee's implementation of Dialogs.
Was just curious regarding its implementation and apparent lack of features.

grand flint
#

and waypoints i just learnt about it, its sick as well

grand flint
quartz sorrel
grand flint
#

like u could have /sethome way points

#

instead of teleporting home in vanilla servers

#

u can just see the waypoint same with death

grand flint
#

inputs

quartz sorrel
#

Also, agree. It's a really cool addition for making ingame file editors for your plugin. Instead of your usual ugly Inv- or chat-based stuff

grand flint
#

just give it a bit ull see custom game menus, games and even more stuff

#

if ur not in the custom stuff community go see they cook up literal minecraft 2

quartz sorrel
#

(Discord is freaking slow with video playing I swear....)

worldly ingot
#

I'm still of the firm belief that if you're incapable of editing a .yml file, you should not be running a server

quartz sorrel
#

true

#

Tho, at least with dialogs you have some small level of validation in place.
Option only allows numbers? Make a slider input
Boolean option? Boolean Input.

quartz sorrel
#

Via a certain server's implementation

drowsy helm
#

wot

#

adventure doesn't support dialogues does it?

#

or is it just an impl that happens to use adventure

quartz sorrel
#

They have some basic structure. But servers/proxies using it right now have to impelement the actual creation and display

thorn isle
#

adventure supports all ui/registry shit

drowsy helm
#

oh cool

pure dagger
#

Any value that was previously set at this path will be overwritten. If the previous value was itself a ConfigurationSection, it will be orphaned.

#

what is that word 😭

#

why did they say orphaned

thorn isle
#

that's what it's called when a child loses its parent

quartz sorrel
#
parent:
  child:
    ...
pure dagger
#

πŸ’€ why is it called orphaned

thorn isle
#

it's not complicated

pure dagger
#

oka

thorn isle
#

an orphan is a child without a parent

#

when a child node loses its parent node, it becomes an orphan

#

because it is a child without a parent

#

i.e. it becomes orphaned

pure dagger
#

but doesnt parent loose child?

#

can you show me before and after, im confused now

thorn isle
#

in this particular case i dunno, it might be the wrong term; i'm not sure whether it's the child or parent that actually gets yeeted

pure dagger
#

i thought its

a:
  b: 1
  c: 2
then
a: {}
#

isnt it?

thorn isle
#

in this case a and b are orphaned

#

i mean b and c

pure dagger
#

uhm

#

but theyr dead

#

the parent should be dead

#

but the parent stays

#

and childrens are gone

thorn isle
#

yes, they're in the gutter somewhere

#

because they lost their only parent

wooden bay
#

πŸ™

pure dagger
#

bro

#

the parent is still there

#

how are the children orphaned 😭

thorn isle
#

yeah but it doesn't have the children

pure dagger
#

if theyre one

thorn isle
#

the children got left behind

pure dagger
#

so parents are orphaned from childern

thorn isle
#

now they go into the orphanage for old yaml nodes

pure dagger
#

xdd

#

okay

thorn isle
#

going back to the original thing, i'm pretty sure what it intends to get across is that the old configurationsection is discarded in its entirety, i.e. removed from its parent; and replaced with a new configurationsection

#

so since the section gets tossed into the gutter and removed from its parent, it becomes an orphan

pure dagger
#

does getConfig.set(path, value) set it to value.toString if its UUID

thorn isle
#

no clue

pure dagger
thorn isle
#

yeah well

kind hatch
thorn isle
#

we used to label disk drives master and slave

pure dagger
#

i mean, when ill pass 1 it will set it to INT

thorn isle
#

and by used to i mean i still do but it's frowned upon now

pure dagger
kind hatch
thorn isle
#

or it might emit nonsense like

key:
  ==: java.util.UUID
  least: 0
  most: 0
#

probably not; try it and see

pure dagger
#

whatever ill just do toString

#
@Override
    public void reload() {
        super.reload();
        clans = new HashMap<>();
        ConfigurationSection section = getConfig().getConfigurationSection("clans");
        if (section == null) return;
        for (String idString : section.getKeys(false)) {
            UUID id = UUID.fromString(idString);
            String name = section.getString(idString + ".name");
            String leaderString = section.getString(idString+".leader");
            if (name==null || leaderString ==null) continue;
            String viceLeaderString = section.getString(idString+".vice-leader");
            Set<UUID> members = new HashSet<>();
            for (String memberString : section.getStringList(idString + ".members")) {
                members.add(UUID.fromString(memberString));
            }
            UUID leader = UUID.fromString(leaderString);
            UUID viceLeader = viceLeaderString == null?null:UUID.fromString(viceLeaderString);
            clans.put(id, new Clan(id, name, leader, viceLeader, members));
        }
    }

its so messy, should i change something?

little arrow
#

.support

#

?support

undone axleBOT
pure dagger
#

should i add try catch for the uuid's

#

i dont think so, the config is not ment for user to edit

thorn isle
#

if it's not an user facing config, consider using something like gson for things like this instead

#

what do people use for securing public creative servers these days? to filter out like commandblocks with prefilled commands or chests that'll crash nearby players?

pure dagger
thorn isle
#

it's my question yes

pseudo hazel
#

I guess disable command blocks

#

and dont let them place chests with data in them

#

there is probably a plugin you can use that does it for you

#

but idk any

young knoll
#

I mean

#

You need op to use command blocks anyway

thorn isle
#

yeah and i'd have them disabled just in case

#

but like i've heard over the years about "creative filter" plugins that remove metadata from spawned-in items so you can't place a chest with 60 shulkers full of 2000 books with 25,000 pages and nuke the chunk

#

but i can't for the life of me remember what any of those plugins were called

young knoll
#

IllegalStack or something

wooden bay
#

Does any1 know why intellij has this annoying line? And how i can remove it?

rotund ravine
#

minimap somewhere

eternal oxide
#

isn't that like all editors. An 80 character (page width)

hybrid spoke
hybrid spoke
#

yeah i feel ya, i even removed the spacing indicators on the left lol

#

everything crispy clean

crimson agate
#

How do I use spigot-api documentation on the actuall spigot.jar (not the spigot-api)

young knoll
#

Should still be able to apply it the same

solid wasp
thorn isle
#

illegalstack mmmm

#

i wonder if that works on paper

solid wasp
#

I’ve been waiting for someone to try it, but no one has left a rating yet.

solid wasp
sullen marlin
#

I was just trying to understand what you meant

solid wasp
#

Oo

buoyant viper
wooden bay
#

who said i was gonna make maintainable and readable code

thorn isle
#

i mean you can kind of eyeball it but it helps keeping the line width consistent across the codebase

worldly ingot
wooden bay
thorn isle
#

well, you have an unusually wide screen

worldly ingot
#

Eclipse has a nice button to toggle whitespace on and off. Anyone programming with it on permanently is probably insane

wooden bay
crimson agate
#

Who uses eclipse these days

eternal oxide
#

me me me

sullen marlin
#

Yeah Netbeans clearly superior

stiff harbor
#

Is there a way to revert entire project from Local history in IntelliJ? Ive made some changes today and I dont rememer all of them, and everything is breaking...

sullen marlin
#

but we have an alliance with the eclipse users

crimson agate
worldly ingot
fickle mantle
#

how can I get the skull of an offlineplayer? I've got both uuid and name.
Both ways just give me a steve skin

solid wasp
fickle mantle
#

Not a plugin

#

i want to code it myself

solid wasp
#

Do you mean cracked players?

young knoll
#

Use a player profile

young knoll
#

Bukkit.getPlayerProfile(uuid)

worldly ingot
fickle mantle
young knoll
worldly ingot
#

Well, no, I knew about player profiles, I just didn't know what they wanted KEKW

fickle mantle
#

in spigot 1.21.5

#

createPlayerProfile?

young knoll
#

Might be createPlayerProfile yeah

fickle mantle
#

i'll try

fickle mantle