#help-development

1 messages · Page 1305 of 1

bold nebula
#

fun fact: i have been trying to make a recoil for the past 7-8 months

smoky anchor
#

Have you tried contacting the server devs and ask them if they could give you some pointers ?

bold nebula
#

they dont respond

smoky anchor
#

sad

fickle spindle
#

How can I make a block/ a crop invisible for a player but visible for another one?

eternal oxide
#

don't spawn the block in teh world and send fake blocks to the player who should see it

eternal oxide
#

you will have to manage all interactions with the block as it doesn;t exist

fickle spindle
#

Oh okay Ty

main citrus
#

LF FREE DEV FOR SMP DM ME

nova notch
main citrus
nova notch
#

start by paying your devs

main citrus
nova notch
#

tough luck

#

make the plugin yourself

#

(its free)

main citrus
#

what plugin

nova notch
#

the one you are presumably making as you are in the #help-development channel of a server dedicated to making plugins?

harsh patrol
#

Searching Mc dev PAID

#

DMs open

pseudo hazel
#

?services

undone axleBOT
woeful sleet
#

Nah but being owner of server eith 500 player server dc

mortal vortex
mortal vortex
#

damn then, why havent you applied?

#

burgers need flipping boyo

woeful sleet
#

I live in uae this is impossible to work anywhere irl when ur 14 but i work online and i get really good money I'm at the hotel swimming pool from my last online money

#

Lol

mortal vortex
#

Hamza buddy why are you adding me

woeful sleet
#

I'm just chatting with u

mortal vortex
#

lol allgs ill accept

woeful sleet
mortal vortex
#

"lol" is a manner of laughing
"allgs" is allgoods.

#

and the rest -> ill accept your friend request

woeful sleet
#

Oh mb i dont know all the shortcuts btw when did i send u friend req but alr

mortal vortex
misty ingot
#

how would i go about sending fake block packets to players? like i want to make it so all the non-air blocks in an area turn into green wool but only for some players

rotund ravine
#

There should be a sendMulti block change thing

fickle spindle
#

which is the best way to make a "wait" in spigotapi?

chrome beacon
#

Use the scheduler

#

?scheduling

undone axleBOT
fickle spindle
#

okok ty

mellow edge
#

Is it currently possible through experimental spigot API to receive input from TextInput?

#

(In dialogs)

thorn isle
#

something something adventure

eternal night
#

that exposes a JsonElement or something else cursed

mellow edge
#

Yeah

#

Well in paper you can do it

#

With CustomClickEvent you have something like response view or smth.

#

Here you have jsonelement, but isn't the custom data prepended by the user?

eternal night
#

hm?

#

that thing is just gonna represent the compound tag sent by the custom click

mellow edge
young knoll
#

Pretty sure spigot has a custom click event

eternal night
#

it does yea ^

swift lichen
young knoll
#

Yeah PlayerCustomClickEvent

mellow edge
#

Yes, it does. PlayerCustomClickEvent. But how am I gonna use it for TextInput?

eternal night
#

you read the json element?

#

its gonna contain the response in some format

jagged thicket
#

can u use spring with spigot plugins 💀 💀

#

im pretty sure u can right

#

do ppl do that

eternal night
#

iirc it is a bit scuffed with spring due to classloader shenanigans

#

but iirc possible

jagged thicket
#

DI is cool 😈

eternal night
#

if you wanna have a DI framework, that isn't a reason to use spring

#

💀

jagged thicket
#

there is some old framework

eternal night
#

look at Dagger or Guice

jagged thicket
#

i will look into it

#

i was just learning spring boot

mellow edge
# eternal night you read the json element?

Is it contained inside jsonelement when I press a button? The event itself isn't triggered on typing.

If I can retrieve the value from JsonElement on button click, this is exactly what I need.

eternal night
#

typing doesn't send anything to the server

#

yea

#

you should be able to get the response from the json element when the client submits the dialog

mellow edge
#

Nice. I thought JsonElement only contains the data that you add via CustomClickAction#additions(JsonElement)

#

I'll have to try it and see

fickle spindle
#

there is a way for make a /reload command in the plugin that make all the plugin unload and load with the new file (ofc i will update the file in plugins folder)

thorn isle
#

get a plugin manager plugin

#

while you can get a plugin to unload itself and then reload itself with a new pluginclassloader , it's quite hacky

fickle spindle
#

okok

young knoll
#

Not that plugin managers are much less hacky :p

thorn isle
#

They aren't, but someone else will be maintaining it instead of you

slender elbow
#

the very core definition of "not my problem"

daring light
#

What's up with this?

#

Apparently this Confirm Command Execution shows up on 1.21.6+ clients

#

Is there a way to bypass it?

grand flint
#

yeah

daring light
#

How do you bypass it?

#
TextComponent view_text = new TextComponent("[View Item]");
view_text.setColor(ChatColor.DARK_PURPLE);
view_text.setBold(true);
view_text.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/wlc-internal-view_item"));

I use it to execute functions on component clicks

grand flint
#

so execute a command when they click the text ?

daring light
#

Yeah that's what I do

#

Well really it's internal, I check them from the CommandPreProcessorEvent

#

Cause apparently there's no way to execute a function directly with the ClickEvent

grand flint
#

well yeah how would that ever work :p

#

anyways to my knowledge there is no way currently

daring light
#

Damn that sux

solid wave
#

anyone know how to make rank can not be bought back, when own. and low rank requirement to buy

