#help-development

1 messages · Page 1242 of 1

chrome beacon
#

I can do $121/h

worthy yarrow
#

Dang rad going for that senior engineer position huh

kind coral
#

i can do $122/h

blazing ocean
#

I'll offer $580/h

kind coral
#

shit.

#

who's betting more?

#

black or red, just say it

wraith dagger
#

damn it keep raising =)))

blazing ocean
#

All on black

woeful sleet
#

Hey [NuclearKat],

Thanks for reaching out! I really appreciate your interest in working with XrossHearts. Currently, we’re a small server with no budget, but we’re hoping to grow into something big.

I’d love to offer you a Dev rank and full credit for your work, along with future profit share if the server starts generating revenue. While I can’t offer immediate payment, I’m committed to making sure you’re recognized for your contributions.

If this sounds like something you’d be interested in, feel free to DM me, and we can chat more about it!

Best regards,
Hamzacross100
Owner of XrossHearts

wraith dagger
#

uhhh

worthy yarrow
#

No fucking way

#

He has two copy pastes

wraith dagger
#

bro f*cking spam it

blazing ocean
#

dude holy shit

wraith dagger
#

lmaof

worthy yarrow
#

“Full credit” what am I getting company fucking coins?

kind coral
#

bro we are totally all interested, hit us up

slender elbow
#

you get a pat in the back for working your ass off

blazing ocean
kind coral
#

@worldly ingot can you obliterate this dude

slender elbow
#

impressive

worthy yarrow
wraith dagger
#

bro just make us pay our times for "full credit" wtf

woeful sleet
#

guys fr stop I have a dev but i need more

worthy yarrow
#

At least here

blazing ocean
kind coral
woeful sleet
wraith dagger
#

💀

#

python

#

seriously?

worthy yarrow
blazing ocean
#

You need either time or money to develop a server lmao, if you have neither, glhf

kind coral
#

lol

woeful sleet
kind coral
#

u said no payment

blazing ocean
#

that's like, not a lot

kind coral
#

also its like nothing

wraith dagger
worthy yarrow
#

I live in America, 200$ a month is enough to pay for my weed… maybe

floral drum
#

Mate let me say, no developer in here would work for free, you'd have to either pay an hourly rate or a salary. Good luck with that.

woeful sleet
kind coral
#

good yard

blazing ocean
#

What the fuck did purple do to have them listen to them

#

you nerd @floral drum

woeful sleet
floral drum
#

$200 monthly?

#

Is that it?

#

Mate rent in places go up to like $1.2k/month

blazing ocean
#

purple how are you

floral drum
#

It's not worth it at all for any developer

floral drum
woeful sleet
#

I said I'm fucking new server

kind coral
#

how's the kids purple

worthy yarrow
#

I can do 200$ a month for about 8hrs of work

kind coral
floral drum
kind coral
floral drum
floral drum
blazing ocean
#

didn't know you and april had kids-

kind coral
woeful sleet
kind coral
#

got that house?

floral drum
#

nah not yet

kind coral
#

ahhhh get it, interest and shit i hate banks fr

floral drum
#

nah I just broke

worthy yarrow
#

Purple gonna be in a wife beater soon

floral drum
#

we both are, plus I'd probably move out this year with her 👀

kind coral
woeful sleet
#

wtf

worthy yarrow
#

Well I said soon

#

They’re not married yet

woeful sleet
#

I have to leave

kind coral
#

damn guys you all grown up im like 20

kind coral
blazing ocean
#

Weren't you two looking for a ring the other day

wraith dagger
#

?mappings

undone axleBOT
woeful sleet
blazing ocean
#

shit that wasn't just the other day, weeks ago lol

kind coral
quaint mantle
#

i add aliases with command.yml
but i have a problem when i use alias my command logging on console
how can i fix that?

floral drum
#

21 in a month

kind coral
blazing ocean
#

it's impossible to age!?

kind coral
#

i might have a good message to send but i believe it would be border cyberbullying

#

idk u guys tell me

slender elbow
quaint mantle
slender elbow
#

"something"?

floral drum
# woeful sleet good deal for ,me

Let me say this straight up - no developer here would work for free or for "compensation with profits" because it's way too risky. If a developer puts all their time into the server, building it up, developing it, and get's like $200/month afterwards. Would that really be worth it? That's like 8 hours of work for a typical developer.

Going with profit share it's not a stable income for a developer, and it can cause many developers to not be able to pay for food or bills if they live in their own house. Yes, some developers may be desperate to get a job and may take the offer, but after some time of working, with no income, if it takes 2 months to complete. They will soon realise that none of their work was worth it.

If you want a stable developer, and to start a server, I would recommend learning how to make plugins yourself, as starting a server is YOUR passion and no-one elses. Otherwise, get a job, get some money built up, and pay a developer a stable wage.

kind coral
#

succo di frutta, sei all'ace o alla pesca?

bold nebula
#

quick question: how do i get the pumpkin screen?

bold nebula
kind coral
slender elbow
#

oh man I haven't spoken Italian since I was in Italy

#

how time flies

floral drum
kind coral
eternal oxide
#

oh man I haven't spoken Italian

kind coral
#

what are the words you know of italian

#

like other than mamma mia pizza caffè and other simple shit

bold nebula
kind coral
#

ananas pizza is ass, if you do that in italy they will legally decapitate you

slender elbow
#

hmm there was one word in particular that caught my attention

kind coral
#

lets move to general, shall we?

slender elbow
#

I am confined in this channel for the rest of eternity

#

I cannot escape

#

unless it's choco sharing doggo pics

kind coral
#

sad

bold nebula
kind coral
#

but for the server its still a helmet

floral drum
#

that would also make it so armor damage is still applied to the player

kind coral
blazing ocean
#

Player#sendEquipmentChange

bold nebula
#

what will happen if the player move the pumpkin to another slot?

slender elbow
kind coral
smoky skiff
#

NBT API devloper version available?

slender elbow
#

what

smoky skiff
#

NBT API 2.14.1 is not working fully

#

Can i have developer version of it?

slender elbow
#

hm what about it isn't working? it was updated well after the latest Minecraft version came out

smoky skiff
#

So can i have full developed version of it?

slender elbow
#

that is implying the dev builds have fixed this issue you're speaking of

#

the plugin is actively maintained, the latest version should work fine, what issue are you encountering?

