#help-development

1 messages · Page 1225 of 1

eternal night
#

Yea ?

slender elbow
#

good job

fervent gale
#

not exactly the armor..?

eternal night
#

well grab the leggings and /paper dumpitem while holding it I guess

#

see what the actual item looks like

glossy laurel
#

Would location.getDirection().setY(0).getLength() always be proportional to location.getYaw()?

eternal night
#

"proportial"?

fervent gale
#

da fug

glossy laurel
misty ingot
#

yay
nbt

misty ingot
glossy laurel
#

gaah

eternal night
#

(you did not)

#

mb I didn't catch that, the esoteric language you chose to develop in hid that semi well

eternal night
eternal night
#

getEquippable yields a copy

#

you need to setEquippable it back

slender elbow
#

i mean, the yaw does not affect the length of the vector

#

just the direction

#

so like yeah idk what you're asking

eternal night
#

Yea I mean, the length of the vector there is going to be from 0 to 1 but based on the pitch

slender elbow
#

poor man's :this:

fervent gale
#

oh i'm brain dead

eternal night
#

just flame the poor choice of programming language and move on run

glossy laurel
eternal night
#

no

#

the yaw is irellevant

eternal night
#

yaw is the x-z rotation

glossy laurel
#

aaaa

glossy laurel
#

wait no wtf

#

im high

#

wait am I??

#

no

#

wtf

eternal night
#

Yea I have no idea what your code is attempting to achieve

#

no

glossy laurel
#

😭

eternal night
#

wtf is 1 - 90/|pitch|

#

like, insert 45 for pitch

fervent gale
eternal night
#

stonks no problemo

glossy laurel
eternal night
#

1 - 90/45

eternal night
#

das 1 - 2

glossy laurel
#

im so cooked man 😭

eternal night
#

its not getting better

glossy laurel
#

its not? 😭

#

1 - 45/90

#

that makes 0.5

#

at least

#

😭

eternal night
#

yea

#

but that isn't going to be the same value as that length

glossy laurel
#

why

eternal night
#

okay

#

if you are going to look 45 degree up

glossy laurel
#

yeah

eternal night
#

but also north-west

glossy laurel
#

does your pitch change anything?

fervent gale
#

How do I hide these

glossy laurel
chrome beacon
#

hide attributes

#

item flag

eternal night
#

if those are custom added, yea just the flag

#

if those are the vanilla defaults, something you'd wanna ask paper 😅

#

given that differs to spigot rn

fervent gale
#

i'll ask paper

eternal night
glossy laurel
#

AAAAAAAAAAAAA

#

yes

#

yaw

#

like

eternal night
#

like

glossy laurel
#

if the pitch is a value

#

then no matter the yaw

rough ibex
#

rubber duck debugging but we are the rubber ducks

glossy laurel
#

the value of the expression on the left will be the same right

glossy laurel
#

vectors are hard 😭

eternal night
#

no

rough ibex
#

Ok ok ok listen so we have this line and it runs which makes this value this... times the

glossy laurel
eternal night
#

direction is normalized

glossy laurel
#

yeah ik

eternal night
#

the length is 1

glossy laurel
#

yeah

#

so the Y coordinate will always be the same value

eternal night
#

no

glossy laurel
#

wait

#

wait

eternal night
#

use the brain

glossy laurel
#

hmmm

#

yeah bro my brain's not braining

eternal night
#

maybe give up and look into a switch of hobbies /s

#

idk, your xy just seems to be hitting hard here

#

like, why do you want this to be equal

glossy laurel
#

i dont, im just wondering why my calculations are messed up because im stupid in how vectors work or because my calculations are miswritten

#

seems like its the former

#

im not making sense rn am I

eternal night
#

Well the premise of "I don't need this to be equal, I am just stupid" is kinda not making sense no

glossy laurel
#

wait im so lost rn tho

#

isnt

#

changing yaw

#

the same as

#

rotating the vector around the y axis

eternal night
#

no

#

there is no "the vector"

#

yaw/pitch <-> vector

#

not yaw/pitch -> vector

#

they represent the same

glossy laurel
#

wait imma go get consulted by chat gpt rq

eternal night
#

damn

#

at least we know why you are so cooked omegaroll

glossy laurel
#

😔

#

hey man at least I tried to use my brain

#

it let me down tho

#

wait, so if new Vector(sqrt(2)/2, sqrt(2)/2, 0) is normalized, for my theory to hold new Vector(sqrt(2)/4, sqrt(2)/2, sqrt(2)/4) needs to be normalized but it's not?

#

am I right now at least?

#

no wait

#

thats bullshit

#

bro

#

screw you brain

glossy laurel
eternal night
#

your premise is just faulty

#

okay, idk how to explain it to you but like

glossy laurel
#

I clearly have no idea how vectors work

#

thats all

eternal night
#

the "percentage" of length the y component of the direction provides in a normalized vector is obviously affected by the values of x and z

glossy laurel
#

cuz pitch rotates in a circle and not a square or smth

eternal night
#

like, in the vector [0, 1, 0] the y component provides 100% of the length

#

in the vector [0.707, 0.07, 0] it provides 50%

glossy laurel
#

well, x^2 + y^2 is always 1 in this case right?

#

no

#

wait

#

im actually

#

[0, 1, 0] is a valid vector

#

okay

#

shit

#

have a great day

#

:D

eternal night
mortal hare
#

have anyone tried minestom

chrome beacon
#

yes

mortal hare
#

like not just to test it

#

but for real impl use case

#

is there any protocol implementation nuances i need to look after

#

for example how does movement compared to NMS server

chrome beacon
#

Player movement you mean?

mortal hare
#

yea

#

i wonder if it handles it differently

#

"it feels different"

chrome beacon
#

Player movement is handled clientside

#

so there's no real difference

mortal hare
#

what about entity AI

chrome beacon
#

That's up to how you implement it

mortal hare
#

tbh minestom feels like when you develop a gamemode for SA-MP/open.mp server lol

#

its scriptable blank slate

young knoll
#

Yes that's the idea

mortal hare
#

its there impl for that

chrome beacon
#

No you'd have to make that

#

Might be something in VRI you can look at

mortal hare
#

what is VRI?

chrome beacon
mortal hare
#

oh

tranquil pecan
#

How do i make zombie run away if a player comes near

mortal hare
#

basically im trying to revive my old project blackcomb idea that i've tried to develop on bukkit api a while ago, but on something more low level like minestom or fabric natively

#

i cancelled it due to my uni work

vague quiver
#

Can someone please explain why it doesn't work? 🤔

mortal hare
#