#
  rank: diachu
  server: ''
  price: 10000.0
  currency: Vault
  slot: 14
  item:
    type: LIGHT_BLUE_BANNER
    name: '&#00FFFF&lMVP &fRANK'
    lore:
    - ' '
    - ' &7- &fPrice: &#00AA00$%price%'
    - ' '
    - '&#00FFFFᴘᴇʀᴍɪssɪᴏɴs'
    - ' &7- &f%permission%'
    - ' '
    - '&#00FFFF&l(!) &#00FFFFClick here to purchase!'
  buy-actions:
  - '[MESSAGE] &#00EE00You have purchased the &f%name%&#00EE00! &7(%rank%)'
  - '[CONSOLE] lp user %player% parent set diachu'
  - '[CLOSE] menu'```
daring light
# grand flint well yeah how would that ever work :p

Make an API inside Spigot where you have a TextComponentFunction manager which gets constructed with a file path starting with _spigot or something else to make sure it doesn't conflict with the actual filesystem which has an overridable onClick function and then spigot overrides any OpenFile Actions that come from a click event that start with _spigot and instead call the onClick function of the TextComponentFunction which was registered for a specific url like /_spigot/view_item or something like that : P

grand flint
#

and what moron would ever do that

#

instead of just registering a command

daring light
#

And don't register it because well why not

grand flint
#

or simply make a working game

#

isntesd of wasting time on usless shit

#

that players dont care about

#

some devs just forget how much players dont care

daring light
#

What game are we talking about

grand flint
solid wave
#

someones plugin

grand flint
solid wave
#

ok

grand flint
#

also why dont u use tebex or something?

solid wave
#

what is tebex

grand flint
#

Store to sell ranks

smoky anchor
#

@daring light what the heck are you doing
do not use a RUN_COMMAND action, use CUSTOM action and then create a listener for PlayerCustomClickEvent
This will not show any warning thingie (ofc. only for higher versions, but why would you support lower ones anyways ehe~)

grand flint
#

uwu

#

real

smoky anchor
#

Also, that warning screen is shown only for commands with permission level one and above

#

so if you really want this... not good solution, then you can just set permission level to 0
somehow... idk

solid wave
grand flint
daring light
#

I'll just register them and set permissions for them

thorn isle
#

doesn't the confirmation only pop up for op commands?

daring light
#

This is an unregistered command

lime tide
#

if someone here knows to work with mcmodels and oraxen hit me up xd

smoky anchor
#

oh I guess you support 1.21.4+ clients with server 1.21.4...

#

right

fresh timber
#

how can I get a player's internal crafting view/inventory without Player#getOpenInventory() because that only does it if they don't have an inv open

sly topaz
#

I guess you could try take the bottom inventory out of the open inventory view and try set the raw slots from there

buoyant viper
#

getOpenInventory
cant get it if the inventory is open

sly topaz
young void
#

hello, my resource pack is only like 40 mb and low end pc's crash when trying to load the resource pack, what actions can i take to make it more optimized without having to sacrifice some assets,
the pack itself is 40mb but when its zipped and compressed by itemsadder its 18 mb, could that be the reason too?

mortal vortex
#

its probably the compression doing it

#

downloading assets is a factor of bandwidth, not PC. Perhaps the decompression causes the stress on the PC.

young void
young void
#

thanks

mortal vortex
#

for those who have issues, just tell them to manually download and install teh pack so the server isnt doing it eachtime

young void
#

even if they are not in the server and are just in the main menu

mortal vortex
#

rip

#

then dont compress

young knoll
#

Get their client logs

#

See if it’s a specific issue like OOM

slender elbow
#

I wonder if it doesn't crash when using store compression rather than deflate

mortal vortex
#

okay nerds u fucking lost me

#

outnerded

young void
young void
#

because yeah i do have a lot of assets but i dont think its supposed to just crash like that??

young knoll
#

I mean 40mb of ram isn’t that much

#

How much do they have

sly topaz
#

but do try without compression and see if it helps at all

young void
young knoll
#

That should be plenty

#

I run the game with like 2 for vanilla

sly topaz
young knoll
#

Yeah they should probably increase allocation if they haven’t

young void
#

because its like, really weird and should not be happening

sly topaz
#

seems like it tried to allocate almost a gb of ram and it just couldn't

young knoll
#

To decompress a 40mb pack?

sly topaz
#

in this case lowering the max heap allocation might help, that way it doesn't overwhelm their system

#

[00:17:52] [Render thread/WARN]: [OptiFine] (Reflector) java.lang.reflect.InaccessibleObjectException: Unable to make public static long jdk.internal.misc.VM.maxDirectMemory() accessible: module java.base does not "exports jdk.internal.misc" to unnamed module @7b7262a3
based on this, I wonder if Optifine just couldn't determine the maximum allocation and it ended up using some default value that was higher than their system allowed

#

@young void did everyone with the issue happen to be using optifine too?

young knoll
slender elbow
#

optifine
2025

young void
young knoll
#

I would try the modern performance mods

#

Sodium and whatnot

sly topaz
#

that being said, there's probably some extra allocation for the compression logic and what not, so it just adds up

#

it does make me wonder how memory efficient the minecraft model representation is

young knoll
#

Aren’t models just a bunch of vertices

sly topaz
#

I have no idea, but textures alone should be pretty big

young knoll
#

I mean I can load the entire base game in 1gb

#

And there’s a lot of textures in there

sly topaz
#

a single x16 texture would be roughly 4kb, so that's a start

#

I also imagine minecraft doesn't unload the default textures from memory

young void
# young knoll Aren’t models just a bunch of vertices

to be fair there is a lot of models with a lot of cubes in my case
im talking like 200-1000 cubes each

but minecraft isnt trying to neccesarily render them all its just trying to load them so i dont think it should just crash by loading them

sly topaz
#

did sending it without compression help at all?

fresh timber
#

how can I hide the extra bundle info like fullness and "can hold a mixed stack of items" because ItemFlag.HIDE_ADDITIONAL_TOOLTIP is deprecated & doesn't work?

young void
# sly topaz did sending it without compression help at all?

people are not online right now and i cant test it with real low end users but it got significantly better and lighter, another thing was the protect-file-from-unzip option which when disabled it became easier to load like instantly and i also disabled compress-png-files: false and compress-json-files: false

#

but just like you said its not just the compression its that things add up on top of each other

sly topaz
#

I could test this myself given I am using a pc with 8gb of ram

#

it'd be nice to know what exactly triggers it to allocate that much

young void
young void
sly topaz
fresh timber
#

ah I guess this flag doesn't exist on paper

sly topaz
fresh timber
young knoll
#

I wonder why the protect zip file messes with things

#

Probably because it fucks with the headers or something

sly topaz
#

why would you even do that anyway

young knoll
#

Prevents the average program from opening the pack

#

Aka 7zip

sly topaz
#

yeah but like, do people consider their textures that valuable to be messing with the sent zip like that, I am surprised Minecraft manages to decompress it at all

lethal kayak
#

Hello, I'm seeking help with my 1.8.9 plugin

#

Expectations: Turn ball from this to this

sly topaz
lethal kayak
#

I could show you some code, if you want

sly topaz
lethal kayak
#

I want it to show all the time

sly topaz
#

why not just modify the texture then

#

though it is weird that the damage tint doesn't show, make sure your resource pack doesn't override it

lethal kayak
sly topaz
#

that's probably just a thing with your plugin

lethal kayak
#

I was also wondering the goal explosion thing i showed with the clip i sent

#

I want to add new ones

sly topaz
#

then you'd have to make them, it's all just falling blocks being thrown around

lethal kayak
#

There is one with particles

sly topaz
#

is this not your plugin?

lethal kayak
lethal kayak
#

I'm checking the plugin right now and I see these photos in it

#

And this folder in the plugin too

sly topaz
#

isn't that the source code

lethal kayak
#

Is the ZIP file I have the source code?

sly topaz
#

I have no idea what you have right now

lethal kayak
sly topaz
lethal kayak
sly topaz
#

if you don't know how to code, then it'd be hard for you to do anything with it, though

sly topaz
#

I would recommend hiring a dev to add the features, it shouldn't be too expensive given you already have the plugin made and you just need someone to add a few things

lethal kayak
sly topaz
lethal kayak
#

Where do you recommend me to find a dev?

sly topaz
#

?services

undone axleBOT
jade bone
#

anyone knows why my spawner is not spawning the configured amount of mobs?
This is the code that is used to change the PDC of the spawner:

if (block.getState() instanceof CreatureSpawner cs) {
            cs.setSpawnCount(spawnAmount);
            cs.setMaxNearbyEntities(maxNearby);
            cs.setRequiredPlayerRange(distance);

            cs.setMinSpawnDelay(200);  // 10s
            cs.setMaxSpawnDelay(400); // 20s
            cs.setDelay(20);

            cs.update(true, true);
        }```

Spawncount is set to 8:
validated using /data get block command.