smoky skiff
#
15.03 14:21:27 [Server] INFO [NBTAPI] [NBTAPI] Using the plugin 'AuraSkills' to create a bStats instance!```
slender elbow
#

you aren't using 2.14.1

#

you're using 2.13.1-SNAPSHOT

#

go get the latest stable release

smoky skiff
#

Can i have the link

slender elbow
#

it's the first link when you google "nbtapi"

wraith dagger
echo basalt
#

damn purple's older than me

torn shuttle
#

not hard when you are the sucker said to have been born yesterday

echo basalt
#

:(

#

turning 20 in like 2 weeks

slender elbow
#

tiny baby

torn shuttle
#

don't worry, you look a young 40

echo basalt
#

ok dinosaur

torn shuttle
#

say how does it feel like knowing someone 50% older than you is more fit than you

echo basalt
#

crazy the things you need to stay alive

torn shuttle
#

I keep telling you not eating the greasiest food known to man is not as crazy as your entire life has led you to believe

#

I'm going to the gym in 31 minutes

#

you're probably just ordering a pizza

#

or eating a $1 horse/dog meat paddy

jagged thicket
#

im younger than illusion 💀

eternal oxide
#

Pizza is healthy, if you don't eat the base

torn shuttle
#

he just eats the grease

jagged thicket
#

and vegetables?

#

no wae

eternal oxide
#

Don't forget the pineapple

echo basalt
jagged thicket
#

what bout chocolate

torn shuttle
echo basalt
#

???

torn shuttle
#

you better have thanked him for each individual egg before eating them

echo basalt
#

I'm working full-time

blazing ocean
#

kekw what

torn shuttle
#

he's only working full time

echo basalt
#

I hope I can afford eggs

#

doin like ~45h/week

torn shuttle
#

so you're on a holiday

jagged thicket
#

how much dollar / hr

your egg finance depends on that

torn shuttle
#

if you're not pushing 100h weekly are you even working

blazing ocean
#

if you're not working 30 hours a day, 10 days a week are you even working

torn shuttle
#

I wish

#

actually these past few weeks have been particularly brutal

echo basalt
#

all this and he still lives in a shoebox

torn shuttle
#

I'm actually cutting back on sleep to work more

echo basalt
#

something something health money something

torn shuttle
#

the funniest part is that he's been to my place

#

this place is so big I'm looking to buy smaller

eternal oxide
#

small home, lots of land is best

torn shuttle
#

I live alone, I don't need 6 bedrooms

#

also I hate being in an apartment

#

I can't tell if I'm using virtual machines incorrectly or if they're just slow

#

they feel really sluggish

#

does anyone here use VMs on windows

#

that are good enough to, say, play games on

#

I don't really plan to play games but the stuff I've tried is just infuriatingly slow

kind coral
#

anyone ever used flyway for database versioning and migration? trying to use it with postgres, but always giving me errors (i had version 17 and downgraded to 14.17 because i saw it was not yet compatible with latest but damn the 14.17 is pretty old now)

Caused by: org.flywaydb.core.api.FlywayException: Unsupported Database: PostgreSQL 14.17
    at org.flywaydb.core.internal.database.DatabaseTypeRegister.lambda$getDatabaseTypeForConnection$7(DatabaseTypeRegister.java:131) ~[flyway-core-11.4.0.jar:na]
    at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na]
rough crane
#

help someone pls. how to load shader into the client through a plugin like from shaders/post/invert.json? i saw this on one server

blazing ocean
#

use a resource pack

hardy sundial
fickle spindle
#

how can i make that the lapis doesn't go in my inventory but they go in the enchanting table? @EventHandler public void ench(PlayerInteractEvent e) { if (e.getClickedBlock() != null && e.getClickedBlock().getType().equals(Material.ENCHANTING_TABLE)) { e.getPlayer().openEnchanting(e.getClickedBlock().getLocation(), false); e.getPlayer().getOpenInventory().setItem(1, new ItemStack(Material.LAPIS_LAZULI, 64)); // Set lapis in the Lapis slot (index 1) } }

fair rock
#

OpenEnchanting returns InventoryView

So you could use that for setItem?

#

But its deprecated. I would switch after reading that

fickle spindle
fair rock
#

InventoryView inventoryView = e.getPlayer().openEnchanting(e.getClickedBlock().getLocation(), false);
inventoryView.setItem(1, new ItemStack(Material.LAPIS_LAZULI, 64));

#

idk something like that?

fickle spindle
#

oh okay

#

how can i put a specific potion in a gui? idk how to set the PotionMeta

chrome beacon
#

get the item meta cast to potion meta

#

modify potion meta and then set it back to the item

fickle spindle
fair rock
#

Where is the problem with that

echo basalt
#

pretty sure you needed some virtualbox extension to have more than 128mb vram

blazing ocean
#

qemu my beloved

robust saffron
#

Has anyone tried protocollib with spigot 1.21.4? I tried using the dev build jar but I get a NoSuchMethodException on ClientboundPlayerInfoUpdatePacket constructor when running my plugin. Is anyone able to provide insight to this? Any advice is appreciated

chrome beacon
#

Could you send the entire error

#

?paste

undone axleBOT
robust saffron
#

sure

fickle spindle
#

how can i hide the effect of a potion?

robust saffron
chrome beacon
robust saffron
chrome beacon
#

It's probably not

#

Could you show how you're constructing the packet

robust saffron
#

sure

#

This is what I assume is sending the ClientboundPlayerInfoUpdatePacket

chrome beacon
#

I mean I hope you know it is since it's your code

#

Could you send the output from /version ProtocolLib

robust saffron
chrome beacon
#

That's not the latest dev build

robust saffron
#

I just realized. Thanks Olivo for your help

low field
#

is there an event thats called when the durability of an item goes down

young knoll
#

PlayerItemDamageEvent iirc

low field
#

alright thanks

barren peak
#

does .teleport() not work for item displays? if not then what do you use to move them? if yes then uhh it isn't working?

sly topaz
#

it should work fine, are you sure your method is being called?

barren peak
#

ill double check rq

chrome beacon
#

Move them with transforms so the get interpolated clientside

barren peak
chrome beacon
#

teleport duration will probably work too

#

depends on the movement being done

sly topaz
# barren peak wdym?

display entities can be transformed in different ways, like rotating or expanding them, and that transformation can be interpolated for a smooth transition

low field
#

is there a way to get a list of players affected by an explosion

sly topaz
#

if you are just trying to rotate the item display, it is probably better to use transformations

#

if you are actually moving it around, then yeah teleport

barren peak
#

so im rotating them in a circle around an entity (so moving them)...would transforms be better / faster?

sly topaz
#

for that purpose, teleporting is fine

low field
#

atleast translate and rotate it then

#

with yaw

sly topaz
low field
#

but like

#

a certain explosion

#

i wanna do 5 extra damage

barren peak
#

welp I have a new question as they all individually rotate around in a circle but they don't move together...it's quite strange they are individually rotating in these skinny ovals instead of a circle pattern... probably has to do with the center of the entities? (like they are being teleported but the center of display item is off?)

sly topaz
#

maybe your math is off

sly topaz
low field
#

one i create myself

sly topaz
#

Either way, checking the EntityDamageEvent's DamageSource is going to be

#

DamageSource provides the source location so you can use that to check whether it is your explosion

#

of course, you'd have to track the location(s) independently of the events

sly topaz
#

I mean, I can't really say anything about that without actually looking at the math lol

barren peak
#

how do you do the code block thing

sullen marlin
#

tbh that looks fun as -is

#

backticks

sly topaz
#

?codeblock

undone axleBOT
#

You can use the discord code block format to display code or just text in a more pleasing way:
```java
public class MyPlugin extends JavaPlugin {
@Override
public void onEnable() {

}

}```
Becomes:

public class MyPlugin extends JavaPlugin {
    @Override
    public void onEnable() {

    }
}```
sly topaz
#

