#help-development

1 messages · Page 1226 of 1

jovial mason
#

ty

smoky oak
#

average computer error tbh

#

turn it off and on again :kek:

chrome beacon
#

Kekw

jovial mason
#

is there a way to make a player 5% faster at breaking blocks

#

without giving him haste

chrome beacon
#

What version are you on

jovial mason
#

newest

#

sir

#

there is a block break speed attribute right

chrome beacon
#

Yes

jovial mason
#

which event i need for that

#

blockbreakevent?

#

idk

#

how to read that

#

XD

chrome beacon
#

Depends on what you want to do

jovial mason
#

i want a player to break blocks faster

smoky oak
#

ah what olivio is saying is that the attribute controls that
so if you change a given players attribute to +.05 (assuming its base is 1) they mine 5% faster

#

you can also give items modifiers that change how fast they mine individual bloccks

jovial mason
#

yeah but i want it to be on every tool not specific

smoky oak
#

player attribute then

chrome beacon
#

^^

jovial mason
#

lemme try

#

but how i set it

chrome beacon
#

get the attribute and add a modifier

jovial mason
#

aha aha

#

okay

#

player.getAttribute(Attribute.BLOCK_BREAK_SPEED);

#

thats how i get it

chrome beacon
#

Yes

jovial mason
#

but how i put it now? XD

smoky oak
#

player.getAttribute(Attribute.MINING_EFFICIENCY).addModifier(new AttributeModifier(new NamespacedKey(plugin, "mining_speed"),0.05,AttributeModifier.Operation.ADD_NUMBER,EquipmentSlotGroup.ANY));

jovial mason
#

Dang what

#

but ty

smoky oak
#

may have forgotten a parenthesis somewhere

#

true but compherending the API takes a while to get right

#

basically, i just looked at the player api page and went from there, doing educated guesses

chrome beacon
#

Yeah that's kind of what I wanted them to do

jovial mason
#

olivio can u show me the link anyway?

smoky oak
#

you kinda linked the wrong page to start from then lol

jovial mason
#

i try to do it without getting spoonfed

chrome beacon
#

I did not link to the methods

#

But I did hint at their name

smoky oak
#

yea but imo you should have pointed out that player extends Attributable

#

inherits?

chrome beacon
#

I doubt that would have helped them

smoky oak
#

i mean, what else would you use as starting point?

chrome beacon
#

The player class and then a quick search for get attribute

jovial mason
#

hey hey hey

#

calm down

chrome beacon
#

Or just doing it in the IDE like they did

smoky oak
#

this is calm isnt it?

chrome beacon
#

They did get that part just fine

smoky oak
#

ah

#

<- reading comprehension not achieved

chrome beacon
#

Now on to add modifier which I was grabbing the link for but I'm on mobile

#

So you were a bit faster than me

jovial mason
#

now i am gonna ask the most basic thing

#

but i need to understand it

#
            player.getAttribute(Attribute.BLOCK_BREAK_SPEED).addModifier(new AttributeModifier(new NamespacedKey(plugin, "mining_speed"), 0.05,AttributeModifier.Operation.ADD_NUMBER, EquipmentSlotGroup.ANY));

why does it say plugin in the code?

cedar saffron
#

Chat GPT eyes

jovial mason
#

perfect

young knoll
#

Even the spoon feeding has failed

jovial mason
#

why the code works

#

i am just wondering

mortal vortex
#

plugin refers to your main class. It tells NamespacedKey what plugin it belongs to.

young knoll
#

What’s above spoon feeding

#

Shovel feeding?

mortal vortex
#

Permanent feeding tube id imagine.

frail pilot
#

Hi, I would like to send a message with a hover event that display an item tooltip in 1.21+. According to this issue (https://github.com/SpigotMC/BungeeCord/issues/3688) and my lasts 3 hours of experimentation, I'm doomed. Considering that Bukkit api does not allow us to send json message directly, is there any way I can send my hover event or do I need to go for nms (or any framework that use them like adventure) ?

GitHub

Bungeecord version BungeeCord-Bootstrap:1.20-R0.3-SNAPSHOT:52ab21b:1844 Server version No response Client version 1.20.6 Bungeecord plugins n/a The bug When creating a HoverEvent with a Item conten...

chrome beacon
#

Also if you want to Adventure has Spigot/Bukkit support

young knoll
#

Sorta*

frail pilot
# chrome beacon Spigot has API for sending json messages

afaik it does not. I mean you can use the bungeecord chat api and send a component to a player but you can't send a json message as a string. The api only expose this https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/Player.Spigot.html and after looking at the implementation, it just transforms the Component into a json String which is then deserialized by server internals to build nms chat component to give them to the protocol engine and send them. But you have to use the Component api which I can't because the serializer is broken for 1.21+.

#

Maybe there is Player#sendJsonMessage(String) method somewhere, but I did not find it

chrome beacon
#

I assumed by json messages you just meant component messages

#

Not that you had a json string you wanted to send

frail pilot
#

Well

#

Using the component messages would work well but due to mojang inconsistencies (cf issue above) I can't use it

#

The serializer does not use the correct keys in the generated json object

chrome beacon
#

I see

#

I think I understand your issue now

abstract totem
#

does anyone have a very simple implementation of a packet listener using NMS for 1.21.4? It seems that networkManager is just gone from the connection class

buoyant viper
#

packetevents, probably

abstract totem
buoyant viper
#

like the API

#

packetevents

#

by @alpine urchin

#

u could probably yoink packet listener from that

abstract totem
#

il have to look into it

torn shuttle
#

is there really no way in maven multi module projects to have all the modules sync their versions up

nimble crescent
#

idk how tho

remote swallow
#

Set it to parent.version or smth

torn shuttle
#

that does not work

remote swallow
#

No idea the actual format

torn shuttle
#

I have tried

remote swallow
#

Hold on one sec

torn shuttle
#

specifically because a parent reference is done under this format

    <parent>
        <groupId>com.magmaguy</groupId>
        <artifactId>EasyMinecraftGoals-manager</artifactId>
        <version>${revision}</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
#

it requires a literal for the version string

#

at least as far as I can tell

remote swallow
#

Yeah it appears you have to write that manually

#

You could always use gradle where you don't need to

torn shuttle
#

so you can skip writing the module version, you just have to go into each module and change the parent version instead 🤡

sullen marlin
#

You can use mvn versions:set or whatever to set it for all modules

nimble crescent
#

for the first time ever, md_5 responding

sullen marlin
#

Uh

torn shuttle
#

hey md_5 since you're lurking

#

do you know if there's a way to force the server to recalculate lighting for a chunk

#

or for a block

#

it's giving me a hard time

#

also for whatever reason that command skips over every module and only alters my module manager

#

wonder if it's because it needs the version plugin thing

sullen marlin
#

Idk, API doesn't have that issue

torn shuttle
#

true

#

wish api could let me paste a few million blocks with little to no lag

#

just a small loan of a few million blocks md_5, think about it

pseudo hazel
#

one block at a time

hybrid wave
#

in the IDEA application I try to click on the run code button but it says "The file in the editor is not runnable"
Who can help?

eternal oxide
#

use <version>${revision}</version> not versions

smoky anchor
eternal oxide
hybrid wave
smoky anchor
#

And 1.21.4 requires java 21

hybrid wave
hybrid wave
smoky anchor
torn shuttle
#

oh I might've managed to get the version thing to work

smoky anchor
#

If you can provide the video I can probably try to answer what that is better

torn shuttle
#

let's see

hybrid wave
smoky anchor
#

Yes it runs some maven tasks

hybrid wave
#

Oh, thanks

slim wigeon
#

I need help with creating a command, I notice the API have changed. I got a error on the console[04:10:59 ERROR]: Caught previously unhandled exception : [04:10:59 ERROR]: Paper Async Command Builder Thread Pool - 16 java.util.ConcurrentModificationException: null at java.base/java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:1024) ~[ ?:?] at java.base/java.util.LinkedHashMap$LinkedValueIterator.next(LinkedHashMap.java:1053) ~[?:? ] at net.minecraft.commands.Commands.fillUsableCommands(Commands.java:531) ~[paper-1.21.1.jar: 1.21.1-115-ba3c29b] at net.minecraft.commands.Commands.sendAsync(Commands.java:496) ~[paper-1.21.1.jar:1.21.1-11 5-ba3c29b] at net.minecraft.commands.Commands.lambda$sendCommands$6(Commands.java:475) ~[paper-1.21.1.j ar:1.21.1-115-ba3c29b] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] at java.base/java.lang.Thread.run(Thread.java:1575) ~[?:?]