have you included spigot-api as a dependency in pom.xml or build.gradle.kts

chrome beacon
#

CatColor

remote swallow
#

Update intellij

chrome beacon
#

^^

#

That too

mortal hare
#

good ol' if it doesnt work restart it lol

#

my friend works in tech support, and he usually asks people whether they restarted their device, and surprisingly so many people do not before calling, and it fixes like 80% of user problems

tranquil pecan
vague quiver
#

still not working\

chrome beacon
mortal hare
#

honestly minestom could be a good way to prevent dupes and exploits, at the cost of big burden of maintenance

#

none of the exploits on NMS would work on minestom unless code is the same

#

its a perfect server for closed map servers

#

for example it would be pretty hard to exploit inventory GUI's to dupe items in minestom due to how there's no inventory gui ticking that's outside of gui's handling in a first place

worldly ingot
#

You would need to reimplement the entire vanilla server

#

It's best for cleanroom servers that don't need vanilla mechanics at all. Lobbies, mostly

remote swallow
#

dont you do that in ur sleep

misty ingot
#

i always wonder how hypixel manages to have all these spinup servers

worldly ingot
#

I mean yeah obviously I can rewrite the entirety of the vanilla server with my eyes closed in only a few hours, with Forge mod support, AND Fabric mod support, A N D Bukkit plugin support

#

But the average person can't do that

misty ingot
#

what are you like docker gods or smth

remote swallow
#

hypixel prob use k8s

misty ingot
#

they probably just use dark magic
its honestly not that far fetched

slender elbow
misty ingot
#

i bet even the rats living in hypixel's office's vents can run crysis

#

they are just too good man

misty ingot
#

make the ai check for players near itself

#

and then make it go in the other direction if there is one

worldly ingot
worldly ingot
misty ingot
#

i can imagine hypixel being run by a room full of rats on those rat wheels

#

and they are performing all the logic behind the scenes

worldly ingot
#

They actually flip all the bits manually

slender elbow
#

I miss that 😔

mortal hare
#

wow minestom is really barebones

#

not even lightning engine is here

chrome beacon
#

yeah

#

it's more like a lib than a server

misty ingot
#

yeah minestom is supposed to be a completely barebones thing

#

i know some guy who was actually working on it and he made some nice stuff

#

i dont think minestom even has mobs or anything

chrome beacon
#

It doesn't

worldly ingot
#

It has zero logic at all

#

That's why I said it's meant more for something like a lobby where you can just implement some global lighting and that's about it

median path
#

does someone know about Node Map Plugin?

#

How to Set it up?

#

i searched on google and it says download some plugins but i couldnt find them

dawn flower
#

does BlockDropItemEvent#getItems return a copy of the items list or the actual one

#

if i change it does it change the drops

young knoll
#

It’s immutable iirc

dawn flower
#

goddamn it

#

how do i change it

remote swallow
#

drop ur item urself

dawn flower
#

k

misty ingot
worldly ingot
#

Well, no, it's in the void lol

misty ingot
#

also they say creatures are in limbo but ive never seen a single soul

#

im waiting for limbo cthulu update

worldly ingot
#

👀 They're watching

misty ingot
#

average game lore for the most irrelevant area in the game

#

but tbh imagine limbo had a dante style fight with cthulu going on and if you die you get sent outta limbo so you can only fight him during limbo wait thats just that big slime from the rift

young knoll
#

Limbo is just the backrooms before it became mainstream

remote swallow
#

oops fell off bedwars into the backrooms

median path
#

does someone know about Node Map Plugin?
How to Set it up?
i searched on google and it says download some plugins but i couldnt find them

young knoll
#

What the heck is a node map plugin

smoky oak
#

sounds like google translate failing

sullen marlin
#

Probably hub menu

median path
chrome beacon
#

?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

sinful imp
#

Heya, I'm using Spigot 1.21.4 and I've got a REALLY weird bug(?)

I have 0 plugins on (I removed the 2 jars I had 1 by 1 to make sure), server all restarted and everything, and for some reason

CONSISTENTLY, when you rejoin the server(not reload not anything else), your MOVEMENT_SPEED base attribute going down to 0.05 (default is 0.1), it isn't halved further and setting it to another number via the /attribute command and rejoining still brings it down to 0.05... specifically this attribute... Since now there are 0 plugins running on my server I imagine it's a spigot thing? Anyone else had this happen to them?

young knoll
#

Datapacks?

#

Command blocks?

sinful imp
#

I've got 1 datapack that adds block tags only

#

and no command blocks

#

nothing that should affect any attribute whatsoever

#

I only had my plugin in, and the Minekube Connect plugin

#

I've gotten rid of both just in case

#

restarted multiple timesa nd tested

#

and same result

young knoll
#

You sure no one has hidden a command block somewhere

sinful imp
#

yeah I just created a new world and tested my plugin on it

#

I am the only one who played so couldn't be a command block

#

haven't touched them

#

also it's only on join(or leave idk) for commands blocks to pull this off you need a scoreboard and I checked and none exists

median path
#

do you know this type of maps?

young knoll
#

Nope

median path
#

ah ok

rough drift
median path
#

and it has siege ability

sullen marlin
#

Are the nodes like clan claims or something?

median path
#

Ye

#

Like towns and nations

amber fjord
#

Is there at all, any way, to make a recipe require multiple of the same item in a crafting slot to make one of the output?

#

I've seen it done before on other servers

#

I just couldn't get around to it myself

remote swallow
amber fjord
#

yeah i think thats too much effort for what its worth

gray saddle
#

actually i easily fixed it with

#
sendPacket(player, new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_LISTED, ((CraftPlayer) player).getHandle() ));

that ^

spiral magnet
#

I currently am using runTaskTimer on a BukkitRunnable, it starts correctly the first time. I then call the cancel() function. At some later point I need to be able to run it again. If I simply call runTaskTimer again, I get stuck with an illegalstateexception

slender elbow
#

yes, you cannot reuse a BukkitRunnable instance

#

you need to create a new instance of it

spiral magnet
#

kk, replace each call to start it with a new instantiation that then starts instead?

nova notch
#

if you really needed to reuse the same exact runnable instance then you could just have an active/inactive state, where if its inactive it just skips the iteration?

spiral magnet
#

I don't have a particular need to, that is just how I conceptualized it initially.

surreal wadi
#

can anyone tell me how to fix this (my gamemode is not getting changed when ever i change it says An unexpected error occurred trying to execute that command)

spiral magnet
#

possibly if you send details about the command being executed, such as a code block

surreal wadi
#

...... /gamemode adventure

#

this

#

and this is happeing with all gamemodes