there we go

barren peak
#
double xMod = amp * Math.cos(Math.toRadians((i * 6) + (j * 120)));
double zMod = amp * Math.sin(Math.toRadians((i * 6) + (j * 240)));
boneLoc.add(xMod, 1, zMod);
j++;
bone.teleport(boneLoc);```
sly topaz
#

why are you adding 240 to z and not 120

barren peak
#

oh it should be 120 let me try that lol 1s

#

it works now

#

tysm

young knoll
#

Maffs

sly topaz
#

np, though I agree with md on the oval motion looking better tbh

barren peak
#

lol it kinda does

sly topaz
#

I do wonder if one could achieve that effect with transformations instead of teleportations

barren peak
#

it might be less laggy?

sly topaz
#

well, it is ran on the client side so potentially

barren peak
#

though im not very familiar with transformations

sly topaz
#

the issue with them is that you have to time things properly

sullen marlin
#

I think they only interpolate linearly so probably not unless the math falls out of the transformation matrix (which it might idk)

#

I think its fine as is lol

sly topaz
#

same, just food for thought

hardy sundial
#

The Nexus repo server of spigotmc sends an invalid Content-Type header which creates an error in my own Nexus server not letting me download any dependencies:

2025-03-15 22:04:10,081+0000 WARN [qtp876945112-566] admin org.sonatype.nexus.repository.view.handlers.ExceptionHandler - Invalid content: HEAD /org/bukkit/bukkit/1.13.1-R0.1-SNAPSHOT/maven-metadata.xml: org.sonatype.nexus.repository.InvalidContentException: Content type could not be determined: org/bukkit/bukkit/1.13.1-R0.1-SNAPSHOT/maven-metadata.xml

I checked the Content-Type header and its malformed:
content-type: org/bukkit/bukkit/1.13-pre7-R0.1-SNAPSHOT/maven-metadata.xml

url:
https://hub.spigotmc.org/nexus/repository/snapshots/org/bukkit/bukkit/1.13-pre7-R0.1-SNAPSHOT/maven-metadata.xml

eternal oxide
#

pre7 is Not 1.13.1

sullen marlin
#

yeah the content types for old versions are cooked, and idk when/where nexus did it

#

pretty sure you can configure your nexus to ignore them idk

hardy sundial
#

Strange

#

Thanks will do that

sullen marlin
#

that being said, it seems fine for me

#

on the /public endpoint anyuway

#

so I'd just use that rather than snapshots

#

I just rebuilt metadata which fixes the maven-metadata types, but the artifacts are still cooked types

barren peak
#

any way to get rid of the particles that appear when dealing a lot of damage, because when I hit an entity in my plugin and do a lot of damage there are a ton of particles and this happens and it lags out the game:

worthy yarrow
#

Are you the one spawning more particles?

barren peak
#

nope

worthy yarrow
#

So this is a side effect of your plugin?

hardy sundial
#

The Nexus option to disable strict content type validation option does not seem to have any effect

barren peak
#

minecraft does that when a lot of damage is done based on how much damage. in this case I am dealing 1,000,000 damage so the particles just appear

sullen marlin
#

yeah that doesnt look like a normal amount of particles lol

#

oh 1 million damage

barren peak
#

yeah lol

sullen marlin
#

well that's not a normal amount of damage

worthy yarrow
#

yeah...

sullen marlin
#

have you tried using sensible amounts of damage

barren peak
#

so do I have to move to my own damage system? or is there a way to get rid of particles

worthy yarrow
#

Maybe just reduce that kek

#

Why do you need to deal that much damage in the first place?

sullen marlin
#

this OP damage stuff is stupid. Instead of sharpness 5000000 with protection 1000000 armor, lets just have sharpness 5 and protection 1

#

like it's the same outcome at the end

drowsy helm
#

Thats what everone else does

outer tendon
barren peak
#

alright thanks

barren peak
outer tendon
#

it's like everyone starting off with an OP pick

outer tendon
#

reminds me of fun accidental visuals made by algorithms built for physics rendering or something similar

barren peak
young knoll
#

Probably packet nonsense

#

Maybe

#

Or just make your own damage system

barren peak
#

yeah thats probably the best option its just more work :/

worthy yarrow
#

Is that much damage really needed tho?

drowsy helm
#

Could be an rpg server

barren peak
drowsy helm
#

you never know the context

worthy yarrow
#

ah

sullen marlin
#

til rpg = insane damage

drowsy helm
#

the fun ones, yes

slender elbow
#

big number = brain likey

young knoll
#

You could always cheat and display damage scaled up by like

slender elbow
#

despite it being entirely useless

young knoll
#

100x

eternal oxide
#

why not keep it damage of 1 or 5 and simply multiply it in teh damage marker

drowsy helm
barren peak
#

yeah I was just hoping there was a way to get rid of the particles entirely as they are just annoying

drowsy helm
#

look at a game like Path of Exile

#

the big numbers are necessary

slender elbow
#

my point is that everything being in units of 100000 is the same as everything being in units of 1

young knoll
#

But but

#

What if I run into precision issues with low values!

drowsy helm
#

Idk where everyone is getting this assumption from one screenshot

young knoll
#

I mean you need to have at least some range

#

Imagine an RPG where the tutorial enemies have 10 health and then the final boss has… 20

sharp yoke
#

can someone help me about removing "When on Head" text from item tooltip

#
  if (itemData != null) {
                Material material = Material.getMaterial(itemData.getBaseItem());
                if (material != null) {
                    ItemStack item = new ItemStack(material);
                    ItemMeta meta = item.getItemMeta();
                    if (meta != null) {
                        meta.setUnbreakable(true);
                        meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
                        meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE);
                        meta.setDisplayName(itemData.getSerializedName());
                        item.setItemMeta(meta);
                        player.getInventory().addItem(item);
                    }```