hybrid wave
smoky anchor
smoky anchor
# hybrid wave wait, but how he did it

You can create custom configuration
Click the arrow and there should be some way to do it
I believe you create maven profile thing and just type in "build"

torn shuttle
#

ok no it's causing some secondary problems

smoky anchor
slim wigeon
smoky anchor
#

Don't care, you're running Paper, go to paper.
If you want to ask here, run Spigot.

torn shuttle
#

yeah no this multimodule thing is still not working

slim wigeon
#

They told me to switch to Paper because Spigot is unstable

smoky anchor
#
  1. not sure what sangoda is
  2. what, idk what they mean
    -# I personally hate Paper, they have stupid vanilla bug fixing policy
    They recently hard-forked (1.21.4) so nobody will really give you support with Paper here anymore
pseudo hazel
#

not like there is any actual breakage now that wasnt there before

torn shuttle
#

ok well it fails because of the publishing process

#

so it will compile but it won't resolve when published without using some other plugin

#

yeah now it works with the flatten maven plugin

quaint mantle
eternal oxide
#

I ran public Spigot servers just fine

#

the only noticable difference was more load when loading chunks

torn shuttle
#

somehow the system blew up and no longer works, I really don't like maven

quaint mantle
eternal oxide
#

maven hates you. Did you do something bad to it in the past?

torn shuttle
#

I hope so for all the trouble it's causing me

#

it really, really doesn't like me using ${revision}

slim wigeon
#

Well, songoda told me to switch to Paper because they think Spigot is unstable. They are the ones that made EpicHoppers and EpicFarming plugins. But if they wrong, I have BuildTools running

torn shuttle
#

oh god songoda

quaint mantle
slim wigeon
#

I had a issue with some of their plugins and that is what they said when they seen I was running Spigot

quaint mantle
#

and before someone says vanilla fixes... go play fabric not a bukkit fork

eternal oxide
#

Spigot is closer to vanilla than Paper

quaint mantle
smoky anchor
quaint mantle
smoky anchor
#

Mainly redstone as far as I know

eternal oxide
#

yeah, portals and block teleporting for one

quaint mantle
torn shuttle
#

it's a free country, you can use whatever branch you want but there's nothing constructive about going to the discord of the branch you're not using to recommend other people to not use it

#

just pick whatever you want and if you're using that go frequent the discord of that branch

quaint mantle
eternal oxide
#

No one asked

slim wigeon
# eternal oxide Spigot is closer to vanilla than Paper

Now you starting to worry me. You telling me Paper can have mods? I don't know about that, I the type that does not like to change the game so having a fabric/forge server, I cannot deal with that. I want people to just connect without having to download anything

eternal oxide
smoky anchor
quaint mantle
torn shuttle
eternal oxide
#

Good as teh reasons he was told to NOT use Spigot were lies

quaint mantle
eternal oxide
#

You seemed to just be pushing Paper and Fabric

slim wigeon
eternal oxide
slim wigeon
quaint mantle
eternal oxide
#

I'm simply giving my opinion, defending Spigot as you disparaged it, in the Spigot discord

upper hazel
#

someone worked with perm ex?

eternal oxide
#

lol

#

do you really mean PEX?

upper hazel
#

yes

#

this old plugin how i see

#

bc i not found maven

eternal oxide
#

it was probably discontinued before maven became a thing

upper hazel
#

lol

#

this plugin so old ?

eternal oxide
#

if I remember it was probably around 2015

upper hazel
#

you remember how you was work with this

#

?

#

with api

eternal oxide
#

seems someone took it over and updated it last in 2023

upper hazel
#

idk how get group

eternal oxide
#

use a better perms plugin

#

Groupmanager or LuckPerms

#

if you are writing a Plugin then go agnostic and just require Vault.

upper hazel
#

circumstances require a different approach. I will prioritize individual settings without validation in configs

torn shuttle
#

AI is very vehement about this ${revision} thing not being possible for my project

#

I give up, this isn't even what I need to fix today

#

I still have made no progress in relighting my blocks

mortal vortex
eternal oxide
#

much older

#

I was refering more to how long ago it was abandoned not how long ago it was created

sullen marlin
torn shuttle
#