spiral magnet
#

are there any plugins involved?

surreal wadi
#

yes

#

sholud i tell there names ?

spiral magnet
#

take em out and slowly put them back in until you figure out which one is causing it

surreal wadi
#

ok

surreal wadi
#

ty it is fixed now that was deleuxe hub issue

mortal vortex
#

@sage perch

#

DId you end up opening a ticket?

#

Their application actually seems to not require much knowledge of Spigot at all.

jovial grove
#

Is there any way to find out who placed the vehicle, like boat or minecart? I found VehicleCreateEvent, but it doesn't track who placed the vehicle

jovial grove
#

Thanks

mortal vortex
random locust
#

why does when adding a new lore line to deluxe menus break everything

mortal vortex
#

What exactly are you adding? Can you show your code?

random locust
#

thru config

mortal vortex
random locust
#

not sure why it breakes it

vast ledge
#

You aren't developing

mortal vortex
#

This is development. You aren’t developing.

vast ledge
#

You're changing a config

#

Go to there discord

pseudo hazel
#

deluxe menus probably knows better than we can tell you

random locust
#

i have another rank with 16 lore lines and its fine then when i add another lore line to this rank it breaks the entire plugin

#

weird

#

makes no sense

vast ledge
#

Go to there discord

random locust
vast ledge
#

They do

mortal vortex
pseudo hazel
#

you dont have to be so abbrasive jeez

#

its starting to look like paper

mortal vortex
#

I’m not being abrasive.

#

Reminding the individual about the channel they’re in was a sign to switch over. Since I’m sure more server admins and owners check that channel than here.

upper hazel
#

Someone know why I have error without information about where is going on

pseudo hazel
mortal vortex
#

But also @upper hazel you're running paper 😉
Not to say that running Paper is you're issue, but you usually will not recieve support for Paper in this Discord Server.

#

Either way, I'll treat this as Spigot, because it's not inheritly something Paper is responsible for. But essentially your plugin either didn't load, or was disabled by another issue. You'll need to pinpoint that issue.

upper hazel
#

If my plugin disabled why I get this error then? I should see message like "this command not exist"

pseudo hazel
#

thats essentially whats happening

#

the first line literally says that the plugin is disabled

upper hazel
#

I mean simple message in chat

#

Without error

#

Bc plugin disabled

pseudo hazel
#

well no because its unusual that the plugin is disabled

#

i guess there is just no message

upper hazel
#

Alr what will be if I disable plugin in code?

#

I can get same error?

pseudo hazel
#

maybe

#

probably

upper hazel
#

Or this another situation

pseudo hazel
#

i have no clue

upper hazel
#

Alr

pseudo hazel
#

but this is a non issue as plugins should not just be disabled all the time, you should fix that first

sly flint
#

i have JDA plugin Logs and Commands but there is error when i send /mute 505t(my name in minecraft) for example

#

and the error

#

Thread JDA MainWS-ReadThread failed main thread check: command dispatch
java.lang.Throwable: null
at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:15) ~[paper-1.19.4.jar:git-Paper-550]
at org.bukkit.craftbukkit.v1_19_R3.CraftServer.dispatchCommand(CraftServer.java:905) ~[paper-1.19.4.jar:git-Paper-550]
at Discord.Chat.onSlashCommandInteraction(Chat.java:55) ~[ExcellentServerManager-2.3.jar:?]
at net.dv8tion.jda.api.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:456) ~[ExcellentServerManager-2.3.jar:?]
at net.dv8tion.jda.api.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:98) ~[ExcellentServerManager-2.3.jar:?]
at net.dv8tion.jda.internal.hooks.EventManagerProxy.handleInternally(EventManagerProxy.java:88) ~[ExcellentServerManager-2.3.jar:?]
at net.dv8tion.jda.internal.hooks.EventManagerProxy.handle(EventManagerProxy.java:70) ~[ExcellentServerManager-2.3.jar:?]

#

[net.dv8tion.jda.api.JDA] One of the EventListeners had an uncaught exception
java.lang.IllegalStateException: Asynchronous command dispatch!
at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:16) ~[paper-1.19.4.jar:git-Paper-550]
at org.bukkit.craftbukkit.v1_19_R3.CraftServer.dispatchCommand(CraftServer.java:905) ~[paper-1.19.4.jar:git-Paper-550]
at Discord.Chat.onSlashCommandInteraction(Chat.java:55) ~[ExcellentServerManager-2.3.jar:?]
at net.dv8tion.jda.api.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:456) ~[ExcellentServerManager-2.3.jar:?]
at net.dv8tion.jda.api.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:98) ~[ExcellentServerManager-2.3.jar:?]

smoky anchor
#

Start a bukkit task and execute the command in that.

smoky anchor
#

I guess

sly flint
#

the name of player

smoky anchor
smoky anchor
# sly flint

Try printing out the command you're about to execute, see how it looks.

smoky anchor
#

That's not it.
I mean what you put in the dispatchCommand call

sly flint
smoky anchor
# sly flint

Look what event.getOption returns then
hint: its not a simple string

sly flint
#

plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), "op " + event.getOption("player").getAsString().replace(" ", "")

#

maybe its work i think

smoky anchor
#

why th do you replace nothing with more nothing

#

What's the point of that

#

did you AI gen that

sly flint
#

if the command sender send Space with the player name

#

set the space to nothing

smoky anchor
#

ok, in that case use .trim()

sly flint
#

where

smoky anchor
#

instead of replace

#

trim gets rid of whitespace at start and end of string

ivory sleet
#

?kick @misty ingot

undone axleBOT
#

Done. That felt good.

misty ingot
#

my sincerest apologies.

#

as i mentioned, wrong channel wrong time

#

lesson learnt

glossy venture
#

my headless minecraft client isnt receiving like half of the chat packets idk what the issue is bro
ive used pakkit (local proxy which logs packets) and the server is sending the packets, my stupid client just isnt reading them for some reason

#

i dont even know what to send

#

this is like

#

the whole client file

#

if thats of any use

#

login and everything works fine

#

btw

#

so it can definitely receive packets

#

its also deterministic it receives the same packets every time

#

so i dont think there is really a bug which isnt reading enough from the stream or something as the effects would depend on other packets sent influenced by activity on the server

#

it also used to work fine but i got a new laptop and reinstalled java and now im getting weird shit like this

torn shuttle
#

@echo basalt hey were you the one who had a link to a page that shwoed how to mass alter millions of blocks in a server without having it crash out

smoky anchor
#

?workdistro

torn shuttle
smoky anchor
#

Yes, not sure if that's what you mean

torn shuttle
#