chrome beacon
#

If you're running Paper you need to add an attribute

sullen marlin
#

?whereami

sharp yoke
carmine mica
#

yeah, with 1.21.5, the vanilla item format finally supports doing this again, so won't be an issue then

barren peak
sharp yoke
chrome beacon
#

You should move over to Papers discord since you're not using Spigot

barren peak
#

whats the name for the sharpness particle

#

found it its called ENCHANTED_HIT

rotund ravine
#

I played some 255 wow with donator items instead of normal when i was younger cause i loved the high numbers and heals. Was great

mortal vortex
#

anyone know how you make an IJ theme?

worthy yarrow
#

any picture

mortal vortex
#

what?

worthy yarrow
#

Any picture works

mortal vortex
#

i dont understand?

#

How is a picture related to what i asked.

worthy yarrow
#

I might be thinking of the background

mortal vortex
#

yeah, i meant like how on the plugins marketplace, there is like "nord' and shit. i was wondering how you make your own

sly topaz
mortal vortex
#

and also, the "Create" button does not work

sly topaz
mortal vortex
#

soo 17 will work?

kind hatch
#

Probably

sly topaz
#

depends on the IJ version

#

if it is IJ 2022.3+, use 21

mortal vortex
#

u mean 17

#

is it forwards compatible? if i build for 2022.3, will it work on 2024?

sly topaz
#

the platform versions documentation above goes into detail as to how to set the IDE version compatibility as well as tooling required to suport multiple versions if that's what you wish

mortal vortex
#

does plugin development use its own SDK? i use IJ all the time and do have JDK installed.

sly topaz
#

you probably don't need to care about that right now though, just make the project and start editing the default color scheme

sly topaz
mortal vortex
#

fock okay

sly topaz
#

but that's separate from the JDK, wonder why it isn't giving you the options

remote swallow
#

I'm guessing it's probably jbr

sly topaz
remote swallow
#

Ah

sly topaz
#

for themes, I believe it provides the IDs for the UI controls and whatnot

mortal vortex
#

i wish i still had slaves who'd make themes for me

sly topaz
#

IJ provides little customization for themes, I personally don't find it worth the effort

#

not that it is much effort, it is just editing the color schemes in a json file but still

jade oasis
#

?paste

undone axleBOT
jade oasis
drowsy helm
#

Also also you could cut down like 80% of this boilerplate

jade oasis
drowsy helm
#

and as for boilerplate, each punishment could just be an enum

tender shard
#

since InventoryEvents are always called sync, that will work fine

echo granite
#

Hey, I wanna make a plugin that accesses a Minecraft API endpoint that requires authentication, but in order to get the token I need to create an Azure account, but that piece of garbage requires my credit card!
Is there an alternative?

#

I simply want to change my skin using a command ._.

rough ibex
#

I really don't believe you need an Azure account to get a token.

#

What's the documentation you're reading?

echo granite
#

First thing mentioned is an azure account 😭

#

This makes no sense, I literally just want to change my skin

sullen marlin
#

Not sure if you need a credit card but yeah seems like you need an account

#

But are you trying to change your account skin or just on the server

jagged thicket
#

Yeah there are ways to change skins in the particular server , like skin restorer does

echo granite
echo granite
echo granite
sullen marlin
#

Yeah looks like you're out of luck then

#

Can maybe steal the vanilla details idk

echo granite
#

I'm speechless, it's just a skin change, I didn't ask for more API requests per minute or something similar

jagged thicket
#

do you want to change ur skin

#

or other peoples?

echo granite
jagged thicket
#

OH

#

then you can do many stuff lol

sullen marlin
#

Or just steal your own user token

jagged thicket
#

yeah, if it is yours you don't need such azure accounts

echo granite
jagged thicket
#

you can use your microsoft stuf

sullen marlin
#

Might even be in the client logs

echo granite
sullen marlin
#

But I'm not sure why this needs to be a command

echo granite
#

I would need an hour long story to explain xD

echo granite
#

it leads me to the azure account again

jagged thicket
#

like just logging in with a browser

#

then fetch 2fa then login

echo granite
#

oh god

echo granite
#

Selenium against Microsoft doesn't sound like a good idea

jagged thicket
#

yeah, they might flag you as a bot

sullen marlin
#

I don't think whatever you have planned is a good idea lol

echo granite
#

if their html stuff isn't even obfuscated lol

jagged thicket
#

without azure, this is the only way probs

echo granite
#

within a mod, plugin, springboot project, anything

sullen marlin
#

Nah

#

Doesn't

#

I haven't changed my skin in 14 years

jagged thicket
#

wait can you hack around the client?

jagged thicket
echo granite
jagged thicket
#

it can

#

im asking if you can hack the client to automate skin changes

#

like you want

echo granite
#

like forge

jagged thicket
#

No i mean the minecraft launcher

echo granite
#

uhh

#

I have no idea

jagged thicket
#

Oh yeah its asking credit card verifiation for azure account verification 💀

#

that is awful

echo granite
#

I don't trust microsoft with my first name, why would I trust them with my credit card?

sly topaz
#

Azure is their cloud provider platform, which is where the Minecraft skin API runs

echo granite
#

so it's not just skins

sly topaz
#

and yes, anything minecraft API runs under azure authentication, because that's where it is hosted

jagged thicket
#

they want to prevent api spamming their servers so they added a verification prolly

#

same for oracle free vps

#

otherwise there would be so much abuse of free stuff

echo granite
#

Oh, I understand now

#

but let me ask you guys for real

#

would you give your credit cards for microsoft for any purpose?

sly topaz
#

why would I not, it is Microsoft not thepiratebay

jagged thicket
#

i don't mind it

#

it is so much simpler than using selenium

echo granite
#

another personal identifier given to a mega corporation

#

my gut feeling screams

sly topaz
#

I mean, if you really care about that, you can deploy your own skin server, I believe there are some clones around in github

#

but I personally don't see the point in going against it for anything practical

jagged thicket
#

there are many oss api

#

which are already hosted even

#

but then others can't see it

echo granite
#

Sorry for my lack of knowledge

sly topaz
#