uh

sullen marlin
#

Seriously trace through the API code and then trace through yours and tell me the difference

#

Feel free to then PR the difference

torn shuttle
#

ok I'll definitely double check

young knoll
#

FastAsyncSpigot coming soon™️

torn shuttle
#

it's weird because wouldn't that mean that the lighting calcs alone are the difference between pasting millions of blocks in a second and the server crashing

#

surely there's more to this

sullen marlin
#

Nah that's probably it

#

Lighting is math, setting a block is just setting an array element

young knoll
#

(And then sending packets and such)

torn shuttle
#

you're not wrong, I'm just baffled if that's the real reason

#

I don't need to send packets

#

it's generating in a world no one sees until it's done

young knoll
#

Well the palette system is designed to be pretty fast

#

And memory efficient

torn shuttle
#

that's what I'm using

#

I mean I would even take a lazy light update over what currently exists

#

because right now it crashes a server outright

#

and yeah I know you can chunk the task into smaller bits

young knoll
#

I thought it wouldn't be that bad

#

We got a new lighting system recently

torn shuttle
#

I'm getting hit pretty bad with it

#

like, really bad

#

although

#

I am doing something that used to be infamously bad

#

in terms of performance

#

because i'm putting it over the void

#

I haven't checked lately but it used to be that light updates over void were absolutely horrendous

young knoll
#

Yeah I believe the new lighting engine handles that better

torn shuttle
#

hmmmmmmmmmmmmm

#

you know what would be faster

#

but really, really stupid

#

I could uh

#

do the non-light emission blocks with the palette

#

then use the spigot api to place all the light emission blocks

#

rate my jank

young knoll
#

There's a flag when placing a block for lighting updates isn't there

torn shuttle
#

dunno

#

I know there's one for physics, haven't noticed lighting before

young knoll
#

Let me check

sullen marlin
#

I think there is but it's not exposed via the API

torn shuttle
#

ngl I think my idea might kinda be cooking

#

like

#

the % of light blocks is infinitesimal compared to the bulk of this

#

and I think there's an api thing to check if a mat would be light emitting no

young knoll
#

Huh I don't see one that mentions lighting

torn shuttle
#

like i wouldn't mind doing the palette paste for the whole thing, have it all be dark then task it to gradually fill in the light blocks

young knoll
#
 public static final int UPDATE_NEIGHBORS = 1;
  public static final int UPDATE_CLIENTS = 2;
  public static final int UPDATE_INVISIBLE = 4;
  public static final int UPDATE_IMMEDIATE = 8;
  public static final int UPDATE_KNOWN_SHAPE = 16;
  public static final int UPDATE_SUPPRESS_DROPS = 32;
  public static final int UPDATE_MOVE_BY_PISTON = 64;
  public static final int UPDATE_SKIP_SHAPE_UPDATE_ON_WIRE = 128;
  public static final int UPDATE_NONE = 4;
  public static final int UPDATE_ALL = 3;
  public static final int UPDATE_ALL_IMMEDIATE = 11;
#

I guess one of these does lighting

torn shuttle
#

ngl

#

I think my idea is very funny

#

I think I might go for it

#

yeah look at that there's a getLightEmission on blockdata

#

ok let's see how bad this could possibly be

smoky anchor
#

Assuming you have stuff like houses - closed off rooms under roofs
And you paste the schematic under natural skylight, those places would stay lit.
I think, so your solution would work only half-way.

smoky oak
#

is it possible to extract the nth bit from a integer without having to use & <bitmask> ?

smoky anchor
#

bitshift to right by n bits, check if number is odd or even ?

smoky oak
#

that sounds even worse lol

smoky anchor
#

well it doesn't need bitmask :D

smoky oak
#

:V

smoky anchor
#

Why do you not want to use bitmask ?

smoky oak
#

i dont have anything particularly against it, i was just curious if i can just say 'nth bit of this integer'

#

actually what happens if you bitmask a double/float

smoky anchor
#

you can't iirc

smoky oak
#

nah was just idly curious

torn shuttle
#

nooo

#

my master plan

#

it's not updating the light levels of surrounding blocks

smoky oak
torn shuttle
#

it does not

#

hey hey this totally works faster than doing it the "legit" way

#

like

#

incomparably faster

#

this is very funny

#

I think it's staying like this

echo basalt
#

You can trigger light updates manually

sly flint
#

Anyone know in JDA?

#

if anyone know tag me

smoky anchor
undone axleBOT
#

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

sly flint
#

if you want the code i'll share it with you

agile anvil
#

Still not a question

flint coyote
#

Is there a way to obtain the inventory of a crafter in the CrafterCraftEvent? I tried casting the block to crafter or InventoryHolder but both results in a classCastException.

#

I'm also open to other ways of obtaining the ItemStacks used to fill the recipe. I just wanna check whether custom items were used or "basic" items

river oracle
#

Blocks have 0 information

#

Use a paste

#

?paste

undone axleBOT
river oracle
quaint mantle
#

i'm trying to reinstall buildtools on linux

river oracle
quaint mantle
#

yes

river oracle
#

You must ensure you're running a Java 21 jdk

flint coyote
#

Okay I had to cast this way
Crafter crafter = (Crafter) e.getBlock().getState(); instead of casting the block. My fault, haven't done that in a while

quaint mantle
river oracle
#

Not using a jdk breaks things

river oracle
#

Absolutely stunning 😍

echo basalt
#

omg I love inventory holders

flint coyote
#

sadly no way around that for now when I have to get the contents used for the craft :x

#

Unless I use reflection which is trading readability for performance

river oracle
#

If you use method handles it can be inlined completely lol, but regardless you should avoid reflecting is there a reason you need the holder and can't just access the inventory during the craft event?

#

Because that seems like silly event design

#

?jd-s

undone axleBOT
flint coyote
#

It just offers the result sadly

river oracle
#

Interesting lol

flint coyote
#

Would make things easier if Recipes (or CraftingRecipes) would accept ItemStacks as ingredients but that's not a thing either

river oracle
#

In which case you only need the copy once foe the BlockState

river oracle
#

They don't accept item stacks with an amount greater than 1

flint coyote
#

Oh I thought that's what you were talking about. Yes I will access the inventory of the crafter directly

river oracle
#

That's the limitation

flint coyote
#

ohhh I just used ShapedRecipe, guess I have to read into it more then

river oracle
#

But this is good for most use cases