it's not entirely a problem of distribution, there was an nms method that was much faster than what worldedit does

#

I was just trying to remember what that was

smoky anchor
#

Oh I remember reading that

torn shuttle
#

that one yes thanks

#

still working?

eternal night
#

its nms

#

from 1.14

torn shuttle
#

yeah I'm not so happy I have to do it

#

but uh

#

worldedit just crashes my "realistic circumstances" test server so

eternal night
#

just try FAWE

torn shuttle
#

doesn't work

#

already tried

eternal night
#

like it also crashes?

#

or FAWE is not functional at all

torn shuttle
#

casues a ton of secondary problems

eternal night
#

Well all of the actually fast methods on that post will be causing secondary problems too omegaroll

torn shuttle
#

assuming it's just what is listed there

#

all I need to do is modify blocks in a void world so it's prepared for what is basically a minigame

#

players don't need to be able to see block changes in there

eternal night
#

Well you'Ll still need to recompute lightning

#

but I guess go for it

#

The general vibe should still work

torn shuttle
#

well if that's the only thing I need to do it should be fine

eternal night
#

Palettes haven't changed

echo basalt
#

Palettes are a 1.9 concept iirc

#

Or is it 1.13

smoky anchor
#

1.13 I believe

torn shuttle
#

this reminds me of how much I hate nms

surreal wadi
#

Limboapi and limbo auth is not working in velocity server but the files are extracted

pseudo hazel
#

?whereami

hushed spindle
#

would Player#hasAi() always return false?

eternal night
#

Yes

hushed spindle
#

epic

young knoll
#

Player#setAi(false) performs a lobotomy

sly fiber
#

Do you know of a script or plugin that can be used on a survival server where players can use /rankup, and it costs some money and items, for example? Or just what this type of plugin is called?

mortal vortex
sly fiber
mortal vortex
#

Not replying here.

smoky oak
#

ok i have a very odd problem. i have a 2d shape of blocks and need to figure their arrangement order in a clockwise list as viewed from above and to a certain location.

I assume this can be done with vector math somehow?

#

aka sort by angle, but how do i calculate said angle from the two locations

eternal night
#

"to a certain location"?

smoky oak
#

like, i dont want to calculate this relative to the world origin lol

#

i want this from the center of the shape

eternal night
#

ah

echo basalt
#

so you want to rotate everything 90deg around the Y axis through the center of itself

smoky oak
#

? no

echo basalt
#

??

smoky oak
#

i just want to have the clockwise order of the blocks in the shape. its a circle outline

echo basalt
#

xy moment

smoky oak
#

angle in the xz plane compared to the (1,0,0) vector

echo basalt
#

explain what this is used for

smoky oak
#

to spawn items on every nth block in the list

#

i want them evenly spaced

eternal night
#

okay but are the blocks continous?

#

like, why are you thinking in blocks

#

or is it like 10 blocks spread in a circle

echo basalt
#

find the circle's center, grab the min/max angle through trig and space the items out type shi

smoky oak
# smoky oak angle in the xz plane compared to the (1,0,0) vector

like i said a circular arrangement of blocks

im first scanning for the shape from an anchor point, so thats super fast, but i dont want to hardcode the order of all blocks in said shape bc thats a ton of work

but the why doesnt really matter when the problem boils down to this this

eternal night
#

a filled or unfilled circle

echo basalt
#

at this point just open up mspaint

#

and make a drawing

eternal night
#

tho yea just, compute the angle to whatever vector is your clocks "12"

smoky oak
#

exactly. how

eternal night
#

what do you mean how

smoky oak
#

whats the math

eternal night
#

Prebuild methods exist?

#

Both in bukkit vectors and joml

smoky oak
#

ah

short vault
#

Hi i'm trying to fork a plugin called Light-API and i want to publish it in JitPack but it gives me this error:

[ERROR] Failed to execute goal on project v1_16_R2: Could not resolve dependencies for project ru.beykerykt.lightapi.nms:v1_16_R2🫙3.3.0: Could not find artifact org.spigotmc:spigot🫙1.16.2-R0.1-SNAPSHOT -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :v1_16_R2

Notice that the project is multi-module and run buildtools

eternal night
#

jitpack and buildtools don't play well

manic delta
#

Guys I'm doing a shop chests project, but I'm conflicted, what would be the best way to load all the shops? or what would be the best way to load them? loading all on server starts and put them in cache? or what do you guys think of?

eternal night
#

usually you can load them when their chunk is loaded if they are indeed bound to the chunk

echo basalt
smoky oak
#

exactly

#

i forgot bukkit vectors exist 😅

manic delta
echo basalt
#

From the circle's origin, if you have the angle the target position is just sin(radians), cos(radians)

#

To reverse the angle I believe it's just atan2(dZ, dX)

#

sumn like that

#

might be in the wrong order

#

lemme find my example code

#

pretty sure bukkit's vector has an angle(Vector) method

#

ah it uses acos(dot)

#

that can also work

smoky oak
#

and now for the age old question: which is faster :V

echo basalt
#

dot's pretty performant

#

they're both quite fast ngl

smoky oak
#

eh. not like im using this on millions of blocks lol

#

more like 600

short vault
manic delta
#

because i only have this data

torn shuttle
#

ok well

smoky oak
torn shuttle
#

now I got to figure out what the data is in worldedit and what it needs to be when I do LevelChunkSection#setBlockState

#

because I definitely did not do it right first try

manic delta
echo basalt
#

worldedit kinda sucks for that

manic delta
#

good point

torn shuttle
echo basalt
#

you gotta use WE or do you have schem files

smoky oak
#

i have a maybe-functional library to handle sql. want to test it for me :V

echo basalt
#

I recently added ItemsAdder support for worldedit pastes and realised they overcomplicated everything for no reason

torn shuttle
#

if you only did it recently you haven't even seen the half of it

#

you should see how the format randomly changes

#

when mc updates

echo basalt
#

messed with extents, block factories n stuff

#

FAWE vs regular WE

#

it calling different methods across versions

#

because this used to work on 1.19 and then they changed everything and half the code I had was useless

#

I've had issues where blocks in schematic files were showing up as __reserved__ instead of the nbt I was expecting

torn shuttle
#

can I pass bukkit's blockstate to nms blockstate easily, I am pretty sure I should be able to right

echo basalt
#

nms blockstate is bukkit's blockdata

#

bukkit's block state represents tile entities

torn shuttle
#

fantastic

echo basalt
#

WE's blockstate matches nms' blockstate

#

except WE also has BlockMaterial and stuff

torn shuttle
#

all I need is a way to get blockstate from WE to get blockstate from nms