you deploy your own skin server and have a client mod so that they can switch from minecraft's one to yours

jagged thicket
#

this a popular one

sly topaz
#

but it is a very convoluted process, I wouldn't personally recommend it

jagged thicket
echo granite
jagged thicket
#

yes

echo granite
#

alright, thank you very much for all the help

#

I'll consider everything you told me

eternal oxide
#

You could mod the server as I believe the url is hard coded on the server not client

young vine
#

There are events for profile filling one could use to circumvent the official Mojang API

nova notch
grim hound
#

is there a thread-safe method of Bukkit.getPlayer?

mortal vortex
grim hound
sullen marlin
#

I think getOnlinePlayers is thread safe due to being backed by a copy on write list (but not guaranteed to be so by the API)

blazing ocean
grim hound
blazing ocean
#

// Paper - ...

grim hound
grim hound
mortal vortex
#

@blazing ocean stfu

#

that clearly says Paner

blazing ocean
#

@mortal vortex stfu

mortal vortex
#

bitch

blazing ocean
#

true

#

I love paner

sullen marlin
#

?

grim hound
#

cuz manual search

mortal vortex
#

he just said its threadsafe?

grim hound
sullen marlin
#

Why do you need this anyway

grim hound
#

uh

#

stuff

sullen marlin
#

Virtually none of the API is thread safe

grim hound
#

netty threads

sullen marlin
#

You need to call back into the main thread and back

grim hound
#

I see

#

won't do

echo granite
eternal oxide
#

I'm a homeless

jagged thicket
#

( bro lives in 10000000000 acres of land he bought in 1998 )

blazing ocean
#

1898*

eternal oxide
#

noo, you ruin it all

jagged thicket
#