And this are the values passed to the variables above (these are correct i checked using logging:
```yml
 spawn-amount: 8
 max-mobs: 18
  distance: 22
#

Oh yea, and the spawner is floating 120 blocks in the air and its night (testing with zombie spawner)

#

It likes spawns 3-4 each time

fickle spindle
#

how can i make the player size bigger or smaller_

smoky anchor
frank thistle
#

Hi

#

For Jpanel Plugin I want to remove login page any idea?

mortal vortex
winter jungle
#

Seems a bit old

mortal vortex
#

How’s that development related. Or is he trying to modify it?

#

Daemon based server panels exist for a reason.

mortal vortex
#

are you trying to modify its code?

frank thistle
#

@abbv3

mortal vortex
#

yes bruh I’m here I just responded to u

#

idk if whst ur saying is development related

frank thistle
winter jungle
#

you want every person to be able to see the console?

mortal vortex
#

yeah I’m confused

#

Not a solution at all but why are resulting to a primitive plugin based GUI and not like MCSManager, or Ptero

frank thistle
winter jungle
#

what

frank thistle
#

and it can't be done with login page

winter jungle
#

I dont know anything about jpanel, so i cant help you with that

frank thistle
#

If anyone can tell me How can i remove login part of Jpanel plugin?

smoky anchor
#

Edit the source code and build it

winter jungle
#

I would think if there is no config option, you should remove it from the code. But i think that would break a lot of things

smoky anchor
#

wait you want to include the jpanel website thing in a different website ?

#

why

winter jungle
#

Ohh, that's what he means

smoky anchor
#

?xy @frank thistle

undone axleBOT
frank thistle
frank thistle
frank thistle
#

@smoky anchor

smoky anchor
#

@frank thistle

frank thistle
#

?

frank thistle
smoky anchor
#

No I can not

frank thistle
#

:-

smoky anchor
#

I think what you're trying to do is stupid and you should look for a different solution

smoky anchor
frank thistle
#

i want just directly goto index page

#

@smoky anchor

smoky anchor
#

Don't tag me twice man

#

I can read this a

frank thistle
#

ok

winter jungle
frank thistle
winter jungle
#

Then you probably have to decompile it

#

Depends on what file format you download

orchid tide
#

does anyone know if it's possible to make a plugin that runs a server command and disable the logging that appears in the console ?

smoky anchor
orchid tide
#

it's just a very specific usecase lol

#

i am trying to override a vanilla command

#

TL;DR: custom logging message

sly topaz
orchid tide
#

okay.

#

what does that have to do with the logger

#

wait is the logger called by that eventListener?

sly topaz
#

I thought you were trying to override a vanilla command?

orchid tide
#

i am.

#

but i need the console logging to go away.

#

to get rid of the standard message.

#

"xyz" issued server command: /idk

sly topaz
#

ah, I don't think you can get rid of that easily

#

if I remember correctly, you'd have to add a log filter to the log4j2.xml config inside the server jar in order to do anything like that

orchid tide
#

damn. okay thx

forest cobalt
#

how to fix place holder not working

grand flint
halcyon hemlock
#

do y'all still use java in the BIG '25 🥀🥀✌️ 😔

vocal cloud
#

You jest but java has gotten really good recently

grand flint
#

java is OP

young knoll
#

No no it’s OOP

wooden bay
#

Opp

potent crescent
buoyant viper
ember glen
forest cobalt
grand flint
#

show what placeholder ur using as well

unreal quartz
echo basalt
#

your tv remote runs java

mortal vortex
#

my tv remote cant run, do i have an inferior remote?

crimson agate
#

How do I set display number format blank in scoreboards? I don't see a method for such thing

young knoll
#

Sadly there’s no api for it in spigot

#

So you’ll need NMS

slender elbow
#

orrr

young knoll
#

Someone get choco to update that PR and then force MD to merge it

drifting surge
#

hello, i'm having some issues understand crazycrates rewards chance system. if there is someone that is experienced with this, please help! thanks in advance. have a good day.

wet breach
crimson agate
#

I am currently taking the approach of converting the scoreboard to nms, and getting the nms Objective from that

#

I use mojang mappings btw

buoyant viper
hardy garnet
#

Is there a way to add custom armor textures (or models) without mods (1.21.5+)

#

I figured it out for items and helmets but from my research it seems it doesn't work for the other armor pieces for some reason

sullen marlin
#

I didn't think there was anything special about helmets

hardy garnet
#

I've figured out custom textures for the armor, but I don't think you can actually have custom models for chestplates, leggings, or boots

sly topaz
hardy garnet
sly topaz
hardy garnet
#

Just changing the texture is gonna have to be good enough

sly topaz
#

It uses the vanilla shaders

#

You can change those with resource packs

hardy garnet
#

Oh you're right! Hmm

sly topaz
#

That being said, it doesn’t make it any easier to do so eh, I would stray away from it

#

Core shaders are just magic to me

hardy garnet
#

Yea it does look like a total pain in the ass

#

its not a priority for me right now, but I might come back to it later. Got plenty of other stuff to keep me occupied

#

Who knows mojang might add support for it later

mortal vortex
#

I want to simulate an item being spat out of a chest. I've done the part where the item is created, and then "thrown", but eventually the item lands, and becomes able to be picked up. I want this effect to by only visual, the real item will be deposited in the players inventory anyways. Can this be simulated using anything in Spigot or would i need to mess with packets?

#

or is the much clearer solution here to just increase its pickup delay to something absurd, and have a schedular clear it long before that?

worthy yarrow
#

Item display

sullen marlin
#

I would've suggested pickup delay, so I think either is fine tbh

mortal vortex
#

and another thing, how do you detect if a player is able to place in an area? I want to place blocks / interact with containers on behalf of the player, but only if they could otherwise do so in Survival. I.e, if there is no claim, protection, etc?

#

it would be command based, not by an event, but I was thinking I could simulate a fake event, with the coordinates and player as subject, and see if its cancelled (like by WorldGuard), is this the best solution?

drowsy helm
#

on monitor priority

mortal vortex
#

"monitor priority"?

drowsy helm
#

event priority purely for monitoring an event

mortal vortex
#

Yeahh so what does the montior priority do?

#

like i understand intended use, but why is it intended

drowsy helm
#

just ensures the listeners gets fired very last to ensure it captures all potential modifications to an event

mortal vortex
#

ah gotcha

mortal vortex
#

wait so i should write a listener class?

drowsy helm
#

oh wait

#

im dumb

#

just fire the fake event and check if cancelled

#

lol

mortal vortex
#

I was going to write a method like:

public boolean canPlace(Player player, Location loc, Material type) {
    Block block = loc.getBlock();
    Block placedAgainst = block.getRelative(BlockFace.DOWN); 

    BlockPlaceEvent placeEvent = new BlockPlaceEvent(
            block,
            block.getState(),
            placedAgainst,
            new ItemStack(type),
            player,
            true,
            EquipmentSlot.HAND
    );

    Bukkit.getPluginManager().callEvent(placeEvent);

    return !placeEvent.isCancelled();
}

im not sure where a priority falls into it since im not the listener

#

ohh okay

drowsy helm
#

yeah dw i wasnt thinking

mortal vortex
#

too much grog?

drowsy helm
#

not enough

unborn hollow
#

how would this translate into code?:
title @s actionbar [{"text":"This text has shadow "},{"text":"but this text does not :D","shadow_color":0}]
i tried using the chat component api but it doesn't seem to have anything for shadow color

mortal vortex
mortal vortex
#

u can change the shadow color???

unborn hollow
mortal vortex
#

I thought the shadow was done by dah cleient

drowsy helm
#

was added a while ago but i dont think ive ever seen it in practice

mortal vortex
#

omfg i want a hsp

drowsy helm
#

get one

#

hsps are like a once a month thing for me tbh

#

makes me sick if i eat multiple

mortal vortex
#

absolute pussy

drowsy helm
#

what sauces/toppings do you get

mortal vortex
#

chilli + bbq

#

youre wrong if anything else

drowsy helm
#

valid

#

aioli

#

wtf you mean

#

aioli is a must

mortal vortex
#

aioli?

#

ewwy

#

is it lamb, mixed, or beef?

drowsy helm
#

beef??

#

never heard of a beef hsp

mortal vortex
#

what.

drowsy helm
#

chicken lamb mix

mortal vortex
#

what color is the meat?

drowsy helm
#

lamb colour

mortal vortex
#

hang on...

drowsy helm
#

Ive never seen anywhere in Melbourne have beef on a hsp

mortal vortex
#

i dunno what shredded beef looks like so now im wonderng if the hsp i alwyas get is chicken / lamb

#

nah its beef

drowsy helm
#

i mean beef doesnt sound bad

#

just unorthadox

mortal vortex
#

jut checked doordash, everywhere around me is beef

#

well aioli and lamb sounds good

#

im so used to beef i aint consider aioli

unborn hollow
drowsy helm
#

why tf is it blue

drowsy helm
mortal vortex
#

smurf cum

mortal vortex
unborn hollow
drowsy helm
#

yeah you dont use the BaseComponent constructor

#

use a ComponentBuilder

#

or TextComponent

unborn hollow
#

"i tried using the chat component api but it doesn't seem to have anything for shadow color"

#

*i was referring to ComponentBuilder

#

I'll try TextComponent tho

drowsy helm
#

you never instantiate BaseComponent directly

mortal vortex
#

omfg i want a snackpack

drowsy helm
#

or just use Adventure uwu

mortal vortex
#

how much is a snackpack from ur local place in melb?

drowsy helm
#

pretty expensive

#

like $16 for a large i think

#

maybe more now

#

on uber eats its like $25 or some shit

mortal vortex
#

yeah mine is 30 on uber

#

well... let me clarify.

#

the joint is down the road, i just dont feel like walking. its 25$ on uber, but I feel sorry for the driver so i tip 5$

drowsy helm
#

tipping?

#

australia?

#

wot

sullen marlin
#

I've never had an HSP

#

Too unhealthy

drowsy helm
#

bruh what

#

have you ever drank in your life

#

its an obligation

sullen marlin
#

Yeah I don't need 6000 calories of chips and meat to supplement 6000 calories of beer

mortal vortex
#

its good.

#

what beer do australians even drink... VB tastes like piss to me

drowsy helm
#

VB is shit

unborn hollow
#

but for some reason setShadowColor() isn't working either man

drowsy helm
#

mostly carlton draught

mortal vortex
#

i dont like heineken either, lagers piss me off and theres no froth

sullen marlin
#

Yeah Carlton would be the normal pub lager down here

mortal vortex
#

alright thats dinner sorted, lamb HSP, 6 pack of carltons

drowsy helm
mortal vortex
#

LETS FUCKING GO

sullen marlin
#

And for breakfast

frank thistle
#

Hi

drowsy helm
frank thistle
#

anyone can do ddos attac to test sth?

unborn hollow
#

updating the pom.xml dependency is as simple as just changing it to "1.21.8-R0.1-SNAPSHOT" right...

sullen marlin
#

Yes

frank thistle
unborn hollow
#

yeah idk i changed it to 1.21.8-R0.1-SNAPSHOT but I'm not getting access to shadowColor()

drowsy helm
sullen marlin
#

(StyleBuilder)

unborn hollow
#

man

#

thanks for the help regardless

frank thistle
drowsy helm
frank thistle
drowsy helm
#

Plus someone being able to ddos you means they have a botnet

#

which is illegal

#

what do you want to test anyway?

frank thistle
thorn isle
#

for a low volume attack, which most that you'll encounter in the wild will be, you can just grab some hacked launcher that spawns a bunch of headless clients and has them connect to a server

winter jungle
thorn isle
#

for a high volume attack you have to rely on whatever ddos protection your hosting provider supplies, which isn't really something you want to test

#

because yes, someone else (that provider) will be paying for that bandwidth and not you

frank thistle
thorn isle
#

is it on your own computer?

frank thistle
winter jungle
thorn isle
#

🤡

frank thistle
thorn isle
#

you'll get blacklisted from your own isp if you do that lmao

winter jungle
#

yea xD

eternal oxide
#

In most instances a home hosted server can be taken down with packt spam from three sources

frank thistle
#

I just want to see is that good or no beacuse i searched for some platform of ddos protection

#

and i want to test it

thorn isle
#

but again, if it's just like testing your authme antibot config, or sonar, or something similar that operates on the plugin level and targets low volume attacks, just get a hacked client

#

you can do it from a single source and machine and you won't need a service or make your isp angry

frank thistle
#

bro i'm not testing anitbot

winter jungle
#

At the end of the day, no DDoS protection is EXTREMELY secure, at least not one that you can afford. If a good botnet comes along with the right bypasses, even good DDoS protection is useless.

frank thistle
#

i'm testing Anti DDOS Platform not plugin

thorn isle
#

then you're shit out of luck

winter jungle
#

If you are really interested in DDoS protection measures, you can take a look at AS203446 or Arbor

AS203446 and Arbor are frequently used for server hosting.

mortal vortex
#

10USD paid via BTC for 12 minute access

winter jungle
frank thistle
sullen marlin
#

Even if a joke, no

mortal vortex
#

:l no trolling ig

plush current
#

hey i am new here

mortal vortex
potent crescent
plush current
mortal vortex
#

he didnt like that one

plush current
#

.

orchid tide
forest cobalt
#

how to fix spawners not working whe n you buy it for the shop

tawdry cedar
forest cobalt
#

The normal shop and donut spawners

tawdry cedar
#

ShopGUI+?

forest cobalt
#

ya

tawdry cedar
#

Can you send the snippit of your spawner shop .yml?

#

I think shopgui+ has a command option

#

I've never used donut spawners so I am not sure if that has a give command to give spawners like silkspawners does?

forest cobalt
#

2m

#

let me find it

tawdry cedar
#

oki

frank thistle
#

Sb can help me about a plugin error while compoiling ?

chrome beacon
#

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

thorn isle
#

paste the compolation error

#

also, what build tool are you using to compole your project

pseudo hazel
#

a totem pole

frank thistle
#

if (type == PacketType.Play.Client.EDIT_BOOK) {
List<?> pages = null;
try { pages = event.getPacket().getLists().readSafely(0); } catch (Exception ignored) {}
if (pages != null) {
if (pages.size() > cfg.getInt("book-max-pages", 100)) return true;
for (Object p : pages) {
if (p != null && p.toString().length() > cfg.getInt("book-page-max-length", 32768)) return true;
}
}
}
PacketType[] watch = new PacketType[]{
PacketType.Play.Client.CUSTOM_PAYLOAD,
PacketType.Play.Client.EDIT_BOOK,
PacketType.Play.Client.SET_CREATIVE_SLOT,
PacketType.Play.Client.CLICK_WINDOW,
PacketType.Play.Client.UPDATE_SIGN,
PacketType.Play.Client.USE_ITEM,
PacketType.Play.Client.CHAT
};

#

incompatible types: com.comphenix.protocol.wrappers.WrappedChatComponent[] cannot be converted to java.util.List<com.comphenix.protocol.wrappers.WrappedChatComponent>154 method getLists in class com.comphenix.protocol.events.AbstractStructure cannot be applied to given types;>132 cannot find symbol > 38 cannot find symbol > 40 cannot find symbol > 130 cannot find symbol >142

#

Error and Error parts

pseudo hazel
#

please use a paste website or proper code format

#

whats at line 154

frank thistle
#

I send lines

#

With Error

pseudo hazel
#

yes I but I dont have your line numbers

#

the error says you cant vonvert an array to a non array

#

readsafely probably jsut returns the first item, not the whole lsit

frank thistle
#

And I can't upload file ths is problem

pseudo hazel
#

?verify

#

?images

#

hmm

#

?img

undone axleBOT
#

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

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

pseudo hazel
#

ah there we go

frank thistle
#

:-

#

!verify

undone axleBOT
#

Usage: !verify <forums username>

frank thistle
#

!verify intesho

undone axleBOT
frank thistle
#

!verify BeCOQ

undone axleBOT
thorn isle
#

or use a paste site

pseudo hazel
#

?paste

undone axleBOT
potent crescent
orchid furnace
#

Is Player#ban still what to use for banning players or

manic delta
#

depends on your needs

orchid furnace
#

wdym by that?

manic delta
#

if you dont want to handle a database and things like that, just use that

thorn isle
#

it bans a player

#

if that's enough for you, yes

#

but that's also all it does

manic delta
#

yeah

orchid furnace
#

Ah, alright. Thanks ^^

frank thistle
#

SB small help

#

if (event.getPacketType() == PacketType.Play.Client.EDIT_BOOK ||
event.getPacketType() == PacketType.Play.Client.WRITTEN_BOOK) {

#

cannot find symbol Error

orchid furnace
#

Does anyone know why its not seeming to ban but only kick?

    String banLayout = "§cYou have been banned from §6§lTango§2§lNet§c!\n§7You are no longer able to play unless you appeal.\n\n§fReason: %reason%\n§fPunishment given by: %staff%\n\n§dAppeal Link: https://****************/appeal";
    @Override
    public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] args) {
        if (commandSender.hasPermission("tango.ban")) {
            if (args.length < 2) {
                commandSender.sendMessage("§6§lT§2§lN §8| §cInvalid Usage: /ban <player> <reason>");
                return true;
            }
            Player playertoBan = Bukkit.getPlayer(args[0]);
            String reason = String.join(" ", Arrays.copyOfRange(args, 1, args.length));
            if (playertoBan instanceof Player) {
                Instant instant = Instant.now();
                playertoBan.ban(banLayout.replace("%reason%", reason).replace("%staff%", commandSender.getName()), instant, reason, true);
            } else {
                commandSender.sendMessage("§6§lT§2§lN §8| §cInvalid Player: /ban <player> <reason>");
            }
        }
        return true;
    }
}```
frank thistle
inner saffron
#

hello. wanted to ask something regarding optimization.

using plugins, I am coding a large-scale movable entity object thing to be used on a minecraft server.
which method is less resource consuming and easier to implement? it is basically an End Ship, same size(sadly can't post images here demonstrate). it will only be able to move forwards, it won't need to be able to rotate.

  1. making the ship as a structure is from lots of display entity blocks
  2. modeling the ship in Blockbench out of lots of cubes and putting it in game using resource-packs

Second option is probably the best, but I still wanted to ask because creating models is time consuming and maybe it may not be worth it in the end. I have never worked with anything so large before.

potent crescent
undone axleBOT
#

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

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

inner saffron
# potent crescent ?img

as I said I sadly can't post images in the chats since I'm not verified. I can dm you if you are will ing to give an advice.

orchid furnace
#

Ambiguous method call: both 'BanList.addBan(Object, String, Date, String)' and 'BanList.addBan(Object, String, Instant, String)' match

inner saffron
potent crescent
# orchid furnace Ambiguous method call: both 'BanList.addBan(Object, String, Date, String)' and '...

can u test that ```if (playertoBan != null) {
BanList banList = Bukkit.getBanList(BanList.Type.NAME);
banList.addBan(
playertoBan.getName(),
reason,
(Date) null, // null = permanent ban
commandSender.getName()
);

playertoBan.kickPlayer(
    banLayout
        .replace("%reason%", reason)
        .replace("%staff%", commandSender.getName())
);

} else {
commandSender.sendMessage("§6§lT§2§lN §8| §cInvalid Player: /ban <player> <reason>");
}```

orchid furnace
#

yep, that works. Thank you!

inner saffron
#

Abood? what's ur testimony? you asked for the images.

potent crescent
potent crescent
inner saffron
#

thought it will be painful 🥲

potent crescent
#

to much

#

lol

inner saffron
#

*too?

thorn isle
#

a structure of that size should be fine to do with block displays, though making it as an actual model will perform better for both clients and the server

wooden bay
thorn isle
#

with the caveat of then hard-depending on a resourcepack

wooden bay
thorn isle
#

of course, but there were screenshots so we can eyeball the scale for this particular case

#

block displays are very cheap on the server, but players will start getting fps drop once you go into the 3 digit number range

thorn isle
#

personally i'd be comfortable with maybe 2 or 3 of those ships concurrently

inner saffron
thorn isle
#

just don't get too crazy with it, every trig and vertex still counts for rendering on the client side

#

e.g. voxel art item models made up of like 500 cubes will still tank your client

#

mostly because the mojank renderer is fucking shit but what're you gonna do

wooden bay
#

The key is finding that balance between detail and performance 👌

inner saffron
thorn isle
#

definitely the way to go

#

i at some point when i had voxel art items on my server worked on something similar

worthy yarrow
#

Wall incoming

thorn isle
#

automagically joining voxels into larger boxes

worthy yarrow
#

https://github.com/NormalManV2/NormalDiscGolf/blob/master/src/main/java/normalmanv2/normalDiscGolf/api/round/Wirable.java

https://github.com/NormalManV2/NormalDiscGolf/blob/626338402b8b94fa3681bbb6c307dd360c7bceb6/src/main/java/normalmanv2/normalDiscGolf/common/round/DefaultRoundLifecycle.java#L34

https://github.com/NormalManV2/NormalDiscGolf/blob/626338402b8b94fa3681bbb6c307dd360c7bceb6/src/main/java/normalmanv2/normalDiscGolf/impl/round/RoundImpl.java#L116

(Unless you're looking over all the impl, its not a lot of code I promise lol)

Do you guys agree with this wiring idea? Trying to fix circular depends within RoundImpl and some of the delegates need information that other delegates hold... roundimpl is where the composition is held so I figure pass the delegates an instance... well stupid me forgot that I was using the delegates as construction params to actually produce a round object so now I am trying to patch that issue with this solution and as far as I can tell, it works fine

#

https://github.com/NormalManV2/NormalDiscGolf/blob/master/src/main/java/normalmanv2/normalDiscGolf/common/round/DefaultRoundLifecycle.java

For example, the lifecycle object needs to be aware of a plugin and the round instance in order to do some operations. Issue with that and other delegate objects, is they need this additional context which again is held in RoundImpl. However, I use all these delegate objects to construct a RoundImpl so how can they be aware of at least the round before it's constructed... which leads us to the solution of post construction wiring

#

Wondering if there might be a better way to get around this issue? Or might just rewrite everything

remote swallow
worthy yarrow
#

It's not a lot of code I promise!

#

3 methods with minimal implementation

#

I just assume some people might want more context 🤷‍♀️

thorn isle
#

this is why when i work on things i try to just write code instead of trying to follow some AbstractRegistryCreatorConfigurator anemic FFF quadrouple-Q paradigm

#

you end up twisting yourself into a pretzel

worthy yarrow
#

Hey man, I got the delegate idea from illusion... just trying to adapt to my needs

thorn isle
#

yeah i can tell

#

he's one of the local abstractregistrycreatorconfigurator etc enthusiasts

worthy yarrow
#

I mean I like the pattern he showed me, certainly cleaned up the actual roundImpl

#

Speaking of pretzels though, you should my mess of course generation code 🤮

thorn isle
#

maybe try explaining the style/paradigm you're trying to follow

#

aside from me not having to try and reverse engineer it from the repo or scrape it from some discord conversation between you and illusion, trying to explain things in your own words often helps with getting a more thorough understanding of them

worthy yarrow
#

Well I quite literally only went off what illusion showed me so I'm not even sure I understand the style I am trying to implement kek

#

Essentially I just wanted to clean up my RoundImpl class, a lot of boilerplate and bloat. Illusion then suggested his "delegate" pattern which just splits responsibilities and provides default methods through other interfaces, the actual implementations of the delegates would have the heavier logic I guess you could say. Now instead of RoundImpl being a god class, you get neat and clean separation while still being able to make calls directly to the round rather than the delegates

#

round.getTeams() vs round.getTeamDelegateManager.getTeams()

thorn isle
#

looks vaguely like some sort of ECS

worthy yarrow
#

Now the issue I was having is that I used the delegate objects to construct a RoundImpl but they need additional context from other delegate objects (and lifecycle needs a plugin reference) in order to perform some operations

#

Which lead me to make a couple "post construction wiring" methods that you could consider the init method of a class

#

My question was just whether or not this is smart (either the wiring or just the fact I'm using these delegate objects to construct a round)

robust pebble
#

just checked back on my old plugin and it seems that FoodComponent#addEffect has been removed! for example : ```java
powderFood.addEffect(new PotionEffect(PotionEffectType.NAUSEA,200,2),0.8f);


has been removed, can anyone point me ot docs/ give help on the new method to do this!

Thanks
echo basalt
#

Pretty sure that's part of consumables now

robust pebble
#

alright

#

this im guessing

echo basalt
echo basalt
#

Solutions should be elegant and abstraction should be kept to a minimum. If you're making a complex solution it's essential to make things separate to avoid a tangled mess

worthy yarrow
#

I may still be a bit tangled

thorn isle
#

never trust anything any pinkname says

placid rivet
#

is there any way to disable the Too Expensive! message in anvil while connecting things?

worthy yarrow
# worthy yarrow

@thorn isle but the second looks a lot better than the first and it still operates the same

#

I think it made things a bit easier to manage in terms of the round

robust pebble
#

are there any examples of someone using ConsumableComponent with effectds

thorn isle
#

he's not as bad as that other guy who's ironically enough not a pinkname

#

dovidas something

echo basalt
#

this is ragebait

#

tbf I'm personally not a fan of dovidas either

#

I see him as an inexperienced developer who spends hours arguing in the hopes of getting everything right on the first try

#

Which, sure, getting things right is cool and all but a lot of these lessons come from practicing and being unhappy about some mistake you've made

robust pebble
#

ConsumableComponent powderConsumableComponent = meta.getConsumable(); all i have is this I cant figure out how to add effects without going through docs hell

untold marten
#

My SpigotMC account was stolen, and the email has been changed, i can't login my account, I have sent an email to tmp-support@spigotmc.org, Hope I can get my account back, I spent almost $500 on my account😭

ivory sleet
untold marten
#

Is there any online staff who can handle this for me?

hardy garnet
#

I want to have information displayed on a players screen, but scoreboards seem a bit clunky. Is there any other methods you guys know about?

ivory sleet
#

Title, actionbar, dialogue or gui maybe, or hologram?

#

Bossbar is an option also

thorn isle
#

custom huds if you want to go the extra mile, but that's overkill for many things

ivory sleet
#

Ye if you have access to server resourcepack u can do a lot

hardy garnet
thorn isle
#

i always forget what the good hud plugin is, maybe happyhud or betterhud or something

#

stay away from the one that's related to mythicmobs, that's the bad one

ivory sleet
#

Lmao

hardy garnet
#

Hmm, okay

untold marten
ivory sleet
#

Whats so bad about it

untold marten
#

@ivory sleet I would like to ask, when does the staff usually handle support emails?

ivory sleet
#

Well im not really apart of the forums staff team, i don’t really know tbh but id expect relatively soon, just stay patient

echo basalt
#

the problem with betterhud is that it's somewhat undocumented

untold marten
#

I'm worried about whether I can get my account back.🥲

echo basalt
#

support for both is ass

weak wasp
ivory sleet
#

Im just curious

echo basalt
#

You have to do a bunch of weird hacks to achieve certain stuff

#

and it never works out

#

For example, we have a UI at work for displaying different "objectives"

ivory sleet
echo basalt
#

and different "modifiers" (work a bit like potion effects)

#

I can have 3 modifiers and the icons should stack neatly

thorn isle
#

everything in the mythic ecosystem only kind of sort of works, until it doesn't, and then you're knee deep into hacky bullshit

ivory sleet
echo basalt
#

To do this with mythichud I'd have to add a million placeholders and use negative spacing

#

except negative spacing in mythichud destroys the alignment of all the other layouts

#

shifting text to the left shifts everything else to the right

#

In betterhud we just have a native system for it

#

And it lets you use math formulas for shifting values

pine forge
#

Does anyone know an nbt api/serializer for all versions that does not require a dependent plugin?
im just trying to get the nbt data of a player as a string

echo basalt
#

pretty sure you can shade nbt api

pine forge
#

maybe its not a problem if i just want to stringify it

chrome beacon
#

why do you want to stringify it

#

/what exactly are you trying to do

pine forge
#

im sending it to another app

robust pebble
#
FoodComponent powderFood = meta.getFood();

        powderFood.setCanAlwaysEat(true);

        meta.setFood(powderFood);

        // effects are handled using PowderConsumeEvent

        powder.setItemMeta(meta);

im doing this yet I cant eat my item?

pine forge
pine forge
robust pebble
#

is FoodCOmponent not enough

pine forge
#

idk

#

it actually should be

#

maybe also set nutrition and saturation

robust pebble
#

theyve changed this part of the API a lot

#

this worked in 1.20.6

#

but in 1.21.4 it is not...

chrome beacon
#

check the nbt of the item and compare that to a working one

#

(that you can get with commands)

robust pebble
#

my item has food

#

ill give it nutrition and saturation then

#

still cant eat it

smoky anchor
robust pebble
#

yeah just figued it out

smoky anchor
smoky anchor
robust pebble
#

will player consume event be called when consuming this itemstack?

smoky anchor
#

try and see but my guess would be yes

robust pebble
#

also are there any examples on effects when bundling with consumables

#

because I gave up on that and just have an event

smoky anchor
#

chicken

#

again, the wiki shows you all the things it can do
the API should be nearly the same, if it exists that is

hardy garnet
unborn hollow
smoky anchor
#

did you run Buildtools with the proper flags ?

unborn hollow
#

wdym by proper flags

smoky anchor
#

so BT makes a remapped jar

unborn hollow
#

let me double check

smoky anchor
#

apparently --remapped
not sure how that looks in the GUI

unborn hollow
#

yeah I didn't, let me do that rq

#

thanks

unborn hollow
#

do i need to replace my server jar with the new jar it generated as well?

smoky anchor
#

no the server jar is the same

#

but if you're building the plugin you gotta use some maven plugin

unborn hollow
#

gotcha

smoky anchor
#

I don't remember the bot command

unborn hollow
#

all good

chrome beacon
#

?nms

chrome beacon
#

^^

unborn hollow
#

for nms did ClientPlayerInfoPacket change to something else?

#

I see ClientPlayerInfoUpdatePacket and ClientPlayerInfoRemovePacket

chrome beacon
#

yeah those are the two packets

unborn hollow
#

sweet thanks

#

also the ?nms link doesn't work for me idk if that's just a me thing

chrome beacon
#

oh did the blog go down 😢

#

@tender shard Did you shutdown your site? or did the url change?

young knoll
#

Welp now we have a bunch of broken commands :p

eternal oxide
#

Time to earn yoru keep and reproduce all teh content of those links 🙂

young knoll
#

I mean I can just wayback machine it most likely

#

Gotta put it somewhere though

eternal oxide
#

I wonder if it would be ok to just link to teh wayback site for it, if its there

young knoll
#

Huh it’s not that bad

#

I remember the wayback machine being really slow to load

eternal oxide
#

or scrape it and put it on the spigot wiki with a credit

unborn hollow
#

how come
ServerEntity entity = new ServerEntity(level, npc, 0, false, packet -> {} , Set.of());
doesn't work?

eternal oxide
#

doesn't work?

unborn hollow
#

it's just returning an error saying some other type belongs where Set.of() is

mortal vortex
#

wat u tryna do?

young knoll
#

What version

#

?mappings

undone axleBOT
unborn hollow
#

1.21.8, aiming to make a player npc

mortal vortex
#

Can you share the full constructor signature of ServerEntity you’re trying to call?

eternal oxide
#

ServerPlayer then

young knoll
#

public    (ServerLevel world, Entity entity, int tickInterval, boolean alwaysUpdateVelocity, Consumer<Packet<?>> watchingSender, BiConsumer<Packet<?>, List<UUID>> filteredWatchingSender)
#

No set there

chrome beacon
#

Just use Citizens

#

it'll save you a bunch of time

unborn hollow
young knoll
#

Probably old

#

Mojang codes changes all the time

thorn isle
#

import mojang mapped sources into your ide and life will be easier

unborn hollow
ionic dirge
#

Hey

#

Can someone help me with block entity data?

unborn hollow
#

java.lang.ClassNotFoundException: net.minecraft.server.level.ServerPlayer :)

ionic dirge
#

Guys I am using a custom structures plugin to place a structure with custom vaults

#

but when the structure is pasted into the world, if the world that the vault was created in was different to the current world

#

the vault appends server data to the block's data, specifically it adds: State_updating_resumes_at:394990284 or some large number like that, making the vaults impossible to open with their key item

#

they don't even activate when a player walks up to them

#

can someone help me prevent/mitigate this?

chrome beacon
unborn hollow
#

I would've known to do that if the blog wasn't down :,>

#

Thanks, hopefully it comes back up

chrome beacon
#

;/ forgot to disable the ping

unborn hollow
#

finished the remap but now I'm getting this:
org.bukkit.command.CommandException: Unhandled exception executing command 'spawnnpc' in plugin Testing v1.0-SNAPSHOT

#

Caused by: java.lang.NoClassDefFoundError: bzm
Caused by: java.lang.ClassNotFoundException: bzm

chrome beacon
#

and the output from /version

unborn hollow
#

CraftBukkit version 4528-Spigot-7c52c66-37c783b (MC: 1.21.8) Implementing API version 1.21.8-R0.1-SNAPSHOT)

chrome beacon
#

What jar did you place in the plugin folder?

#

Make sure you use the one without a prefix and suffix

#

also while you're messing with the pom I suggest updating all the maven plugins

#

since they're out of date

unborn hollow
#

unless I wasn't meant to do that

chrome beacon
#

Yeah that's the wrong one

#

Use test-1.0-SNAPSHOT

unborn hollow
#

Okay everything's fine now, sorry for the trouble and thanks for all the help

chrome beacon
#

The rest of the generated jars are intermediary steps

unborn hollow
#

Now I'm finally getting NMS related errors that I can work out myself

tawny osprey
#

hi, just curious about 2D Arrays, is every row in a 2D array matrix an array, or are the variables in the rows arrays too?

chrome beacon
#

what variables are you refering to?

tawny osprey
chrome beacon
#

Think of it as an array containing arrays of ints

tawny osprey
#

int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};

#

so all the numbers in there would be arrays

chrome beacon
#

1,2,3 would be one array

young knoll
#

Each group of numbers inside {} is an array

chrome beacon
#

and every group is then surrounded in {} making that an array

young knoll
#

Now wait until you have to work with biome placement which is basically a 6D array

potent crescent
#

Ovilo Are you sleeping at night? I see you online 24 hours lol

chrome beacon
#

maybe

#

who knows

hardy garnet
#

I got papi expansion (for my plugin) and betterhud working together 🥹

echo basalt
#

ok

hardy garnet
hushed spindle
#

does anyone know of a way to accurately get a players body rotation yaw and pitch? the NMS class for LivingEntity does have yBodyRot which seems to work when you rotate your body through looking around, but not when moving around. i also need the pitch for when the player is swimming or gliding

pseudo hazel
#

idk how detailed the information is that gets sent to the server

#

maybe this is just a limitation

hushed spindle
#

other players see this information too though so surely its there somewhere

#

like i dont mind if i have to read some packets to get it

#

unless its calculated on client side

sullen marlin
#

How do you change rotation or pitch without looking around?

mortal vortex
thorn isle
#

your head rotation/pitch won't change, but your body will turn in whichever direction you're moving

#

it's clamped to some 45 degree angle from where your head is looking, other than that it can essentially rotate freely

#

i'm still not sure after all of these years whether that information exists serverside, or if clients just infer it from movement and head rotation

#

that said it shouldn't be too difficult to infer from the latter

thorn isle
lilac dagger
#

In the server

brazen badge
#

Hi! Are there any real advantages to creating multi-module plugins?

thorn isle
#

you can have multiple modules rather than just one

#

as for why you'd want that, in a single module you can't, for example, depend on multiple versions of a single library as that'd introduce class conflicts

#

for plugins, the most common use case of a multi module plugin is to be able to build against multiple versions of nms and then at runtime load the module that corresponds to the version of the server

#

separating api from implementation is another use case, which is what spigot does with spigot-api and spigot

#

platform agnostic projects that are expected to run on forge/fabric/bukkit/whatever also typically use a "common" module for most of the business logic and then adapters and bootstrapping logic for each targeted platform in its own module

#

or, if you're talking about the "plugin-plugin" style modules as in e.g. bentobox where the main plugin loads extra plugins from its own "addons" directory, no, that is profoundly terrible and there are zero advantages to it, only problems

brazen badge
buoyant viper
worldly ingot
#

I believe that's correct, yes

#

Server jar hasn't stripped client fields/methods for a long while now

slender elbow
#

I should fix that

#

@mojang minimize server jar

orchid furnace
#

What should I use then? Nothing on the docs that say what to use or that its even depreciated

plush glade
#

Looking for developers for a Minecraft survival server, dm me your portfolio if interested (paid)

undone axleBOT
plush glade
thorn isle
#

use the AsyncChatEvent or something on paper

orchid furnace
#

Ohhhh oops. I accidentally set the project as papedr

thorn isle
#

if you look at their docs rather than spigot's, the deprecation note should probably show the replacement event

orchid furnace
#

My fault - sorry

wet breach
#

👍

orchid furnace
grand flint
#

hi ray kitty_wave e

unborn hollow
#

When I do
for (Player player : Bukkit.getServer().getOnlinePlayers()) {}
for raytraces, it doesn't seem to work for all players, am I doing something wrong?

thorn isle
#

that returns all online players

unborn hollow
#

I know but then why doesn't it apply to all players when I use the for loop to create a raytrace for all players

slender elbow
#

it sure does

#

like, based on that code alone all i can say is "you're doing something wrong"

#

it's like asking "i have this but nothing prints System.out.println("foobar")"

unborn hollow
#

nvm i figured things out

tribal wraith
slender elbow
#

it uses the block event packet

tribal wraith
#

Is that possible with the API?

slender elbow
#

doesn't look like there is api for it

tribal wraith
#

What's the name of the packet ? Is it called block event?

#

Trying to Ctrl F for it on the minecraft wiki page I sent

chrome beacon
tribal wraith
#

Thx, I'm not super knowledgeable on packets, this is a kind of packet you send to the player, right ?

chrome beacon
#

Clientbound packets are bound/sent to the client, yes

tribal wraith
#

Poyfect

#

Thx

chrome beacon
tribal wraith
#

Awesome I think this answers everything I was curious about

#

Thx

fresh timber
#

How do I send titles? I found a Player#showTitle() method but it wants a title object and some weird stuff

#

I'm using this code and getting this error

player.showTitle(title(mm("<dark_red>+1 Fracture"), mm("Last Rune: " + lastRune.getOrDefault(uuid, "")), 0, 40, 0));
remote swallow
#

you are running paper so you want to head over there for support

echo basalt
#

paper api go brr

#

is he importing old paper api?

fresh timber
#

sorta, was just old paper server version

robust pebble
#

does CraftItemEvent also run when a crafter crafts an item?

sullen marlin
#

I think it might, but easy enough to check

robust pebble
#

I want a generalized event handler

#

but thanks much

#

also is there a way to make an itemstack non stackable

#

without NMS

#

(im aware of nbt data but not sure if I can directly change it without NMS)

sly topaz
#

you can just change the item's max stack size

sly topaz
#

either that or add some random pdc so that it doesn't stack with anything

robust pebble
thorn isle
rotund ravine
thorn isle
#

items are no longer nbt data in memory

#

except i suppose for the CUSTOM property/component

hushed spindle
# sullen marlin How do you change rotation or pitch without looking around?

looking around is one way, moving around is another. like if you press f5 and walk around without moving your head you will still see your body rotating. a weird quirk about the (nms) LivingEntity yBodyRot property though is that it only updates based on eye direction, but not movement. so looking around will update it, but when you move around it will not match the direction returned

#

the mechanics behind seem to be simple enough to just replicate though so ill do that

bold nebula
bold nebula
thorn isle
#

what values are you using for it

bold nebula
#

PacketEvents.getAPI().getPlayerManager().sendPacket({_player}, new WrapperPlayServerPlayerPositionAndLook(0, 0, 0, {_yaw2}, {_pitch2}, 63, 0, false))

thorn isle
#

Deprecated.
The mask no longer fits in a byte since 1.21.2

#

try with a set of RelativeFlag's

bold nebula
#

wdym? It's another packet?

#

ik what are relative teleport flags

thorn isle
#

the magic byte bitmask 63 you're passing is no longer the intended way of specifying the relative flags

bold nebula
#

ok so

thorn isle
#

use setRelative

orchid furnace
#

Hiya, I'm trying to make a ban command in my plugin and I'm not exactly sure how I can kick them if they are online since it's targeting an offlineplayer. Any help?

            String reason = String.join(" ", Arrays.copyOfRange(args, 1, args.length));
            if (playertoBan != null) {
                BanList banList = Bukkit.getBanList(BanList.Type.NAME);
                banList.addBan(playertoBan.getName(), banLayout.replace("%reason%", reason).replace("%staff%", commandSender.getName()),
                        (Date) null,
                        commandSender.getName());
                playertoBan.kickPlayer(banLayout.replace("%reason%", reason).replace("%staff%", commandSender.getName()));```
#

rip playertoBan.getPlayer().kickPlayer

chrome beacon
#

yeah

#

do check if they're online first

orchid furnace
#

ah okay

smoky anchor
smoky anchor
#

Hey chat, unrelated to spigot but nobody sent anything here in the past hour so:
I'm creating my own particle system and I am loosely following Minecraft Bedrocks particle specification
What are our thoughts on Molang in json ?

#

I find it a bit yucky, but my only other idea is something like "density functions" in minecraft worldgen
Which is... not the best.. :D

young knoll
#

Oh god I’ve been working with them lately

#

You’ve just given my flashbacks

tender shard
young knoll
#

Who wants to move ?nms to spigot wiki for me :p

orchid furnace
#

Does anyone know if theres a good resource efficient way to send a like action bar to the player constantly if say they're in vanish or have god mode enabled?

young knoll
#

Runnable

#

With a few ticks of delay

chrome beacon
#

?scheduling

undone axleBOT
orchid furnace
#

So just a runnable that loops all players or am i missunderstanding?

chrome beacon
#

loop the players that are in vanish or in god mode

orchid furnace
#

Alright, thanks

mortal hare
#

i've seen you trying to solve this like a month ago already iirc

#

i envy your commitment

mortal hare
#

file based brigadier command handling

#

you declare commands inside datapacks but you register actions in specific namespaced registry

bold nebula