#

well really all I need is to bypass WE's paste

#

using something that doesn't crash servers when pasting a few hundred thousand blocks

echo basalt
#

you can make an extent that just pastes nothing

#

unless I'm tweaking and it's not what you want

torn shuttle
#

that's not what I want

#

I have schematics

#

they're modules

#

I am arranging them

#

then mass pasting

#

the mass paste will crash servers if you using WE

echo basalt
#

workdistro moment

torn shuttle
#

so I am getting the schem data block by block and doing the placement "manually"

echo basalt
#

Yeah you can do that with an extent

torn shuttle
#

in WE?

echo basalt
#

Yeah

torn shuttle
#

with no nms?

echo basalt
#

You can use NMS for the pasting

torn shuttle
#

ok well

echo basalt
#

but you can override the pasting logic with an extent

#

and it'll work

torn shuttle
#

I mean do I even need to do that part, it really doesn't matter how I bypass it

#

what else would I need from WE functionality

echo basalt
#

you can skip WE and just do all the pasting yourself

torn shuttle
#

that's what I'm doing

#

well

#

that's what I've started doing

#

I just don't have the correct data yet

echo basalt
#

So.. we need to convert worldedit's blockstate to nms?

torn shuttle
#

yep that's what I'm looking into now

#

everything else works

#

(probably)

echo basalt
#

Should be simple enough

#

getAsString returns the proper key

torn shuttle
#

yeah I just don't know what ot look at

#

I haven't really dealt with blocks that much

echo basalt
#

and then you make a cache of WEState : NMS

#

tis like 10 lines of code

torn shuttle
#

you know a lot of problems could be fixed with 10 lines of code if only you knew what 10 lines you need

echo basalt
#

might break with tile entities but that's a problem for later you

torn shuttle
#

don't need tile entities

#

oh wait I do

#

are rails tile entities?

echo basalt
#

no

torn shuttle
#

banners and paintings are right

#

I don't think we're using those

echo basalt
#

nope

#

that's still block data

torn shuttle
#

then what counts

echo basalt
#

states are tile entities

#

chests, furnaces, brewing stands

#

spawners iirc

torn shuttle
#

hm

#

ok well that's definitely something I should think about after I figure out how WE structures data and what data NMS wants

#

definitely feels like I should just be able to pass BlockData around for this no?

echo basalt
#

yeah blockdata is WE's blockstate

#

Block data -> nms is fairly easy

torn shuttle
#

so do I go WE blockstate-> bukkit blockdata -> NMS blockstate here

echo basalt
#

You can

#

I wanted to skip it but it seems like this parser's a bit fucked

torn shuttle
#

can't skip it anyway because I'm using a shaded library I made

#

and it doesn't have WE as a depend

#

plus I'd prefer to have something more "generic"

echo basalt
#
private static final Map<worldedit.BlockState, nms.BlockState> STATE_CONVERSION_CACHE = ...;

public static nms.BlockState convert(worldedit.BlockState state) {
  return STATE_CONVERSION_CACHE.computeIfAbsent(state, this::convertState);
}

private static nms.BlockState convertState(worldedit.BlockState state) {
  String serialized = state.getAsString();
  BlockData bukkit = Bukkit.createBlockData(serialized);
  // sanity check suggested 

  return ((CraftBlockData) bukkit).getState();
}
#

I'd skip the bukkit step but it seems to do some pretty important code

torn shuttle
#

good lord ok

#

let's see

fossil fiber
#

not a developer but question, so today I was bored and I'm looking if there's a way to increase my attack reach

and ya then I found a plugin that allows me to do that but how does getTarget even works?

I know player.attack maybe deal direct damage to the target upon left click if checked the target exists in the eye distance of player but now what about the range for the reach?

but what does ! means in target !=null

and what statement detects if the range is in player cursor?

@EventHandler
   public void b(PlayerInteractEvent e) {
      if (e.getAction() == Action.LEFT_CLICK_AIR || e.getAction() == Action.LEFT_CLICK_BLOCK) {
         Player player = e.getPlayer();
         if (!this.pl.settings.getBoolean("usepermission") || player.hasPermission("reach.use")) {
            Entity target = this.pl.utils.getTarget(player);
            if (target != null) {
               player.attack(target);
            }
         }
      }
   }
}
#

oh ya I forgot to mention there's raytracing

   public Entity getTarget(Player player) {
      RayTraceResult result = player.getWorld().rayTrace(player.getEyeLocation(), player.getEyeLocation().getDirection(), (double)this.pl.settings.getInt("range"), FluidCollisionMode.NEVER, true, 0.0D, (entity) -> {
         return entity instanceof LivingEntity && !entity.equals(player);
      });
      Object closer = this.getCloser(result);
      return closer instanceof LivingEntity ? (Entity)closer : null;
   }

   public Object getCloser(RayTraceResult result) {
      if (result == null) {
         return null;
      } else {
         LivingEntity entity = (LivingEntity)result.getHitEntity();
         Block block = result.getHitBlock();
         if (entity == null) {
            return block;
         } else {
            return block == null ? entity : null;
         }
      }
   }
}
flint coyote
#

getTarget is a function call. Without the code of that function, no one will be able to tell you what exactly it does to determine the target.
However if you just want to increase the attack range, you can increase the attack_reach entity_interaction_range attribute of a player. This can be achieved with ingame commands as far as I know. At least you can put it on items to grant that effect

Edit: Ok strike the first part now :)

#

Here's the command to increase your attack and interaction range for entities:
/attribute @s minecraft:entity_interaction_range base set 10

fossil fiber
#

wait so how does raytrace even checks for the target?

#

how is it even possible

#

oh i get it

#

i searched online and saw that ray tracing acts as a straight line

flint coyote
#

I'm not sure whether I understand your question?
It basically draws an invisible line in the direction you are looking and then finds the first entity/block hit. Although blocks are filtered out

echo basalt
#

The idea of a raytrace is that we get the player's eye and shoot a "ray" through it

#

And then it matches the intersection of that ray

#

There are a couple algorithms to optimize it

fossil fiber
#

oh ya i see how it works and i will maybe check this video out

#

thx cya

smoky oak
#

oh the tetris guy

manic delta
#

the database is connected and it is not null

torn shuttle
#

oh

#

does spigot not have a method to force a chunk to recalculate lighting ?

worldly ingot
#

I also don't know how Kotlin does this, if it just calls toString() or what, but I don't know if jdbc:sqlite:$file is correct either

#

If it just toString()s it, it's probably fine? Might still want to double check it though. Might need to use the absolute path instead

manic delta
#