flint coyote
#

Yeah I will still have to handle multiple items over the events if that will be the case. But it saves me some event workarounds so that's already great

river oracle
#

I'm not a huge fan of that dumb stacked crafting either just make intermediary steps or something

#

But yeah that should help

flint coyote
#

🙌 thanks I'll work with it

river oracle
#

Np good luck

tepid gust
#

Can someone help me? Currently trying to use the PlotsquaredAPI in maven. plotsquared-bukkit-7.4.2-Premium.jar

Could not find artifact org.enginehub:squirrelid:pom:0.3.2 in papermc (https://repo.papermc.io/repository/maven-public/)
chrome beacon
#

Missing enginehub repo?

smoky oak
#

if a class is for static methods only, should it be abstract or final?

silver robin
#

abstract makes no sense for util classes, no?

chrome beacon
#

final with a private constructor

surreal wadi
#

can u tell me how to fix the rank is not showing of the player's in lifesteal server but it is showing in lobby server

#

of luckperms

eternal oxide
#

add Vault and a chat plugin

surreal wadi
#

it is already added

#

@eternal oxide

upper hazel
#

how name is of permission when player get group

#

in pex

chrome beacon
#

???

upper hazel
#

for example in lukcperms is group.<<tag>>

#

what in pex?

#

permissionEX

chrome beacon
#

As far as I'm aware there isn't one

#

Use the API to check

upper hazel
#

huh?

surreal wadi
#

im using luckperms

surreal wadi
upper hazel
#

"group.<<groupname>>" is permission what lp give to player when he get group

worthy yarrow
#

The group just holds a set of permissions

chrome beacon
#

I'm pretty sure they aren't making a plugin

#

They're just in the wrong channel

worthy yarrow
#

ah

chrome beacon
#

even if they were checking the group permission isn't what they want to do

surreal wadi
#

no it is working

#

on tab list the rank is showing

#

and in chat also

glossy laurel
#

what is a 100% reliable way of checking when a player collides with a block when flying with an elytra?

quaint mantle
#

Check if the player is gliding and playermoveevent?

#

or nms

glossy laurel
quaint mantle
torn shuttle
#

ah shoot

#

I'm leaking mem

#

hmm

#

wonder how

echo basalt
#

Entities, worlds and players on collections / tasks are usually problematic

slender elbow
#

malloc 10mb every hour

glossy laurel
#

also, doesnt work

#

when they hit corners

#

at high speeds

#

unless im checking for collisions wrong

young knoll
#

Get the min and max corners of the bounding box and check all blocks between them

glossy laurel
#

alright that is what im doing

young knoll
#

I guess you can inflate the bounding box a bit to compensate

#

Or shift it forward by the players direction to “look into the future” a bit

glossy laurel
#

and is unreliable

#

actually, who handles the collision into walls damage for elytra?

#

the server or the client?

slender elbow
#

i mean, the client (largely) handles movement, but the server handles damage

#

and ofc there is server side collision checks too

zealous osprey
#

I have a weird scenario and maybe someone can help. Following situation:

// NOT THE TEST CLASS
public SomeClassConstructor(Data data) {
  assert data.someValidation() : "Data must be valid!";
  ...
}```

How would I test if the assertion in `new SomeData(invalidData)` is triggered?
Because currently in junit, I get an `AssertionError: Data must be valid!` which makes sense. But I kinda want the inverse of that in this specific scenario XD
blazing ocean
#

assertions don't trigger unless some jvm flag is set

#

just do your own checks and throw an IAE

glossy laurel
slender elbow
#

idk, i don't think there's any event or anything like that so you'd have to make your own checks in, like, PlayerMoveEvent and such

glossy laurel
#

what kind

upper hazel
#

why bukkit not can find pex plugin -> Plugin plugin = Bukkit.getPluginManager().getPlugin("PermissionEx"); -> if he exists in server

chrome beacon
#

When are you calling that

upper hazel
#

in enable in first line

chrome beacon
#

Also isn't it PermissionsEx

upper hazel
#

uh

young knoll
# glossy laurel what kind

The basics are:
take location -> add velocity -> boom you have the new location -> run bounding box checks at this new location

glossy laurel
upper hazel
eternal oxide
#

why are you trying to detect a collision while gliding?

young knoll
#

Why would that see collisions where there wouldn’t be any

upper hazel
#

plugin PermissionEx exists when i log his name in console but when i try get him in code he not find him lol

chrome beacon
#

Are you depending on PermissionsEx

glossy laurel
upper hazel
#

softdepend

glossy laurel
young knoll
#

The game probably does a ray cast to see if there is anything between your current position and your new one

upper hazel
#

fun fact if i load my plugin with "plugin loader plugins" he find pex

#

so smth wrong with softdepend ?

#

softdepend: [LuckPerms, ConfigProtectionAPI, PermissionEx]

blazing ocean
#

PermissionEx

#

it's PermissionsEx

upper hazel
#

💀

rough ibex
#

You were told this

upper hazel
#

Illegal state exp zip was closed

#

And server kick me with message

blazing ocean
#

corrupt jar probably

upper hazel
#

This happened when I try write in chat

young knoll
#

Don’t reload

#

Don’t use plugin managers to reload either

blazing ocean
#

changes nothing at all yea

remote swallow
#

i love when plugins have built in reloads

#

that just disablePlugin enablePlugin

young knoll
#

I mean

#

That’s less janky

remote swallow
#

yeah and does fuck all

#

they add it meaning to reload the jar

young knoll
#

Ah, well that’s their issue

upper hazel
#

Maria db and mysql not same?

remote swallow
#

show ur sql

upper hazel
#

Sec

young knoll
#

Doesn’t MySQL use ON DUPLICATE KEY

upper hazel
remote swallow
#

iirc it is on duplicate

young knoll
upper hazel
#

why i always get zip closed

remote swallow
#

sounds like a pex issue

#

restart and try again

blazing ocean
#

?whereami too

worthy yarrow
worthy yarrow
#

I figured but like it wasn't very clear

#

as much as possible just sounds weird idk

young knoll
#

It takes into account the amount

worthy yarrow
#

The way it's worded confused me... all I give it is the itemstack so I assumed the arguments came from the itemstack itself, was just checking

slender elbow
#

impossible

eternal night
#

permissionsex is just peak

young knoll
#

But but

upper hazel
#

bone opetit

chrome beacon
#

bone apple tea

young knoll
#

The last human commit was only 2021

#

That’s not a decade!

slender elbow
#

that was for the v2 that was never released

upper hazel
#

why he dont cont. this

slender elbow
#

the last full release was a decade ago

slender elbow
upper hazel
#

lol

blazing ocean
young knoll
#

The spigot plugin got an update in 2023

#

So uhh

slender elbow
young knoll
#

Checkmate

slender elbow
#

yeah that's not the original pex

#

that's some random person that has a private fork

#

pex was never on spigotmc to begin with

young knoll
#

Dangit

upper hazel
young knoll
#

Why do I keep getting checkmated

#

I’m bad at chess :(

young knoll
#

It’s like comparing whatever the latest version of mac os is

blazing ocean
#

one is abandoned since 10 years and barely in use, the other is actively maintained and used on most servers

young knoll
#

With windows 8

upper hazel
#

fr

slender elbow
#

Windows 8 💀

thorn isle
#

pex is good

upper hazel
#

for dead inside

young knoll
#

Technically windows 8 is 13 years old but close enough

upper hazel
#

who in windows 11 now?

blazing ocean
#

I remember using pex back then, was fun times

thorn isle
#

i still use pex

blazing ocean
thorn isle
#

no reason to change

upper hazel
young knoll
#

I mean the original version doesn’t run anymore

#

So that’s a decent reason

thorn isle
#

💪 1.8

upper hazel
#

pex api so unconfortable

blazing ocean
eternal oxide
#

I still run win7 😉

upper hazel
#

luckpers better

young knoll
#

Ah well then we certainly know you don’t have reasons to change

#

Speaking of a decade old

#

?howold 1.8

undone axleBOT
blazing ocean
upper hazel
#

this funny server in 1.8 still alive

eternal oxide
#

yep I'm still wating for a good replacement

blazing ocean
#

linux

eternal oxide
#

I did try linux a few times but I never got comfortable with any distro

upper hazel
blazing ocean
#

he was talking about windows

young knoll
#

You don’t use minecraft as an operating system?

blazing ocean
upper hazel
#

console unconfortable

#

many work with console

#

in linux

eternal night
#

ngl, arch just kinda vibes with me

blazing ocean
#

@worthy yarrow still can't code in console

eternal night
#

everything I need is in the AUR

blazing ocean
#

yea same

upper hazel
#

last time i was work with linux when start minecraft server

#

and i was need database

slender elbow
#

if only gradle was on the aur then it wouldn't be out of date

blazing ocean
#

I just use the wrapper everywhere

upper hazel
#

I spent a lot of time dealing with bugs and packages.

#

this very horrible

blazing ocean
#

sounds like a skill issue

upper hazel
#

windows one love

thorn isle
#

i use ant

blazing ocean
#

get out

young knoll
#

Tbf I will give one thing to groupmanager and pex

#

They had shorter commands

slender elbow
upper hazel
young knoll
#

Tho luckperms has a web editor so

blazing ocean
#

yea I hate it being outdated too but it is what it is

eternal night
#

have you considered maintaining gradle-git emily pepe_hand_heart_2

#

thanks

upper hazel
blazing ocean
#

I was considering actually

slender elbow
#

i have

#

and then i decided to not

upper hazel
#

confortable settings

eternal night
#

😦

thorn isle
rough ibex
blazing ocean
#

no

young knoll
#

I still have the lp commands memorized somehow

thorn isle
#

well they do probably make more sense grammatically or syntactically speaking

young knoll
#

lp user <name> parent add <group>
lp modify <group> permission set <perm>

upper hazel
#

this funny how much time devs waste for just create redactor for lp

thorn isle
#

tabcomplete makes it a bit less of a problem, but they'd be very girthy to type out

upper hazel
#

site for free plugin

young knoll
#

Simple solution

#

Give everyone *

upper hazel
#

They probably did it for themselves and then decided to make it public.

#

sound familiar

old coral
#

I need to get every player on a server as array. How do I do that?
I've tried this and it didn't work:

Player[] players = (Player[]) server.getOnlinePlayers().toArray();
young knoll
#

Should be able to do getOnlinePlayers().toArray(Player[]::new);

blazing ocean
#

why do you even need it to be an array

echo basalt
#

varargs moment

blazing ocean
#

kotlin toTypedArray my beloved

old coral
young knoll
#

It’s a collection

#

Only reason you’d need a list is to get by index

blazing ocean
#

iterable is enough 👍

sullen marlin
#

Object ftw

blazing ocean
#

what's an object

echo basalt
#

new ArrayList<>(Bukkit.getOnlinePlayers())

#

type shit

orchid gazelle
#

md is only using Object and always casting it to everything

blazing ocean
#

can't ya just cast it

young knoll
#

What above primitives

blazing ocean
#

just flip the bits

young knoll
#

Also idk what it returns

#

Could be a set

blazing ocean
#

sets my beloved

young knoll
#

Could also be ur mom

blazing ocean
#

wow wtf

pseudo hazel
#

only if rads mom is a collection

blazing ocean
#

wtf man

young knoll
#

Well if you’re large enough…

chrome beacon
old coral
#

So to clearify what I need:
I want to do multiple things with every player on the server where I need them as a Player variable. For example I need to teleport them to different locations at the x axis. What I have now is this but I don't have a good way to get the players yet.

Player[] players = (Player[]) server.getOnlinePlayers().toArray(); // doesn't work

for (int i = 0; i < players.length; i++) {
  borders[i] = i * 25;

  Block spawn = world.getBlockAt(i * 25 + 13, 0, 0);
  spawn.setType(Material.BEDROCK);
  players[i].teleport(new Location(world, i * 25 + 13, 0, 0));
}
chrome beacon
#

Just use an enhanced for loop?

#

if you need the i you can increment a separate variable

old coral
#

yeah but this still doesn't fix my problem that I don't really have a way to get a list/array of the players

slender elbow
#

you don't need a list/array

echo basalt
#

Player[] array = Bukkit.getOnlinePlayers().toArray(new Player[0]);

slender elbow
#

for (Player player : Bukkit.getOnlinePlayers())

echo basalt
#

but yeah you don't need em

#

you can just loop the players and ideally associate with a collection instead of relying on array indexes

young knoll
#

Player[]::new >

echo basalt
#

boo it'll work across all versions and cause less issues when 1.8 kids look it up

slender elbow
#

plot twist: it doesn't really matter

young knoll
#

Plugins deserve to break on 1.8

#

Fite me

blazing ocean
#

I won't

slender elbow
old coral
#

Okay got it now thanks guys

young knoll
#

I’m going to change the source version of all my class files to 100 so they only run on future versions of the game

blazing ocean
#

Had this before lol

chrome beacon
#

👀 what did you do

young knoll
#

Damn time travellers

blazing ocean
torn shuttle
#

does mc ever do random lighting checks to see if something is broken

young knoll
#

Don’t think so

young knoll
#

Only on block updates

torn shuttle
#

hm

echo basalt
#

why don't you just relight the block

torn shuttle
#

brother

#

you think I didn't try?

echo basalt
#

relight them after pasting everything

chrome beacon
blazing ocean
#

fully is

torn shuttle
#

tried it

#

couldn't get it to work

young knoll
#

Try harder!

torn shuttle
#

for the thing I am working on ultimately it's way faster to place the emission blocks using spigot which automatically prompts an update

#

and that's 100% fine for those

echo basalt
#

what if you sort stuff

#

so it pastes the emmission blocks last

torn shuttle
#

I was wondering for the other stuff for which it wouldn't be fine because it can be lit by the world

torn shuttle
#

and I paste the emission stuff through the spigot api

#

it's much faster

young knoll
#

Isn’t lighting done for the entire chunk

torn shuttle
#

no

#

well

young knoll
#

There’s probably some sort of update lighting method on the chunk

#

Or maybe the chunk section

torn shuttle
#

ah shit I forgot today is valentine's day

#

there's no shot I can go eat somewhere

#

damn it

#

I forgot to cook the meat too

#

well

eternal oxide
#

cookies, ice cream and a movie always works

young knoll
#

And crying

torn shuttle
# young knoll There’s probably some sort of update lighting method on the chunk
        //PARTIALLY WORKING
//        nmsWorld.getChunkSource().getLightEngine().updateSectionStatus(blockPos, false); NOTE: THIS MAKES EVERYTHING FULL BRIGHT

        //DOES NOTHING
//        nmsWorld.getChunkSource().getLightEngine().checkBlock(new BlockPos(x& 15, y, z & 15));
//        nmsWorld.getChunkSource().getLightEngine().initializeLight(nmsChunk, true);
//        nmsChunk.setLightCorrect(false);
//        nmsWorld.getChunkSource().getLightEngine().initializeLight(nmsChunk, false).complete(nmsChunk);
//        nmsChunk.setLightCorrect(false);
//        nmsChunk.initializeLightSources();
        
        //ERRORS
//        nmsWorld.getChunkSource().getLightEngine().lightChunk(nmsChunk, false);
#

I tried more than that

#

couldn't coerce it into relighting anything

slender elbow
#

you should ask chatgpt

#

100%

torn shuttle
#

I asked every ai

#

I checked every spigot resource I could

slender elbow
#

prompt skill issue

torn shuttle
#

read through the ancient scrolls of 2013 code

chrome beacon
#

Did you check FAWE

torn shuttle
#

I checked fawe

#

fawe is a nightmare

#

like genuinely

smoky anchor
#

Ask in a modding discord for an NMS way

torn shuttle
#

it's like a horror movie

#

if someone wrote something about relighting chunks in the last 12 years, I read it

#

and I probably tried something similar

thorn isle
#

paper has a fixLight command

thorn isle
#

see how they implemented it

#

or that, too

torn shuttle
#

if this is what it takes I ain't doing it

#

look at it

thorn isle
#

looks like paper's fixlight uses starlight

#

so that's a no go for you too unless you drop spigot compat

torn shuttle
#

I know, I also looked into that

#

and yes that's a no go

#

no joke I don't think there are very many solutions I haven't read

thorn isle
#

what's the problem again

torn shuttle
#

relighting a chunk

#

or even a block

thorn isle
#

you're pasting a structure and skip light updates to make it faster?

chrome beacon
torn shuttle
#

yep

torn shuttle
#

that's why I said I'm not doing it

#

this isn't even relighting

#

if anything this is custom lighting

chrome beacon
#

Yeah the thing is I believe you might have to

torn shuttle
#

yeah the thing is I believe I am not doing that

young knoll
#

I mean surely the game can relight a large area

torn shuttle
#

I will sooner write code that calculates which blocks might be exposed to air and place those with the spigot api than recalculate all of mc's lighting system myself

young knoll
#

If needed

sullen marlin
#

Isn't there a command line flag to recreate lighting

blazing ocean
young knoll
#

I hope the next thing is called supernova

torn shuttle
young knoll
#

Idk

#

What happens if you have a cave and poke a hole into it

torn shuttle
#

this is minecraft

slender elbow
#

you now have a cave with a hole

torn shuttle
#

it's not like you're going to have light bouncing against surfaces

young knoll
#

No but the game can still propagate light

thorn isle
#

i can't off the top of my head think of anything that'd work on both spigot and paper

torn shuttle
#

like I said

thorn isle
#

and i only have paper userdev sources open so i can't really help with spigot nms

torn shuttle
#

I would sooner calculate surface blocks myself and place those the slow way than recalculate the entire thing

#

it's not a hard calculation

young knoll
#

Yeah but surely the game can do it for you

#

If you find out how to start it

thorn isle
#

that's what he is trying to ask for yes

thorn isle
#

but i can't see a simple entry point for that nms logic

#

mostly because i'm looking at paper which deleted said logic in favor of starlight 🤡 but that's besides the point

torn shuttle
#

idk md_5, I don't know of one

young knoll
#

Use mache if you want clean source code

sullen marlin
#

It's --recreate isn't it

torn shuttle
#

chatgpt couldn't find one for me either for whatever that is worth

young knoll
#

Well, minus patches needed for it to compile

slender elbow
#

why'd you want to get rid of the thing that makes it good lol

sullen marlin
#

erase-cache maybe?

#

Idk there's not many command line flags just run --help and see

upper hazel
#

What will be if I cancel async chat event

eternal night
#

erase cache is indeed nearly there typing

young knoll
#

The chat message won’t be sent

blazing ocean
young knoll
#

Mind blowing I know

blazing ocean
#

shocker

young knoll
#

Fill every air block with the invisible light blocks and then remove them

upper hazel
young knoll
#

Boom light updated!

sullen marlin
#

--eraseCache

eternal night
#

(SerializableChunkData has a flag for "lighting correct", maybe there is something there!)

upper hazel
young knoll
#

Lynx is turning this into a scavenger hunt

chrome beacon
#

did nothing so you'd need to find where it's used and trigger that

torn shuttle
#

ok so --eraseCache would blast everything but I am guessing you are recommending instead I look at how that might work right

chrome beacon
#

(if there is anything)

eternal night
#

(maybe the LightEngingThreaded has a method to init light)

upper hazel
#

"Server refused send message you can enable this.... "

chrome beacon
eternal night
eternal night
#

How sure are we that they also correctly updated the client on those?

#

given their palette fuckery

chrome beacon
#

Good question

young knoll
#

They claim this is before the client even loads the chunks

thorn isle
#

well

#

here's a good chance for you to write a custom lighting plugin

#

i've heard radiance cascades are all the rage now

#

global illumination plugin, yes?

young knoll
#

What about a resonance cascade

torn shuttle
#

I was very thorough

#

multiple times with each thing, and that's only some of them

rough ibex
#

Thank goodness you're here

thorn isle
#

if you're going to do lighting yourself you might as well do it with a twist

cunning minnow
#

hey guys, is there any way i can completely forbid a crafter from crafting a mace?

young knoll
#

CrafterCraftEvent

eternal night
#

What about the MacerMaceEvent

blazing ocean
#

LynxerLynxEvent

cunning minnow
dawn flower
#

how do i force a player to reel in their fishing rod in a PlayerFishEvent

thorn isle
#

event.getPlayer().sendMessage("you have 3 seconds to right click or you get banned");

dawn flower
#

you're too smart for this universe

#

how are they not doing research on you yet, they need to know how you're this smart

rough ibex
#

Wisconsin, does it matter

worldly ingot
#

Can't tell if solid joke or genuinely misunderstood

torn shuttle
#

I make sure that the fishing tables are accurate to each user's geographical location and comply with their local fishing laws

young knoll
#

Yeah my local fishing laws say you aren’t allowed to catch entire horse saddles

#

Or books with magical powers

blazing ocean
#

wtf

pseudo hazel
#

you need an extended license for it, its not covered by the basic one

umbral ridge
#

hey

#

is there an alternative to YamlConfiguration.loadConfiguration() where i can catch the exception

rough drift
#

wdym

umbral ridge
#

loadConfiguration() doesnt throw an exception

rough drift
#

ah yes right

#

load the file to memory and use the load(String) on an instance of yamlconfiguration iirc

young knoll
#

You could also just check if the returned config is empty

rough drift
#

the source is a bit fuzzy in my head but yeah

young knoll
#

Which would indicate an error

rough drift
#

not to know if there was an error

umbral ridge
#

i need the exception yea

#

so i should go for InputStreamReader?

rough drift
#

you can

umbral ridge
#

👌

young knoll
#

You could just use SnakeYaml directly

rough drift
#
try(var is = Files.newInputStream(Path.of(...))) {
  var conf = new YamlConfiguration();
  conf.load(is);
} catch (...) {
  ...
}
umbral ridge
#

is there a difference if i use File class instead of Files

rough drift
river oracle
#

And is based around the Path API

#

File is just older nothing wrong with it but I don't think it's anywhere near as nice to use

worldly ingot
#

And if you have a File object, you can convert to a Path object easily with just File#toPath()

#

Bukkit has a few File objects, namely the data folder, so that comes in handy

young knoll
#

But which takes up more of my precious ram

wet breach
#

Hope that helps to distinguish the differences other then one is in the io package the other in nio package

ivory sleet
#

but there's some wrong stuff w it

river oracle
#

I've never experienced issues, but I don't do anything crazy like async IO or file linking

ivory sleet
#

one thing is listFiles() for example is a normal array, meaning first of all, its limited to the size of signed int, second it can cause a ddos resource wise if invoked on a large directory since it isnt lazy

other things that come to mind is namely renaming works inconsistently iirc, recursively walking a file path to properly handle circular symbolic links didnt really work out - more so symbolic links arent fully supported, many methods failed yet didnt throw exceptions, iirc metadata was slow on access and the lack in metadata as well

#

some of it is in past tense, tho presently i reckon the behavior remains the same, unless they fixed some of it

#

but all that used to be issues, ofc for ur average joe java user, u may not at all be concerned since createNewFile and invoking an input and output stream on it is all u gna do

young knoll
#

How…

#

How many files do you keep in one folder

ivory sleet
#

there are some clustered server systems out there that may suffer

young knoll
#

Deserved

ivory sleet
#

perhaps we should limit the max array size to a byte

young knoll
#

Tbf I’m surprised the OS doesn’t have a fit when you hit 2.1 billion files

ivory sleet
#

since it loops through the files twice, not once stupidly enough

#

and then it normalizes every path or something

#

obv that itself isnt the issue, but its all done eagerly iirc

valid burrow
#

i havent made minecraft plugins in ages

#

what does one parse in createInventory as an inventoryholder

#

(for guis)

#

since its @NotNull

#

wait it isnt

#

im restarted

young knoll
#

Oh creative mode

#

How we hate you

valid burrow
#

since when is this deprecated

ivory sleet
#

maybe paper

valid burrow
#

ah yeah

#

why am i using paper

#

grrr

young knoll
#

If it has a string parameter

#

Paper probably deprecates it

valid burrow
#

yeah i saw

#

they want me to use component

#

bu

#

i have no idea why i was on paper anyways

remote swallow
#

Exists on paper and spigot

valid burrow
#

why is it

#

that every time i make a new plugin

#

i spend ages making a complete gui api inside the plugin

#

just to have like 2 guis

pseudo hazel
#

ever think about reusing one of your 50 old apis

valid burrow
#

well

#

yea

#

but then

#

i think it sucks

#

and i wanna make it better

#

rn im making a plugin with 2 guis

pseudo hazel
#

yeah such is life

remote swallow
#

Menu type be like

river oracle
#

stop shilling

#

that's my job

valid burrow
#

or maybe an entire toolkit for plugins

pseudo hazel
#

wow

#

that was easy 😎

remote swallow
#

Jesus christ text wall

#

?paste and don't use chatgpt

undone axleBOT
mortal vortex
#

@fossil fiber "my PAPI expansion is returning the placeholder as raw text"

Well you are returning it as raw text so?

fossil fiber
#

I want it to return as yes and no instead

robust helm
#

is it normal for intellij to give me type warnings for build.gradle?

#

or some cannot be applied stuff

mortal vortex
#

Do you want Booleans?

fossil fiber
#

oh ya

misty ingot
#

mh

vernal oasis
#

What's a good guide, or video playlist I can send someone who's trying to learn how to make a plugin?

nova notch
#

also most of the videos are several years old

quaint mantle
nova notch
#

why does this course recommend netbeans

valid basin
#

Does someone know a way I can give the new consumable item (minecraft 1.21) through nbt tags?
I know how to give it through a command but I didn't find a viable method for giving it through spigot api and I don't want to use nms (or reflection)
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "minecraft:give " + player.getName() + " " + strings[1] + "[consumable={animation:'block',consume_seconds:72000}]");

vernal oasis
#

ty

robust helm
#

how bad is it 1-10 to have a map that will only grow and never have keys removed unless the server restarts?
need to track instances of my NetworkPlayer thingy

glossy laurel
#

is it possible to somehow map an event to a consumer for that event without actually creating a separate class for each event that you want to handle?

robust helm
umbral ridge
#

☕ 🚬 best way to start your morning

warm mica
#

I do that for entities because there is no real unload event

robust helm
jovial mason
#

so i wanna update a open source plugin

#

how can i do that exactly? i already imported it but it doesnt recognize the bukkit imports anymore

eternal night
#

make sure it is using java 21

jovial mason
#

ooh okay lemme see

#

ty

torn shuttle
#

WELL WELL WELL

#

IF IT ISN'T THE CONSEQUENCES OF MY ACTIONS

#

why am I starting like 5 different tasks for the same thing

young knoll
#

Idk why are you

torn shuttle
#

wait what

#

how is this async

#

what was I smoking on this day

#

why did I pick this project to test AI with

#

this is such a mess

#

oh that's why

tranquil pecan
#

[08:06:10 ERROR]: Error sending packet clientbound/minecraft:set_entity_data (skippable? false)
io.netty.handler.codec.EncoderException: Failed to encode packet 'clientbound/minecraft:set_entity_data'

    public PacketContainer setCustomName(int entityID, String name) {
        PacketContainer entityMetadata = ProtocolLibrary.getProtocolManager().createPacket(PacketType.Play.Server.ENTITY_METADATA);

        entityMetadata.getIntegers().write(0, entityID);

        WrappedDataWatcher dataWatcher = new WrappedDataWatcher();
        WrappedDataWatcher.WrappedDataWatcherObject customNameField =
                new WrappedDataWatcher.WrappedDataWatcherObject(2, WrappedDataWatcher.Registry.getChatComponentSerializer(true));

        WrappedDataWatcher.WrappedDataWatcherObject customNameVisible =
                new WrappedDataWatcher.WrappedDataWatcherObject(3, WrappedDataWatcher.Registry.get(Boolean.class));

        dataWatcher.setObject(customNameField, Optional.of(WrappedChatComponent.fromText(name).getHandle()));
        dataWatcher.setObject(customNameVisible, true);

        entityMetadata.getWatchableCollectionModifier().write(0, dataWatcher.getWatchableObjects());

        return entityMetadata;
    }

    public PacketContainer standardMetaData(int entityID) {
        PacketContainer entityMetadata = ProtocolLibrary.getProtocolManager().createPacket(PacketType.Play.Server.ENTITY_METADATA);

        entityMetadata.getIntegers().write(0, entityID);

        WrappedDataWatcher dataWatcher = new WrappedDataWatcher();

        dataWatcher.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(0, WrappedDataWatcher.Registry.get(Byte.class)), (byte) 0x20);
        dataWatcher.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(15, WrappedDataWatcher.Registry.get(Byte.class)), (byte) 0x01);

        entityMetadata.getWatchableCollectionModifier().write(0, dataWatcher.getWatchableObjects());

        return entityMetadata;
    }```
chrome beacon
#

What version are you on

tranquil pecan
#

1.20

chrome beacon
#

What's the full error

#

?paste

undone axleBOT
chrome beacon
#

Exact version

tranquil pecan
#

uh lemme check

#

1.20.6

#

here

valid basin
#

I've created something like that for my match class

#

For my upcoming pvp plugin

chrome beacon
valid basin
#

Since most of my match types were abstracted from March class

chrome beacon
#

instead of the data watcher

tranquil pecan
#

In the metadata method? or both

#

oh

chrome beacon
#

You can put the wrapped data values in getDataValueCollectionModifier

tranquil pecan
#

okay lemme try that

tranquil pecan
#

Thanks it works now

old coral
#

Hey, not exactly a spigot problem but I'm still pretty new to Java. What is the best way to wait 1 second before I continue with the code? I've tried to google and found tons of solutions but I don't know what to use.

int currentTime = 0;
int fullTime = 30;

while (currentTime < fullTime) {
  /* 
  my code
  */
  
  //Wait 1 Second
  currentTime++
}
upper hazel
river oracle
old coral
#

I've just realised that I can't just wait 1 second to continue the code because it would cause some problems with my code. So I need something that brings currentTime up to 1 second every second without stopping the rest of my project

river oracle
#

Look into either the java thread api or ExectuorService

#

Both should lead you to something thall be useful to you

old coral
#

Thanks I will take a look at that

upper hazel
#

js???

#

?where im

#

eh

#

how thi

blazing ocean
#

Ask dynmap

median path
#

ok

glossy laurel
#

How do I get all blocks touching the straight line between point A and point B? Or how do I check if the line touches a bounding box?

smoky anchor
#

You have no managed to censor all user paths...

torn shuttle
#

man this code is so overcooked it borders on comical

summer scroll
#

Hello guys, how can I get item display name translated into client's language?

torn shuttle
#

this is what I get for changing goals like 4x during dev

blazing ocean
#

Go ask dynmap, we don't know

smoky anchor
#

Also, you're in the wrong channel for this

quaint mantle
orchid furnace
#

anyone know how I can replace say "test" with "debug" in a message?

river oracle
#

String#replace

orchid furnace
#

ty!

river oracle
#

Yk you should probably learn Java

blazing ocean
#

Just do that in the async chat event thinginator

slender elbow
frail pilot
summer scroll
glossy laurel
#

and forgor

#

😭

frail pilot
torn shuttle
#

I have a cool optimization... but it's going to take a silly amount of memory to pull off :/

#

hmm

slender elbow
#

you can't set components in an item's display name