( he doesn't have a home there tho )

#

( just open land )

echo granite
quaint mantle
echo granite
wet breach
#

o.O

#

microsoft may be a large corporation but banks and the financial sector is far larger then microsoft

jagged thicket
#

yo frost , haven't seen you in a while

#

did you get a new car

wet breach
#

not only would a bank take issue, but so would visa. Could you imagine how crippling it would be if visa banned microsoft from any visa payments

wet breach
fickle spindle
#

how can i check on EntityDamageByEntityEvent if the damage is 0 or it's more because i want to check if the pvp start in a region where the pvp is off it'snt

buoyant viper
#

or getFinalDamage

#

?jd-s

undone axleBOT
fickle spindle
young knoll
#

You may need to change listener priority

buoyant viper
#

if pvp is off for a region, the event might be cancelled all together? idk

fickle spindle
#

nope final damage is always 1

fickle spindle
young knoll
#

Yeah it’s probably cancelled

#

Otherwise you’d still take knockback and such

fickle spindle
young knoll
#

Check if the event is cancelled

#

Or use ignoreCancelled

young kettle
#

ik im late but did you find out that is it allowed or no? xD

polar forge
#

Hey guys

#

So i made a plugin following a tutorial. Its a /warp plugin

#

this is the error i get

jagged thicket
polar forge
#

But the plugin is spigot

#

and thats what its causing the problem

chrome beacon
polar forge
#

what does that mean? And why only for that plugin and not the others?

eternal oxide
#

?passte your plugin.yml

#

?paste

undone axleBOT
chrome beacon
#

Your plugin.yml has the commands section as a string instead of a section

polar forge
eternal oxide
#

do you have a paper.yml too?

polar forge
#

no

eternal oxide
#

that plugin.yml is not in the jar you are testing

polar forge
#

why so

chrome beacon
#

probably using an old jar or smth

eternal oxide
#

oh I see it

#

last command

polar forge
#

i did the same things i usually do with the other plugins

chrome beacon
#

I missed that too

polar forge
#

description?

#

bruh

eternal oxide
#

one of those commands is not the same as the others

polar forge
#

wdym?

eternal oxide
#

look at all 3 commands

polar forge
#

I miss the description section

eternal oxide
#

yes, its just a string instead of a map

polar forge
#

And ive put the description next to the command

#

dumb from my side

eternal oxide
#

yep, you are no longer permitted to use a computer

polar forge
#

D:

fair rock
#

starts programming plugins with smartphone via app

polar forge
#

hey @eternal oxide

#

do u remember the freeze plugin i was trying to fix?

#

^ FreezeListener

#

It still cant freeze players

blazing ocean
fair rock
#

Where is the @EventHandler on that method

shadow night
polar forge
polar forge
blazing ocean
#

you need to add @EventHandler

polar forge
#

after which method

chrome beacon
#

?eventapi

undone axleBOT
fickle spindle
#

how can i push the player back?

fair rock
#

setVelocity?

glossy laurel
#

is it true that PlayerJoinEvent is always the first event that gets called when a player joins the server? (excluding the prelogin events and allat)

blissful elm
#

im sorry why do buildtools for 1.21 download 1.21.1?

smoky anchor
#

It contains one critical server crash fix, server 1.21.1 is compatible with client 1.21

#

no reason for 1.21 to exist

blissful elm
#

oh

#

thank you

glossy laurel
#

not exactly spigot, but how do I change the update interval for PAPI placeholders

chrome beacon
#

Wouldn't that be handled by the caller or placeholder implementation

#

I don't think PAPI caches anything for you

blissful elm
#

i do have buildtools downloaded

chrome beacon
blissful elm
#

yes

chrome beacon
#

Did you use the remapped flag

blissful elm
#

yes

floral drum
blissful elm
#

i used the gui

floral drum
#

righty

blissful elm
#

👍

#

i need help 😭

#

ok so

#

C:\Users\USERNAME\.m2\repository\org\spigotmc\spigot

#

in here

#

the spigot 1.21.1 file is like

#

0 bytes

#

2 0 bytes files

#

and 1 18mb file

#

hmmm

#

is that normal

eternal oxide
#

which file is 0 bytes?

#

screenshot time

blissful elm
#

yes

#

2 of the 1.21.1 and 2 of the 1.21

eternal oxide
#

um you have a lot of bad files in there

blissful elm
#

do i like

eternal oxide
#

folder names are wrong

blissful elm
#

delete

#

oh what

eternal oxide
#

delete all the filders

blissful elm
#

done

eternal oxide
#

now run buildtools and build 1.21.1 (if you want .1)

blissful elm
#

i ran 1.21 and it gave me 1.21.1 because of a server crash fix

#

so ill just run 1.21.1 again

#

1.21.1 is compatible with server 1.21?

eternal oxide
#

yes

#

now open the 1.21.1 folder and show what is in it

blissful elm
#

in the repo?

eternal oxide
#

yes

blissful elm
#

spigotapi or spigot

#

i think spigot but making sure

eternal oxide
#

if you are using nms then spigot. if you are not and just wat the api then spigot-api

blissful elm
#

spigot then

eternal oxide
#

ok run buildtools again with the remapped flag

blissful elm
#

ok

eternal oxide
#

now your project shoudl have access to 1.12.1 (nms)

blissful elm
#

oh pom.xml no longer has an error

#

thank you!

mortal hare
#

shower thought: why i don't seem to find an example where java dev uses underscore to denote private function names and variables? Why? sure we have private accessors but prefixing with underscore you can instantly know its not meant to be used outside internal uses also it filters out such functions and variables from autocomplete suggestions internally

#

i guess hungarian notation duh, but isnt verbosity here is better tho

chrome beacon
#

That's common practice in C#

#

also it's required in Dart uwu

mortal hare
#

ngl im gonna probably break the rules here and adopt it in java

#

i dont care if nobody uses that

#

names are for clarity and not for pretty words

#

if it tells me info i need, im down

chrome beacon
#

As long as you're consistent

grim hound
#

Can you make text displays experience light levels?

#

they're unusually bright

pliant topaz
#

their glow strength can be set but not be adapted dynamicslly unless you do the logic yourself afaik

mortal hare
#

you probably can, but you can always use good ol' armor stands method

grim hound
#

yeee thanks brotha

#

will test it out

chrome beacon
#

By default it should just use the lighting of the position the entity is in

#

That setter is really for when you want to change it outside of that

#

And the default is null

chrome beacon
torn badge
grim hound
#

easier to mention field rather than _field when programming

mortal hare
#

what if lets say i have Static helper method

#

which is private and only to make it to remove DRY or just for clarity

#

Foo._constructSomething() instantly lets you know that you shouldnt expose it to public

#

without reading access modifier

#

this might work with IDE access

#

but what if a person reads it from github

#

or other git repo

#

sometimes exposing it under normal name doesnt make sense if its private because method might depend on the specific object state and its only to make it easier to read

mortal hare
#

but that's the point, its harder to mention, thus its harder to mutate something you shouldnt internally

#

_ instantly make you think: hold up you do know that calling this function or accessing field might have complications, right..... right???

grim hound
#

...for the actual developer of the code

#

c++ makes sense

#

java has private

mortal hare
#

so does c++

grim hound
#

ah

torn badge
mortal hare
#

it doesnt change anything, its just that the name instantly tells you in what context it should be used or is being used

#

without looking up for a declaration of it

rough drift
#

skill issue tbf

torn badge
#

I don't think I ever had to look up the visibility of a field

rough drift
#

just don't use public fields

mortal hare
#

because you usually write code from IDE

#

but if you would need to review PR's mostly

#

it would be a lot better imho

mortal hare
#

im just suggesting if its private field denote it with _ prefix also

#

so your mind could comprehend the logic better

#

without looking up for modifiers constantly

torn badge
#

Optimizing your code to be easier to read in PRs is definitely the wrong approach

rough drift
#

^

mortal hare
#

if code's readable in PR's, its readable for everyone

rough drift
#

uh wrong approach

mortal hare
#

at least that's what i think

torn badge
#

I mean conventions exist

#

In Java a field will be private or protected most of the time

mortal hare
#

i just feel like when you have mixed bag of methods which are public and private and you access them internally, whether its in the same class or not prefixing it with _ could give you context of what you're reading quicker

#

its a preference

rough drift
#

put private methods at the bottom

torn badge
#

Why do you need that context? I search my methods by name and not by visibility lol

mortal hare
#
private foo() {
  this.bar();
  this.baz();
}

method calls are ambigous on its own, calls do not tell themselves which are internal which are public access

private foo() {
  this._bar();
  this.baz();
}

this does tell which is internal and which is not

sure with IDE's there's no problem, but when you add on the fact that java verbosity adds to the line number amount, constantly having to jump around file in lets say git repo is kind meh.

#

its just easier to comprehend what's going on

#

just like when i add this

#

everywhere

#

i can omit it

torn badge
#

Honestly I feel like that's a solution to a non existent problem

mortal hare
#

but i decide not to because i want to know where its declared without having to jump between files

torn badge
mortal hare
#

yea, but i also use it for denoting where the method is from

#

i just prefer using this even if its optional

#

and static with full class qualifiers

#

Foo.staticfoo()

torn badge
#

Yeah I agree on that

robust helm
#

ItemBuilder library recommendations

torn badge
#

But for underscores I think it messes up more than it actually adds any benefit

mortal hare
#

its just that its not common to write like that, and usually languages which do not have access modifiers write variables like that

torn badge
#

Java has always been like that so it is common for Java

#

The uncommon thing would be to break convention and still use it

rare karma
#

I would like to use: import net.minecraft what should I add in my pom.xml please?

chrome beacon
#

?nms

rare karma
#

Is this valid above 1.20?

torn badge
#

You need to build the remapped jar locally using BuildTools

rare karma
mortal hare
#

its a completely different thing from buildtools

rare karma
#

Okay thank for you help

mortal hare
mortal hare
rare karma
#

Oh thanks but everything is explained according to Gradle (which I don't know) I only use Maven xD

robust helm
#

How do yall mark slow methods in java? like methods that do things over the slow internet such as db lookups

thorn isle
#

for methods that are "slow" because they block on e.g. IO like you described, throwing InterruptedException is a good indicator that it might take a long while and could include interruptible waits

dry hazel
#

I mean you could use the Blocking annotation from JB annotations

robust helm
#

hmm

#

no blocking annotation from jb for me but ig ill js make my own one

#

cuz I also dont want to catch InterruptedException

dry hazel
#

org.jetbrains:annotations

thorn isle
#

interrupts do get thrown with blocking io most of the time anyway, so you should be handling them already for internet and db lookups in your example

#

or are you try-catch-ignoring them? ♿

robust helm
#

If i knew what i was doing i wouldnt be here

#

rn im only using try-with-resource at the whole db stuff

robust helm
#

ig ill try that approach. Ty everyone

cinder abyss
#

Hello, InventoryDragEvent seems to not be called when I move an item from a custom inventory to my inventory :```java
@EventHandler(ignoreCancelled = true, priority = org.bukkit.event.EventPriority.HIGHEST)
public void onInventoryDrag(InventoryDragEvent e) {
EmerixeMurder.getInstance().getLogger().info("onInventoryDrag");
e.getWhoClicked().sendMessage("aaa");
System.out.println(e.getView().getTopInventory().getHolder());
//if (!(e.getView().getTopInventory().getHolder() instanceof KillWitherCoalFurnaceTask.KillWitherCoalFurnaceHolder)) return;

e.setCancelled(true);

}```
And I never see those prints. Also, my class with events implements Listener and is registered with getServer().getPluginManager().registerEvents(new InGameListeners(), this);

eternal oxide
#

impossible

#

what is the custom inventory?

thorn isle
#

note that ignoreCancelled=true means you will not see cancelled events

robust helm
#

https://imgur.com/a/6Tj02vG
How can i allow a lambda to throw an exception?

When i use an anonymous interface(i think thats what its called) I can annotate it as @SneakyThrows but that gets rather messy

thorn isle
#

and priority highest means that most plugins will get a chance to cancel the event before you get a chance to see it

#

unless there is an overload that accepts a Callable rather than a Function/Runnable, you're stuck with sneakythrows

#

this is a large part of why people don't like checked exceptions in java

eternal oxide
#

or try/catch

robust helm
#

damn

robust helm
thorn isle
#

try/catch is even worse than sneakythrows imo because then you're losing the type of the exception for no reason, and for upstream to handle it appropriately you'll have to like catch a runtime exception and get its cause and do a bunch of instanceof spaghetti to handle it

robust helm
#

what if i js dont handle it 🙂

#

i mean its only some fun perk in the lobby so it doesnt matter if it doesnt load

thorn isle
#

not exactly a good habit to make but yes you can "handle" it where it's thrown by printing a message and a stack trace to stderr

robust helm
#

alr ty

thorn isle
#

personally though i just wrap lambdas like these in sneakythrows; there's not really any meaningful reason not to allow exceptions to propagate without being caught in these situations, it's strictly a language limitation

#

so although sneakythrows is super evil i find it acceptable in these cases

cinder abyss
thorn isle
#

try without the annotation

cinder abyss
thorn isle
#

i mean without parameterizing the annotation

#

specifically ignoreCancelled

#

if you completely remove the annotation it of course won't work

#

the next question is whether you've registered the listener

slender elbow
#

a lambda is no different than a formal method, so why would they get special treatment when it comes to exception handling?

thorn isle
#

syntactically, yes

#

hence language limitation

#

in practice and in principle, however, a lambda body here is essentially local code which shouldn't be treated differently from other local code

slender elbow
#

🤨 not just syntactically, semantically it's just an unnamed method

robust helm
thorn isle
#

yes, the language is defined in terms of syntax and semantics

#

what the programmer intends with it is a different matter

#

and here we have a conflict between the two

slender elbow
#

just as you can't throw a checked exception in a named method that doesn't have throws declarations

#

again i fail to see why lambdas should get special treatment

thorn isle
#

not all lambdas; lambdas in this specific kind of case

slender elbow
#

but the language can't know that

thorn isle
#

yes

#

hence, language limitation

#

a limitation of the language

#

i'm not saying the language should be changed

slender elbow
#

it's also not specific to lambdas then lol

thorn isle
#

absolutely not, it also affects anonymous local classes and other ways of going around this

#

i'm saying there's a limitation to it and we're getting around it with sneakythrows

#

and sneakythrows is evil specifically because it lets you get around the language's checks and balances

#

but since we're using it to cross a language limitation, using it is fine here

slender elbow
#

eh

#

the more proper solution would be to wrap it in and throw an unchecked exception

#

sneaky throws is just.. a hack

thorn isle
#

that has its own issues and doesn't match programmer intent

slender elbow
#

then i'd argue that the intent is flawed

thorn isle
#

take for example

map.computeIfAbsent(key, (k) -> someThrowingMethod())``
slender elbow
#

yes, that is flawed imo

thorn isle
#

this is fundamentally equivalent to (and is default implemented in Map as)

if (!map.contains(key)) map.put(key, someThrowingMethod())
#

one compiles, the other does not

#

yet there is no fundamental difference apart from the language syntax; the programmer intent is the same

slender elbow
#

and to me that intent is wrong to begin with

#

but sure, this is where it ends

thorn isle
#

what's wrong with the intent?

#

am i not allowed to call a method that might throw, to put something in a map?

#

now, the language reason why the former isn't allowed that there is no guarantee in terms of the language that the passed lambda will be executed on the same thread and right now; it might be executed by someone else on some other thread's stack, which would make it impossible for the checked exception to propagate to a handler that expects it (the "check" i checked)

#

however as the programmer we can tell that this isn't the case, as it isn't the case in the former example

#

so i circle back to what it is, a language limitation

robust helm
#
// ...
        Tasks.newChain()
                .delay(5, TimeUnit.MINUTES)
                .sync(new SaveChangeToActualStorageTask(uuid, perk, millis))
                .execute();
    }

    @RequiredArgsConstructor
    public class SaveChangeToActualStorageTask implements TaskChainTasks.GenericTask {

        private final UUID uuid;
        private final Perk newPerk;
        private final long millisAtChange;

        @SneakyThrows
        @Override
        public void runGeneric() {
            if (nextHandler == null)
                return;
            boolean isLastChange = lastChangeMillis.get(uuid) == millisAtChange;
            lastChangeMillis.remove(uuid);
            if (!isLastChange)
                return; // avoid spamming requests
            nextHandler.handleUpdate(uuid, newPerk);
        }
    }

is this fine?

#

cuz the name is so looooong

glossy laurel
robust helm
#

Tasks.newChain()

#

is the schedular ig

thorn isle
#

just remember to eventually catch and handle the exception

#

that will only run once i think

blazing ocean
thorn isle
#

try using BukkitScheduler::runTaskTimer

#

unless you only intend to save once for whatever reason

robust helm
#

its js pushing the cache to the persistent database

robust helm
buoyant viper
#

Lombok 💔

robust helm
#

whats wrong with it?

blazing ocean
robust helm
#

lombok is great

#

no more basic boring constructors!

blazing ocean
#

you see, records

robust helm
#

can i use them the same way like classes??

buoyant viper
#

they pretty much are classes

blazing ocean
#

I mean they're kind of just glorified immutable classes

robust helm
#

glorified?

#

wait records might actually be cool

robust helm
#

sight another hour of rewriting

mortal hare
#

its just syntax sugar like enums

#

they're all implemented through classes internally

robust helm
#

lombok is also js syntax sugar

#

but not even native java

blazing ocean
#

JS syntax sugar?

#

what is this, web dev?

mortal hare
#

imho records is the worst addition to modern java. Concept is great but it has too many cons of using it

#

it doesnt work with javabeans spec

#

it just feels like fisherprice version of a simple class with private constructor and bunch of getters

#

enums on the other hand is a just enough for them to be useful

robust helm
#

im not smart enoughj to discuss that

#

i rather need to know how i can handle an exception in a schedular

mortal hare
#

neither am i tbh, if i said this to some OOP madman he would 99% disagree

echo basalt
#

They suck

thorn isle
#

i don't mind records, i think they're alright and i haven't really ran into any issues with them

ivory sleet
robust helm
#

another hour wasted

fickle spindle
#

how can i remove only one from the item in the hand ?p.getInventory().remove(p.getInventory().getItemInMainHand());

warm mica
#

If it's 0, set it to air

fickle spindle
thorn isle
#

iirc setting the amount to 0 nowadays turns it to air automatically

#

ItemStack::subtract

#

this actually used to be a difference between the craftitemstack and bukkit itemstack impls, bukkit stacks would keep their type and meta even if their amount was set to zero, but craftstacks wouldn't

fickle spindle
#

so there is no need to check if it become 0?

thorn isle
#

not on paper at least

feral bear
#

Hello, does anyone have a code for changing a player's nametag?

#

With protocolLib or other

chrome beacon
#

We won't spoonfeed you code

#

Just use an existing plugin

left jay
#

can someone explain rq why my /chooseStyle command isnt showing up in game?

chrome beacon
#

What do you mean by not showing up ingame? What happens when you run it?

#

Also make those commands lowercase

chrome beacon
#

You put /chooseStyle as the command

#

I don't exactly remember if it's case sensetive but make sure it's not that

left jay
#

no its not case sensitive

thorn isle
#

if the plugin is disabled or fails to enable all of its commands are unregistered

chrome beacon
#

Yeah that too

left jay
thorn isle
#

let's see your startup logs

left jay
thorn isle
#

?paste

undone axleBOT
left jay
thorn isle
#

that should print an error at plugin load time afaik

#

always good to look at the entire log from start to finish, not just when your plugin enables

feral bear
#

Hello, would anyone know how to modify nametags without teams ? Thanks

cinder abyss
#

Hello, how can I fire an event when a player moves an item from one slot to another (in the same inventory) ?

#

and also getting the start slot and the end one

chrome beacon
#

Getting the end slot is a bit tricky

#

but you'd use the InventoryClickEvent and then calculate where it would end up

#

based on the type of click that was done

#

and what the state of the inventory is

thorn isle
#

getting the end slot is trivial for regular drag-and-drop inventory actions, but for shift clicking, collect to cursor and so on, you'll have to replicate the client/server logic for them

#

usually what people do is just cancel those events and only process the simple drag and drop ones

#

there's also the inventory drag event for when the client drags a stack across several slots to place items in multiple slots at once, and counter-intuitively this also fires for when only one item is placed in one slot; if the mouse is moved even one pixel's worth with the left mouse button held down, it will fire a drag event rather than a click event, so you typically must listen to both

left jay
sly topaz
feral bear
sly topaz
#

lol, not sure what solution you were looking for

feral bear
#

I would like to use protocollib

sly topaz
#

for what exactly, modifying the player's profile?

feral bear
#

But I can't really find...

sly topaz
#

I wouldn't recommend doing that but off you go

feral bear
thorn isle
left jay
# thorn isle what's the error you're getting precisely

Could not load 'plugins\ExpertiseStylePlugin.jar'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:170) ~[spigot-api-1.21.1-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:158) ~[spigot-api-1.21.1-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:122) ~[spigot-api-1.21.1-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_21_R1.CraftServer.loadPlugins(CraftServer.java:465) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4344-Spigot-a759b62-19bf846]
at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:236) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4344-Spigot-a759b62-19bf846]
at net.minecraft.server.MinecraftServer.y(MinecraftServer.java:1017) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4344-Spigot-a759b62-19bf846]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4344-Spigot-a759b62-19bf846]
at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
Caused by: java.io.FileNotFoundException: Jar does not contain plugin.yml
... 8 more