i use this code for all my plugins, this is first time using it on kotlin so thats weird

worldly ingot
#

Right, so you've changed something. Things that work in Java might not work in Kotlin. Java most definitely doesn't have the $object syntax, so double check what that actually results in

#

Your Connection is not null. Your NPE would have been much earlier in the stack if it were

manic delta
#

i have this on java, but is literally the same

umbral ridge
#

getConnection takes in a connection string

#

not a File class

chrome beacon
#

When it comes to SQLite the connection string is the file path

manic delta
chrome beacon
#

tried the absolute path ?

manic delta
#

yea, is the same output

torn shuttle
#

damn

#

what is the easiest way to get the server to recalculate lighting

manic delta
#

"java.lang.NullPointerException: null" doesnt help me lol

umbral ridge
#

something is null

manic delta
manic delta
remote swallow
#

?paste the error then

undone axleBOT
manic delta
#

i did before but okay

remote swallow
#

oh i didnt see that

#

im guessing StorageManager.kt:73 is the getConnection?

manic delta
#

createTable actually

manic delta
remote swallow
manic delta
remote swallow
#

does the same happen using getConnection("jdbc:sqlite:${file.absolutePathString}")

#

i think thats a thing on file i dont remember exactly

manic delta
#

let me try

#

thats weird because that code works well on java

#

first try on kotlin and it is giving me issues lol

remote swallow
#

in the init block, print connection

#

before createTable

remote swallow
#

does the error still happen after that?

manic delta
#

yes sir

#

this error is just dumb

remote swallow
#

im so confused how that error is even happening tbh

manic delta
#

searching it for like 2 hours

#

yea two hours damn

remote swallow
#

somehow the sql strng isnull

torn shuttle
#

meanwhile, me with intellij open for 16 hours a day

manic delta
#

wait i made it work

#

ive delayed the createTable thing

#

for like 3 seconds

#

and it worked

#

what the fuck

remote swallow
#

i have a feeling the init is calling before variables are getting init'd maybe

manic delta
#

but i

#

used connect() before with createTable() inside of it

worldly ingot
#

He's correct

#

Your init block is before your variable declaration

manic delta
#

kotlin is dumb

#

thats all

#

i can finally test my code

worldly ingot
#

I did consider maybe that your statement was null too, but I don't know kotlin enough to know that init() isn't equivalent to an init block

manic delta
#

after two hours

worldly ingot
#

Or maybe it is equivalent to an init block :p I didn't think that the position of the init block mattered if it wasn't static

#

Your queries should definitely be static constants by the way, I don't know if Kotlin has an equivalent

remote swallow
#

companion object

manic delta
#

but why static

#

i just use them there

worldly ingot
#

Because they don't change and don't belong to the class instance

manic delta
#

static is not "private static..."?

#

or you mean final

worldly ingot
#

They should be private, static, and final

remote swallow
#

in kotlin that would be a private val in a companion object

manic delta
#

mmm

worldly ingot
remote swallow
#

just cant believe ur so silly

manic delta
#

kotlin is silly

remote swallow
#

might need to go and play with the huskies to remove it

manic delta
#

i mean kotlin is cool

#

but i learned one thing today

#

the same code is different in kotlin and in java

remote swallow
#

yah

umbral ridge
#

🤦‍♂️

manic delta
#

and dont trust init

remote swallow
#

init has its place

manic delta
#

on trash

#

now i have to figure why tf my loading shops not work

vague quiver
#

Guys, help me, I can't understand why my message when I click on the block is written twice

manic delta
#

check if the hand if the HAND

#

put this if(event.getHand()==EquipmentSlot.OFF_HAND) return

worldly ingot
#

lol, saw you have to transition to Java brain in real time

echo basalt
#

conventions when

torn shuttle
#

I'm about to blind try one

echo basalt
#

uh

#

go for it

#

I mess with blocks often enough but nun too crazy

torn shuttle
#

it's just annoying because this is a shaded library and because maven is shit I have to do a ton of stuff to do one try

manic delta
#

And when I gave him the code I said, that's right, that's Java.

fickle spindle
#

how can i put like to the j the opening of a gui?

manic delta
#

you mean the key?

pseudo hazel
#

the j?

manic delta
#

if you mean the key you cant

vague quiver
blazing ocean
#

Well if the player has something like offhanding bound to J, you can

torn shuttle
#

nope don't think that worked

manic delta
remote swallow
blazing ocean
remote swallow
#

i swear it reimpld it

blazing ocean
#

under the same name tho

slender elbow
#

it only keeps existing because moonrise kinda depends on it

#

but it doesn't really have a reason to exist otherwise

torn shuttle
#

ok well

#

this doesn't work either

#

how am I supposed to get it to work

worthy yarrow
#

Magma doesn’t speak like this

#

Magma always has full confidence in magma’s self

upper hazel
#

how get and set face from block in 1.16.5

#

in 1.20 how i see exists getFacing

#

but

#

not in 1.16.5

surreal wadi
#

The Limbo auth and limboapi's file is extracted but not working

#

im directly connect to lobby and drakness is there and it is not disappering

smoky oak
#

can a interface have fields?

#

bc it looks to me rn that if i have a field that i more or less need in every implementation needs to either be in every implementation, or i need to have another class extending the interface to contain that field

eternal night
#

no

upper hazel
#

(gui api)

worldly ingot
quasi gulch
#

I renamed a mob with livingEntity.customName(...) but it shows up in the console when it dies. How can i encounter this so it has a name visible over his head without it being mentioned in the console.

upper hazel
#

visually there are no errors, but when compiling...

blazing ocean
#

so show the errors?

smoky oak
#

btw if a superclass has a field that's <something>, can you change that in the extending classes to a ? extends something ?

worldly ingot
#

Not sure I understand

smoky oak
#

field Collection
extend
field List

worldly ingot
#

You would have to make it a generic or something, or cast when using it

smoky oak
#

...why do final fields in abstract classes require instantiation?

eternal night
#

?

#

They are final. They need to be initialised

smoky oak
#

well yea but abstract classes cant be instantiated

#

hm completely different problem now

my abstract class has a reference to 'World world', how do i pass it a consumer that makes use of that variable? is it possible without usinr reflection?

eternal oxide
#

an abstract class can have a constructor

smoky oak
#

I'm aware an implementing class would have access to 'world', but the consumer does not necessarily originate from one of those

eternal oxide
#

what?

smoky oak
#
abstract class Shape {
  World world;
  Consumer<Particle> consumer;
}

//elsewhere
//How to access world?
new Line(locationList, particle -> {world.renderParticle(particle, location, 1);});
eternal oxide
#

so your Line class has a constructor that takes a List and a Consumer

blazing ocean
#

so make a getter or something?

eternal oxide
#

or your Shape class can

smoky oak
#

you saying consumers can take tuples?

worldly ingot
#

A Consumer can take literally anything you want, as long as it's a valid type

blazing ocean
#

I'm so confused

worldly ingot
#

Or you can use something like a BiConsumer if you need two things lol

blazing ocean
#

or just make an interface

worldly ingot
#

That too. Nothing stopping you from making your own functional interface

smoky oak
#

yea that runs back into the same problem
is the only workaround a getter for the stored world reference or a biconsumer that also takes world?

worldly ingot
#

Nothing wrong with having a getWorld()

#

Location and Entity do it :p

smoky oak
#

wait

smoky anchor
#

\o
What is the name of the library that adds "official" annotations for nullable and such ?

worldly ingot
#

There are many, but Bukkit uses JetBrains Annotations

wet breach
blazing ocean
#

jspecify and jetbrains are the popular ones

smoky anchor
#

I vaguely remember a new-ish library

#

yes jspecify ty

worldly ingot
#

Still not "official" but a collaborative effort to make a standard

blazing ocean
smoky anchor
#

Aaah I see ty
I didn't really look much at this besides knowing it exists before

smoky anchor
smoky oak
#
Shape shape = new Line(a, b, location ->
  {world.renderParticle(this.getParticle(), location, 1);}

would the 'this' here refer to the class its called from or to Shape

blazing ocean
#

the caller

smoky oak
#

howd you use getters in consumers at construction time, then?

#

just make everything part of the consumer feels wrong

blazing ocean
#

I'm so confused as to what you're actually trying to achieve

smoky oak
#

allow manipulation of how something is rendered without having to write a completely new class

blazing ocean
#

Then pass in the shape instance if you really need it?

smoky oak
#

oh

#

hm

#

yea that could work

#

if i give the shape a getter for the locations and particle

#

feels very circular tho

blazing ocean
#

Just make an abstract method for all of that?

smoky oak
#

which would require instantiating it

#

aka new class

blazing ocean
#

Just override that in Line?

smoky oak
#

ok whats going on here lol

glad prawn
#

abstract class

smoky oak
#

? extends shape gives the same error

blazing ocean
#

public abstract Shape

smoky oak
#

ah

misty ingot
#

public abstract Shape got me thinkin like

slender elbow
#

the shape do be abstract

median path
#

Does Someone Know How to Set up the Nodes Plugin its a map like this

chrome beacon
median path
#

for my server

chrome beacon
#

Then this is the wrong channel

median path
#

oh where do we send it

chrome beacon
median path
#

okay thanks

chrome beacon
#

And do ask a better question

tame wolf
#

Hello! I've been testing my plugin on 1.21.4 and noticed that the bossbar it adds just disappears after a player leaves the server and rejoins, has anyone experienced this before or knows what could potentially cause this?

chrome beacon
#

How did you add the bossbar

upper hazel
#

guys how do block.setFacing in 1.16.1

#

this not exists in

tame wolf
#

When a player joins, I call a method "ShowEnergyBar" which takes some values from the save files and displays the bar for them, showing their energy, which is a part of my plugin

#

?paste

undone axleBOT
tame wolf
#

What this does is takes the list of players that should have a bossbar displayed, checks if its enabled in the config, then displays the energy and the progress out of the max energy they can have

#

Looks like this guy had the same problem

#

But didn't seem like he solved it?

chrome beacon
#

They got an answer

tame wolf
#

Yeah but I don't understand what that answer means-

jovial mason
#

    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent event) {
        Player player = event.getPlayer();
        System.out.println("sex");

        if (isSkillpunkteUtilitySet(player)) {
            player.setWalkSpeed(1.51f);
            System.out.println("DEBUG: Die Skillpunkte::utility.1::" + player.getUniqueId().toString() + " Variable ist gesetzt für " + player.getName());

        } else {
            player.setWalkSpeed(0.2f);
            System.out.println("DEBUG: Die Skillpunkte::utility.1::" + player.getUniqueId().toString() + " Variable ist NICHT gesetzt für " + player.getName());
        }
    }

why is no println triggered? like nothing happens, what did i do wrong?

chrome beacon
#

Did you forget to register the listener

blazing ocean
#

println("sex")

jovial mason
#

i can explain that

chrome beacon
jovial mason
#
    @Override
    public void onEnable() {
        PluginManager pluginManager = getServer().getPluginManager();
        pluginManager.registerEvents(new abfrage(), this);    }
#

i did

#

i crap myself

#

where is my plugin

#

i did something wrong this time there is no plugin.yml from the beginning

#

why is it still not existing?

thorn isle
#

resources to be packaged in the jar go in the resources directory next to the java sources directory

blazing ocean
#

Why is the screenshot so terrible

jovial mason
#

because my parents dont love me

blazing ocean
#

like it's just what feels like 12x56px

jovial mason
#

i have a widescreen

#

i am depressed why is my plugin not recognized

jovial mason
#

yeah i patched that

blazing ocean
#

src/main/resources

jovial mason
blazing ocean
#

So did you clean build

jovial mason
#

rebuild

#

yesss

blazing ocean
#

And you copied the jar?

jovial mason
#

the jar rebuilds automatically in my plugin folder

#

i can redo it rn wait

#

maybe i am dumb

blazing ocean
#

I sure hope you're using a copy task

jovial mason
#

idk what that means

#

so i most likely dont use that

eternal night
#

rad and their copy jar task typing

jovial mason
#

still gone

upper hazel
#

can server 1.16.1 running in 1.17?

thorn isle
#

of course

upper hazel
#

nice

#

oh wait

#

i mean java 17

#

😅

worldly ingot
#

It requires Java 17 doesn't it?

#

Or was that 1.18?

#

I always forget

#

Anyways the answer is yes. Java is largely forwards compatible, so unless you have a plugin doing something very stupid, you should be fine

upper hazel
#

i have

#

plugin compiled in 17

#

😢

worldly ingot
#

You can't have a plugin compiled with Java 17 run on a server that's running Java 8 (or anything below 17, that is), if that's what you're asking

#

The server has to be running at least the version of Java your plugin is compiled against

upper hazel
#

so this is why i ask 1.16 server can be in 17 java?

worldly ingot
#

the answer is yes. Java is largely forwards compatible

upper hazel
#

nice

#

life is beautiful 🥹