thorn isle
#

how are you building it

wet breach
sly topaz
#

make sure you properly restarted the server and not by /reload

thorn isle
#

ant 💪

left jay
#

im using an artifact

thorn isle
#

you want to build it with maven

#

this is presumably why you have a pom.xml

wet breach
#

oh, well not quite what I expected. They are actually trying to use ant for this lol

thorn isle
#

run mvn clean package from the console, or open the "maven" sidebar on the right and under lifecycle, double-click "package"

#

your issue is that you have configured your resources to be copied with maven but you're not building with maven

chrome beacon
# feral bear Add rank, /rename,..

If you really want to do it you need to modify the PlayerInfoUpdate and Remove packets, as well as the Entity Metadata + possible others such as the ones related to tab completion. It really depends on how much you want the change to affect things

#

You can find a list of packets here

#

?protocol

wet breach
thorn isle
#

for sure

#

though from that pom.xml being there i'm guessing they're trying to use maven

wet breach
#

you could setup ant to shade too, but its more of a pain to do then to just simply use maven 😛

#

yeah, I guess they didn't understand that the IDE internally uses ant for the properties stuff, but if you want to use maven you can't use that

#

and instead everything gets declared in the pom

left jay
cinder abyss
feral bear
#

Hello my code uses protocolLib, my code works but does not change the nametag :

public static void changePlayerNameTag(Main main, Player player) { 
        PacketContainer container = main.manager.createPacket(PacketType.Play.Server.PLAYER_INFO);
        container.getPlayerInfoActions().write(0, EnumSet.of(EnumWrappers.PlayerInfoAction.ADD_PLAYER, EnumWrappers.PlayerInfoAction.UPDATE_DISPLAY_NAME, EnumWrappers.PlayerInfoAction.UPDATE_GAME_MODE, EnumWrappers.PlayerInfoAction.UPDATE_LATENCY, EnumWrappers.PlayerInfoAction.UPDATE_LISTED));
        container.getPlayerInfoDataLists().write(1, List.of(
                new PlayerInfoData(WrappedGameProfile.fromPlayer(player), 0, EnumWrappers.NativeGameMode.fromBukkit(player.getGameMode()), WrappedChatComponent.fromText("TestNPC"))
        ));

        
        for (Player player2 : main.getServer().getOnlinePlayers()) {
            main.manager.sendServerPacket(player2, container);
        }
    }
chrome beacon
#

The client probably already knows about that player

#

Need to remove them first

feral bear
feral bear
cinder abyss
#

Hello, how can I remove the item on the player cursor in InventoryClickEvent ?

chrome beacon