blazing ocean
jovial mason
#
    <repositories>
        <repository>
            <id>papermc-repo</id>
            <url>https://repo.papermc.io/repository/maven-public/</url>
        </repository>
        <repository>
            <id>sonatype</id>
            <url>https://oss.sonatype.org/content/groups/public/</url>
        </repository>
        <repository>
            <id>skript-releases</id>
            <name>Skript Repository</name>
            <url>https://repo.skriptlang.org/releases</url>
        </repository>
        <repository>
            <id>destroystokyo-repo</id>
            <url>https://repo.destroystokyo.com/content/repositories/snapshots/</url>
        </repository>
    </repositories>
  <dependencies>
        <dependency>
            <groupId>io.papermc.paper</groupId>
            <artifactId>paper-api</artifactId>
            <version>1.21.4-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.github.SkriptLang</groupId>
            <artifactId>Skript</artifactId>
            <version>2.8.5</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

i tried to add the skript plugin but its still not found in the plugin, even tho i reloaded maven

#

in pom.xml is no error but i cant import it

blazing ocean
#

You showed a project with gradle earlier-

jovial mason
#

yes

#

i hate gradle

#

i switched now

blazing ocean
#

Maybe if you would've asked about it you wouldn't have to switch

jovial mason
#

i couldnt make a plugin with gradle

#

u saw it

#

it wasnt in minecraft

blazing ocean
#

Sounds like a you issue and somebody not using a copy task

glossy laurel
#

guys, is it possible to send the client like 3 resource packs on join and toggle between them while they are on

jovial mason
#

the fuck is a copy task

blazing ocean
#

A gradle task that copies your jar

jovial mason
#

okay

#

but i wanna add dependency now

#

XD

blazing ocean
#

You can remove them sure

glossy laurel
#

does that mean they will have to redownload?

blazing ocean
#

That does have the asset reloading screen though

#

No

glossy laurel
#

okay, so you only have to download once right

worldly ingot
#

This feels like an XY problem PES3_HmmCoffee

blazing ocean
#

If you provide the right hash and UUID, yes

glossy laurel
worldly ingot
#

25 worlds? stitchShrug

blazing ocean
#

I mean it depends on what you want

glossy laurel
#

if there is a way to do that without resource packs id be glad to hear it

worldly ingot
#

No redownload if the hashes match. Will just apply from a local cache. Packs are downloaded to .minecraft/server-resource-packs

blazing ocean
#

No choco

#

It's downloads nowadays

#

How dare you not know the entire .mc dir by heart and call yourself a real plugin dev smh smh

glossy laurel
#

How firework particle custom color

blazing ocean
#

Can we not even form proper sentences now

#

But iirc there's some dust colour option

glossy laurel
#

dust color aint firework particle

#

I need firework particle

#

specifically

blazing ocean
#
    fun spawnFireworks(location: Location, amount: Int, colour: Color) {
        val firework = location.world.spawnEntity(location, EntityType.FIREWORK) as Firework
        val meta = firework.fireworkMeta

        meta.power = 0
        meta.addEffect(FireworkEffect.builder().withColor(colour).flicker(true).build())
        firework.fireworkMeta = meta
        firework.detonate()

        for (i in 0 until amount) {
            val firework2 = location.world.spawnEntity(location, EntityType.FIREWORK) as Firework
            firework2.fireworkMeta = meta
        }
    }
``` Found this old piece of code of mine
glossy laurel
#

ew kotlin?

chrome beacon
#

smh not modifying the entity in the consumer

#

🔫

blazing ocean
#

This is from 2.5 years ago okay

glossy laurel
#

is it possible to tell when the client goes out of that big red resource pack loading screen thingy

blazing ocean
#

ResourcePackStatusEvent or something similar

blazing ocean
#

ah yea that was the name

torn shuttle
#

well

#

I have still not figured out how I can manually update lighting server side

chrome beacon
#

You won't get much help with random nms methods here

#

Consider not breaking the lighting in the first place 🧠 ||\s||

torn shuttle
#

sure, just as soon as the api lets me edit a few million blocks without it lagging out

chrome beacon
#

Work distro time

torn shuttle
#

I don't want to do it over a 3 day period either

eternal oxide
#

Make AI do it, job done!

torn shuttle
#

it's working really well with the data palette

#

pretty much instant as far as I can tell

#

just has the one problem with the lighting

chrome beacon
#

Tried looking at what setType to trigger lighting update?

#

Follow the method calls

torn shuttle
#

not yet, been trying to follow the scarce docs from other people on this thus far but I'm all out and it clearly hasn't worked

eternal oxide
#

Does a chunk snapshot contain lighting data?

#

You need to replace blocks fast, but the lighting could be performed slower

torn shuttle
#

yeah I'm fine with that compromise

#

I don't even need the lighting to instantly work everywhere

#

but I would like it to work at some point

eternal oxide
#

I've not messed with lighting so can't help you there

torn shuttle
#

you'd think there would be a method for this

eternal oxide
#

in nms I would expect one

#

not in API though

torn shuttle
#

ngl the thought of just filling it with lamps and removing them has crossed my mind

eternal oxide
#

I guess you could spawn a light every x blocks and delete it

torn shuttle
#

yeah that was what I was thinking lol

eternal oxide
#

Not sure how far they reach

torn shuttle
#

I should probably just go to bed, I can barely keep my eyes open

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

    <groupId>at.dnalor.skilltree</groupId>
    <artifactId>untitled1</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>untitled1</name>

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

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

    <repositories>
        <repository>
            <id>papermc-repo</id>
            <url>https://repo.papermc.io/repository/maven-public/</url>
        </repository>
        <repository>
            <id>sonatype</id>
            <url>https://oss.sonatype.org/content/groups/public/</url>
        </repository>
        <repository>
            <id>skript-releases</id>
            <name>Skript Repository</name>
            <url>https://repo.skriptlang.org/releases</url>
        </repository>
        <repository>
            <id>destroystokyo-repo</id>
            <url>https://repo.destroystokyo.com/content/repositories/snapshots/</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>io.papermc.paper</groupId>
            <artifactId>paper-api</artifactId>
            <version>1.21.4-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.github.SkriptLang</groupId>
            <artifactId>Skript</artifactId>
            <version>2.8.5</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
</project>

why can i still not import skript plugin?

smoky oak
#

did your maven reload?

jovial mason
#

yees

#

in pom.xml no errors

#

:(

smoky oak
#

no like if you edit the pom you need to hit that maven update symbol so it actually updates

jovial mason
#

thats how i do it

smoky oak
#

ah

#

hm

#

yea idk if its the correct path maybe restart your IDE

#

sometimes it doesnt update properly

jovial mason
#

aha

#

i see

#

u need to restart the programm