#help-development

1 messages · Page 723 of 1

chrome beacon
#

That's in preview I believe

quiet ice
#

Also the fact that the Vector API is blocking on Valhalla is an interesting choice given that Valhalla won't be out until 2040 or so

devout kite
#

does someone have a solution to this?

worldly ingot
#

Is it? Thought it got pushed through at least with record patterns

quiet ice
#

I'd avoid AWT on the server

worldly ingot
#

Ohhhh string templates go into preview in this release too

quiet ice
#

I mean there is a reason why "Valhalla when?" is a rhetorical question

worldly ingot
#

Basically what I'm saying is PES_FuckYou there are lots of cool features in 21

#

Pattern matching alone is huge

remote swallow
#

CHCOO

#

LANGUAGE

gaunt sonnet
#

hey how can i check if the server is on else offline

remote swallow
#
    private static final Server SERVER = Bukkit.getServer();

    /**
     * Gets the type of the server
     *
     * @return Type of server
     */
    public static String getMode() {

        if (SERVER.getOnlineMode())
            return "Online";


        if (SERVER.spigot().getConfig().getBoolean("settings.bungeecord", false))
            return "Bungee";

        return "Offline";
    }
quiet ice
worldly ingot
#

Switch statements as well

#
switch (someobject) {
    case Integer i when i >= 10 -> System.out.println("It's greater than 10 :)");
    case Integer i -> System.out.println("It's less than 10 :)");
    case null -> System.out.println("lol wut");
    default -> System.out.println("Seriously, lul wut??");
}```
#

Also you can switch over sealed types now which is cool!

remote swallow
#

when

gaunt sonnet
#

i will check if the server citybild is online ore not

worldly ingot
#

Yes, new when keyword

remote swallow
#

where

lilac dagger
#

i feel like this'll break some variables somewhere

worldly ingot
#

It won't

#

Same reason "var" didn't break anything, or "record"

lilac dagger
#

not from compiled

quiet ice
#

Well I think var did break stuff

#

But record didn't since it was context-aware, yes.

worldly ingot
#
public sealed interface A permits B, C { }
public class B extends A { }
public class C extends A { }

public void method(A a) {
    switch (a) {
        case B -> System.out.println("B");
        case C -> System.out.println("B");
    }
}```
#

This is valid now as well

quiet ice
remote swallow
#

choco what jep is when in

worldly ingot
lilac dagger
#

does it make sense for objects to be switched over?

worldly ingot
#

When you can pattern match, yes absolutely

lilac dagger
#

they can't really get any optimizations

worldly ingot
#

Sorry, didn't realize you designed the compiler

young knoll
#

I am the compiler

lilac dagger
#

the idea behind the other types where that they had some order

worldly ingot
#

The JEP outlines that those switch patterns are MORE optimized than the traditional if/else

#

Switches also have order

lilac dagger
#

so you could log n it

tall dragon
#

every time we compile the project rlly just gets sent to coll

#

and he goes at it

lilac dagger
#

i see

young knoll
#

It's very tiring

worldly ingot
#

There is a time and place for switch vs if statements, but these switch improvements being made is a huge + to 21

#

As a bonus, it's LTS :)

young knoll
#

@Mojang when

worldly ingot
#

Kreygasm Imagine

#

Though the project I'll be starting we'll have the benefit of using 21 right away which is nice. Private server and whatnot, custom plugins, etc.

worldly ingot
#

Sorry, didn't realize you designed the compiler

#

Those JEPs are extremely in-depth. To lie on that would be insane lol

#

And for what benefit?

lilac dagger
#

i'll test it just to be sure, maybe they get some optimizations, but then so if else could've gotten these

worldly ingot
#

Why? The two concepts are fundamentally different

quiet ice
#

I may not have designed teh compiler but I know the compiler optimizes absolutely nada

lilac dagger
#

hotspot and all

#

can't it just skip statements altogether?

clever lantern
#

how to ban without deprecated?

quiet ice
#

?jd-s

undone axleBOT
clever lantern
lost matrix
#

Map with functional values > switch statements
I very rarely use switches

quiet ice
quiet ice
worldly ingot
lilac dagger
#

i agree

#

but i just have someone test the performance if it's true

#

switch cases are notorious for 'don't use if few cases'

bitter rune
#

do datapacks use mcscript?

remote swallow
#

that uses node so no

echo basalt
#

why does this have 47 stars

#

it literally has no code

lost matrix
#

Looks start worthy to me

young knoll
#

Probably a meme

bitter rune
#

im moving from intelij to visual studio code, trying to get all the libraries i need. and i want to start making datapacks on top of plugins

lost matrix
bitter rune
#

my career goals involved python so on my way towards that that was my plan

echo basalt
#

hmm time to make this thing decoupled from actually storing data

young knoll
#

You are allowed to have different IDEs for different languages

#

I won't tell the FBI

bitter rune
#

i know but i want to get comfortable in one... for now... intellij is great for minecraft ive had no issues

remote swallow
#

use pycharm

#

its the jetbrains ide for python

#

and most plugins that work in intellij work in pycharjm

lost matrix
#

Not sure anybody can convince me that jetbrains IDEs arent the goats in their field.
VS Code is just an editor for a bit of scripting to me. Nothing i would use for a decently sized project.

echo basalt
#

ever used jetbrains rider?

remote swallow
#

i use vsc for markdown

echo basalt
#

also phpstorm is a direct improvement over webstorm

sullen marlin
#

Netbeans enters the chat

remote swallow
#

rustrider is gonna exist soon

lost matrix
echo basalt
#

rider with winforms barely worked for me

#

Like the form renderer crashed all the time

#

and drag & drop was broken

#

Visual Studio is ass but at least it works comparing to Rider

lilac dagger
lost matrix
#

Visual Studio is fine for Windows specific projects.
VS Code on the other hand is just a scripting tool. Not a serious IDE

echo basalt
#

didn't they have a vs code competitor that didn't have plugins and was immediately disqualified

#

fleet or whatever

sullen marlin
lilac dagger
#

me

lost matrix
kind hatch
sullen marlin
#

Yes

lilac dagger
#

it's pretty nice compared to eclipse's light mode

lost matrix
lilac dagger
#

i should switch to light mode then, maybe only then i can be as smart as md5 tho i doubt it

quiet ice
#

I've used eclipse's light mode a week or two ago

#

It isn't too bad but you defo notice it being a bit strange if you used eclipse's dark mode since time immemorial

echo basalt
#

7smile7 before I get into tech debt

#

because this can get really messy

#

I'm working on my skyblock stuff ye

#

And my idea is to have a modules system so I can have a separate jar for let's say, profiles

#

Now, I want to make it so I can use the same database structure without having to redo stuff

bitter rune
#

after talking with chatgpt, looks like its best to get familiar with all of the above, cs vode has more variety but intellij is more indepth pretty much

echo basalt
#

and even a credentials inheritance system so I can say "profiles are stored on mongo, island levels work on the same database as island data"

kind hatch
echo basalt
#

Now, decoupling this thing so I can just make separate interfaces and extend a class will result in having to create an impl class for each storage type, and database type

echo basalt
#

Basically going from this

#

to something like this

lost matrix
#

I dont understand the part with the separate jars.
You usually create multiple modules and then simply shade them where you need them

echo basalt
lilac dagger
#

i miss eclipse

echo basalt
#

I mean like papi's extensions

#

Where you can like pay 5$ for some BS module that revamps the entire experience

#

And toss it in a folder

lost matrix
young knoll
#

Wat

pearl seal
#

Hello! How to understand which JDK version should I use for different spigot versions?

lilac dagger
#

it wasn't that bad i swear

young knoll
#

Lets see what was it

echo basalt
#

New system allows me to implement specific conditions for specific storage types, and separate credentials so that things end up in different databases for whatever crazy owner decides to use this

#

but it also means I'm creating like 3x more classes, which I'd do anyways without the decoupling but this streamlines the process a bit

young knoll
#

1.16 moved from 8 -> 16
1.17 moved from 16 - 17

#

Did I get that right?

remote swallow
echo basalt
#

also 1.14+ fixed j11 breaking shit

#

iirc

#

rcon stuff

young knoll
#

Okay was it 16 in 1.16 or 1.17

#

smh

remote swallow
#

17

#

it worked in 1.16.5, not plain 1.16

young knoll
#

Aight

lost matrix
#

You are digging into CRUD theory.
This has been solved about 20 years ago. Just create abstract DAOs and implement them for each storage type.

What you can do (and what i did for some projects) is to create a consistent intermediate format to which you
serialize to (in my case it was json) and then simply write one impl which can translate your intermediate data type
to a persistent model, without knowing the intrinsic content of your data.

echo basalt
#

Yeah this is something like an abstract DAO

#

or well

#

More of a codec

#

idfk

#

Reason why I'm not using an intermediate format is just because multiple database types work in very different ways

#

I did that at work and it ended up as a mess

lost matrix
#

codec translates/serializes data. DAO is for accessing it. Need to make a distinction.

echo basalt
#

yeye

#

My idea is to just make an interface like

#
public interface SkyblockIslandStorage {

  CompletableFuture<IslandData> fetchData(UUID profileId);
  CompletableFuture<Void> storeData(UUID profileId, IslandData data);
  CompletableFuture<Void> deleteData(UUID profileId);
  ...

}

and make an impl for each

#

that goes in some sort of registry that handles all the inheritance logic

lost matrix
echo basalt
#

Well

#

It is a bit easier to break data flow

lost matrix
echo basalt
#

hm

lost matrix
#

One moment

echo basalt
#

I wonder if I can eat an entire bag of cheetos by the time smile gets back to me

lilac dagger
#

json kinda makes it hard

echo basalt
#

yeah I'll def want to sort in the future

#

and want no clashing issues so intermediate format is a no-go

lost matrix
#
public interface AbstractDAO<K, V> {

  void create(K key, V value);
  V read(K key);
  void update(K key, V value);
  void delete(K key);

  // You can add a ton of other stuff like bulk operations as well
  Collection<V> loadAll(Collection<K> keys);

}
public class SkyblockIslandDAO implements AbstractDAO<UUID, IslandData> {
  @Override
  public void create(UUID key, IslandData value) {}

  @Override
  public IslandData read(UUID key) {
    return null;
  }

  @Override
  public void update(UUID key, IslandData value) {}

  @Override
  public void delete(UUID key) {}

  // Add more specific methods for islands as well
}
echo basalt
#

makes it really easy but nah

echo basalt
lost matrix
#

Its all just CRUD in the end

echo basalt
#

There's some data that might be filtered

lost matrix
echo basalt
#

There's certain data that I want to sort

#

There's certain data that I want to process and provide edge cases

#

By going with a DAO that basically acts as a map wrapper I'm a bit limited to just the 4-5 operations

#

Sure would it be cool to have an automagical way to serialize data and back? yes

lost matrix
#

No? You implementation can have a ton of other methods. You are not limited to just the interface methods.

echo basalt
#

Then what's the point of the abstract dao

#

Because I'll never actually be passing it around

#

(also I wonder how I should standardize my metrics system to also work for prometheus)

#

My main issue is that I want to avoid creating a class for each database impl but it'd be a backend shitshow to do that

#

what I might want is an intermediate "standard" way of registering all the potential DAO impls without rewriting logic 90x

#

hm

#

abstract factory to the rescue

lost matrix
#

What do you mean whats the point? It offers consistency, reusability, you can use it to decouple. All the good abstraction stuff.
Also if you decide to add functionality which should apply to all DAOs then you would love to have
an interface which you can add a method to instead of having to search every single DAO and hope you
dont miss one.

echo basalt
#

can't wait to make the default config

fetching: # mandatory
  type: mysql
  ...

profile-data:
  type: mongodb
  ....

island-data: inherit fetching
economy-data: inherit fetching
pet-data: inherit profile-data
lost matrix
#

oof

echo basalt
#

or just make it all inherit the main fetching db unless otherwise specified

#

idfk I wanna build the universe

#

and hopefully release it this year

#

(I'll retire by the time this releases)

#

i'd prob make each module have its own database file that can inherit from each other

#

give it 2 years and we're ditching gradle for my yml system

lost matrix
echo basalt
#

I also don't want modules accessing each other's data

#

like

#

unsafely

#

I think I got my answers

#

there's a lot of work ahead

#

first plugin to reach 1M lines of code

ancient plank
#

ayo

lost matrix
#

Yeah this looks like a decently sized clump of work ahead

echo basalt
#

and once this database stuff is done it's time to impl all the features every other skyblock plugin has

ancient plank
#

1GB+ source code when

echo basalt
#

including my own economy handler that adapts with Vault

echo basalt
lilac dagger
echo basalt
#

oh yeah that one idiot whose server economy is inflated past zimbabwe

blazing flare
#

How would I go about adding my own "quest items", not so much the creation but the handling. Ideally I wouldn't want them to be disposable, but it seems without a large amount of checks, it may be unavoidable?

lost matrix
#

Vault is such an outdated piece of software... Forcing you to use a sync economy.

echo basalt
#

piece of software

#

love that one

echo basalt
young knoll
#

Then make a vault2

#

smh

kind hatch
#

Wasn't that supposed to be treasury?

echo basalt
#

and keep 1 instance / quest

young knoll
#

idk what that is so they failed

echo basalt
#

or whatev

lost matrix
echo basalt
#

something tells me we have different interpretations of that question

ancient plank
#

I had the same interpretation as 7smile

echo basalt
#

can't wait to have all sorts of desync issues and have to integrate networking logic into every single dao

lost matrix
#

Im tiered... maybe md was right in asking wth he is saying

echo basalt
#

9:50pm

#

was nearly passing out 6 hours ago

#

am not anymore

#

my brother wants to yank me into an empty field and teach me how to drive next week so ig I have a reason to live

lost matrix
echo basalt
#

I might go with the abstract dao approach exclusively to handle player data wipes

#

so that if someone wants to nuke banned players or sumn we can

blazing flare
echo basalt
kind hatch
echo basalt
#

I have high hopes for the people in my family that are my age and that often disappoints

#

but fuck it imma stall the car so many times next week that imma be a disappointment too so let's have a lil fun

kind hatch
#

Shred that gearbox lmao

lost matrix
#

Tha fk is this?

echo basalt
#

my dads car lmfao

#

dipsh.. is blacklisted

#

go figure

lost matrix
#

Since when does discord block me from sending mildly insulting words

young knoll
#

it's per server

remote swallow
#

you can say shit though

echo basalt
#

I also cant call myself a re--rd

young knoll
#

you can also say ass and hole

#

but not asshole

#

nvm I lied

remote swallow
#

can so fuck, cant say whore'

echo basalt
#

they got the chatcontrol™️ regex

kind hatch
#

What about fuckwit?

echo basalt
#

that one intern paid 20$ to minecademy

#

to access the chat filter

sullen marlin
#

👀

lost matrix
remote swallow
#

cant say slute either

#

we can swear, cant insult

echo basalt
#

seeing 7smile swearing is odd

lost matrix
echo basalt
#

Im the young brother

#

my elders are disappointing

#

except for my uncle grandpa

#

he was prime minister

remote swallow
#

how is he a grandpa and an uncle

kind hatch
#

There's a term for that.

lost matrix
remote swallow
#

incest

lost matrix
#

Very well chaps, I must take my leave forthwith. Ensure not to perturb the illustrious Discord sentinel, lest you too receive an unexpected admonishment, like myself.

echo basalt
sterile sapphire
#

Does anyone know a good of with 24gb ram?

#

And runs rly well

#

🤪🤷

young knoll
#

Is your 8gb not enough

sterile sapphire
#

No

#

And it’s very not good ish

#

It works

#

But

#

Made it 2000-2004 very old

sterile sapphire
young knoll
#

Well

#

For dedicated machines OVH and hetzner are good

#

For a shared host Bloom is pretty good

sterile sapphire
young knoll
#

yes

#

Your servers are hosted on a shared machine with other random servers

sterile sapphire
#

Oh I’m self hosting

#

So my own machines

#

Pc

left pine
#

Hello, I wanted to know if the player's name can be changed?

young knoll
#

Where

#

Chat? Tab? Above head? all of them?

left pine
young knoll
#

Well, in chat you can easily do it via the AsyncPlayerChatEvent

#

For tab there is Player.setPlayerListName

#

Above head is more complicated, you can probably do soomething with packets or display entities

young knoll
#

Well

#

You can use teams to hide the nametag

#

And then slap a display entity on their head with your custom name

lilac dagger
#

doesn't seem as nice as a packet spoof

young knoll
#

It's what TAB does

#

Well they use armor stands but yeah

slender elbow
#

text display riding a properly sized interaction entity riding the player works pretty well

thin iris
#

why does it say Cannot resolve method 'isSolid' in 'Block'

#

i swear isSolid was a method

lilac dagger
#

depends how old is what you're running

thin iris
#

im on spigot 1.20.1

lilac dagger
#

i think it's in material then

thin iris
#

oh yea

young knoll
slender elbow
#

proper height

young knoll
#

Just use translation

slender elbow
#

so it has the exact alignment as the actual name tag

#

m

#

true

echo basalt
#

mm so many issues

lilac dagger
#

i knew something looked weird with this, it's kotlin

#

what even is !!

echo basalt
#

basically weird nullability stuff

young knoll
#

You’d need some kind of runnable to keep checking if the player has landed

#

Or a move event

shell obsidian
#

i suck at kotlin and java

#

lol

hazy parrot
#

basically only way you can get npe in kotlin

shell obsidian
#

so is there a way of detecting when the player lands?

lilac dagger
#

use a map or object where you store, is in air

#

and then playermove event get to and check if it's on ground

#

if it's on ground trigger whatever you wanna trigger

shell obsidian
#

you're able to put events inside of events?

lilac dagger
#

no

lilac dagger
#

but you can put an event below your event

young knoll
#

Or you can go the runnable approach

#

Might be better than always having a player move event listener, kinda depends

lilac dagger
#

yeah, up to you

shell obsidian
#

okay

#

thank you

shell obsidian
#
for (i in 0..360) {
    val x = cos(i.toDouble()) * 2
    val z = sin(i.toDouble()) * 2
    val loc = location.add(x, 0.0, z)
    p.world.spawnParticle(TOTEM, loc, 1, 0.0, 0.0, 0.0, 0.0)
    p.world.playEffect(loc, Effect.STEP_SOUND, 152)
    p.world.getNearbyEntities(loc, 1.0, 1.0, 1.0).forEach { e: Entity? -> if (e is Player) { e.damage(5.0) } }
}
#

Please help, I want the player in the middle

#

Kotlin

opal saffron
shell obsidian
#

Here is the full function

#
 private fun hammerParticles(p: Player, location: Location) {
        for (i in 0..360) {
            val x = cos(i.toDouble()) * 2
            val z = sin(i.toDouble()) * 2
            val loc = location.add(x, 0.0, z)
            p.world.spawnParticle(TOTEM, loc, 1, 0.0, 0.0, 0.0, 0.0)
            p.world.playEffect(loc, Effect.STEP_SOUND, 152)
            p.world.getNearbyEntities(loc, 1.0, 1.0, 1.0).forEach { e: Entity? -> if (e is Player) { e.damage(5.0) } }
        }
    }
#

Called here
hammerParticles(e.player, e.player.location)

#

Please help

thin iris
#

is this java 😭

shell obsidian
shell obsidian
#

wdym

lilac dagger
#

everytime you iterate you move location

shell obsidian
#

oh

lilac dagger
#

the same location

#

you're adding to it

shell obsidian
#

val loc = location.add(x, 0.0, z)

#

?

lilac dagger
#

yes

#

do location.clone().add

shell obsidian
#

okay

lilac dagger
#

see if that fixes it

#

tho i sugest optimizing this

shell obsidian
#

im at school rn so i dont have that much time to write good code

#

lol

lilac dagger
#

p.world.getNearbyEntities(loc, 1.0, 1.0, 1.0).forEach { e: Entity? -> if (e is Player) { e.damage(5.0) } }

#

also this can be put outside i think

shell obsidian
#

yeah it could

lilac dagger
#

it already does some form of radius

#

p.world.playEffect(loc, Effect.STEP_SOUND, 152)

#

same for this

#

unless you like the effect

shell obsidian
#

it's fixed

#

ty

lilac dagger
#

👍

#

iterating 360 times is a bit much

#

try reducing the steps

shell obsidian
#

alr

wise mesa
#

so I'm trying to copy all persistent data from one object to another

#

however I can't get the persistent data without knowing the type

#

and I'm trying to make this general so I don't know the type

#

is there any way around this?

sullen marlin
#

Sounds like a good feature request though surprised there wouldn't be a way

wise mesa
#

you're probably right

#

maybe a generic way to get persistent data? like just returning an object

#

*not generic

#

a way to get the data without knowing the type

#

or maybe a pair of types and objects

#

idk

#

ill make a request

hazy parrot
#

I mean you probably can using nms, getting Tag called BukkitValues and pass it to another item

#

might be wrong

wise mesa
#

ah that's true

#

an api way would be nice though

young knoll
#

I think getting a generic Object would be good

wise mesa
#

you'd have to be able to set the generic object though

#

what's the latest spigot version 😭

young knoll
#

Uhh

#

Idk

#

Build 3870

#

Released September 11th

wise mesa
#

it's not a bug report so the version shouldn't really matter

#

but i get it

#

ill spin up buildtools lol

young knoll
#

I will personally send it to the shadow realm if the build version is wrong

lethal python
#

there is an inventory.getLocation() but there is no inventory.setLocation() what can i do instead?

worldly ingot
#

idek what that would do

lethal python
#

what

young knoll
#

What if I just want all the values

#

But I don’t want to copy it to another pdc

worldly ingot
lethal python
#

how does getLocation() work

worldly ingot
#

Gets the location of the block at which the inventory is positioned

#

e.g. a chest

young knoll
#

I want it to teleport the chest

river oracle
#

How does minecraft store chest data I've always wondered

worldly ingot
#

NBT as slot data

river oracle
#

Is it stored in nbt? Or what

worldly ingot
#

Slots:[{Slot:1b, Item:{...}},{...}] iirc

river oracle
#

Ahhhh

young knoll
#

Pretty much everything is NBT

worldly ingot
#

It's all NBT. Always has been PES_GunR

cursive falcon
#

yo, kind of a noob question. I'm creating command arguments, but is there anyway to make the arguments show in like plugin yml

#

Like when you add a cmd on plugin yml, it shows in chat

#

like you can press tab to autofill an argument or something

young knoll
#

Tab completion is handled by having your command class implement TabCompleter

#

(Or TabExecutor)

cursive falcon
#

hmm

#

alr I'll check it out

#

just implementing it will handle it? I'm assuming for each argument you gotta do something or idk

remote swallow
#

Use StringUtil.copyPartialMatches for what you return

young knoll
#

You will then be made to implement a method called onTabComplete

cursive falcon
#

thanks for the info

lethal python
#

i have it so when a player opens a chest, it opens a different inventory to the one in the chest. when the player closes that inventory, the chest stays open for a while. i have a listener for when i close the inventory, is there a way i can close the chest from there?

sullen marlin
#

InventoryCloseEvent and Chest#close ?

worldly ingot
lethal python
#

awesome thank you

#

how do i cast a block to enderchest

#

java.lang.ClassCastException: class org.bukkit.craftbukkit.v1_20_R1.block.impl.CraftEnderChest cannot be cast to class org.bukkit.block.EnderChest (org.bukkit.craftbukkit.v1_20_R1.block.impl.CraftEnderChest and org.bukkit.block.EnderChest are in unnamed module of loader java.net.URLClassLoader @2b71fc7e)

tender hazel
#

i dont need help with development but how to i update my plugin on the spigot page that i posted

sullen marlin
#

By clicking the post update button on the resource page

young knoll
#

You need 2fa to post updates

torn oyster
#

how do i change the type of sapling dropped from leaves

#

i have custom trees but i want them to be practical while staying looking good

#

i just want only oak saplings to drop not spruce/birch and stuff

worldly ingot
#

BlockDropItemEvent will be your friend here

#

Check if the block is one of the leaves blocks, check if the item is a sapling (because they can also drop sticks), remove and spawn a new one

young knoll
#

Doesn’t work for natural decay

worldly ingot
#

Does it not?

#

Oh it's just block breaks :((

young knoll
#

Yeah sadly

#

I’d love a version without the player for everything else

errant urchin
#

hi, does anyone know why when I compile I can't access the PlayerInfoData class?

chrome beacon
#

How are you compiling?

warped shell
#

anyone know how to use Protocol Lib for Team packet update?

Im doing what Ive read to be correct and get an error saying that field 0 out of bounds for length 0

                WrapperPlayServerScoreboardTeam teamPacket = new WrapperPlayServerScoreboardTeam();

                //teamPacket.setName(type.toString());
                //teamPacket.setColor(type.getColor());
                //teamPacket.setPrefix(WrappedChatComponent.fromText(String.valueOf(type.getPrefix())));
                //teamPacket.setMode(2);```
sullen marlin
#

Why would you use packets for this

vast ledge
#

can you just not do scoreboardteamand the use it's functions

velvet chasm
#

How would I go about giving players permanent data? Like setting some kind of variable in a player to something. For example i want to check if player.element is equal to something

tall dragon
#

for more than some simple field(s) i would still opt for using your own player wrapper and files tho

velvet chasm
#

Alright thanks

fossil flax
#

Im trying to create a function that allows me to use color code on signs but its not working, someone know how can i do it?
This is the code im using

package me.yuvi.comandi.events;

import org.bukkit.ChatColor;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.SignChangeEvent;

public class SignColorEvent implements Listener {

    @EventHandler
    public void onSignChange(SignChangeEvent e) {
        String[] lines = e.getLines();
        if (!e.getPlayer().hasPermission("colorcodes.sign")) {
            return;
        }
        for (int i = 0; i < lines.length; i++) {
            String line = lines[i];
            lines[i] = ChatColor.translateAlternateColorCodes('&', line);
        }
    }
}```
tall dragon
#

getLines prolly returns a copy

fossil flax
#

thanks, it works

undone axleBOT
severe folio
#

Personally for readability I'd invert that if statement

#

Don't wanna be that guy tho xd

silver lichen
#

Does anyone know how I can create a custom Pathfinder for an Entity with NMS 1.19?

fossil flax
#

I created this function that allows me to modify a placed sign but when i confirm it the old lines that have color code in it just reset, someone know a way to keep the untouched lines with their color?

public class SignEditEvent implements Listener {

    private final Map<UUID, Block> signEditMap = new HashMap<>();

    @EventHandler
    public void onSignChange(SignChangeEvent event) {
        Player p = event.getPlayer();
        Block block = event.getBlock();
        if (!p.hasPermission("gn.sign.edit")) {
            return;
        }
        if (block.getState() instanceof Sign) {
            signEditMap.put(p.getUniqueId(), block);
        }
    }

    @EventHandler
    public void onPlayerInteract(PlayerInteractEvent event) {
        Player p = event.getPlayer();
        Action action = event.getAction();
        Block block = event.getClickedBlock();

        if (!p.hasPermission("gn.sign.edit")) {
            return;
        }
        if (block.getState() instanceof Sign) {
            signEditMap.put(p.getUniqueId(), block);
        }
        if (action == Action.RIGHT_CLICK_BLOCK && p.isSneaking()) {
            if (block.getState() instanceof Sign) {
                Sign sign = (Sign) block.getState();

                if (signEditMap.containsKey(p.getUniqueId()) && signEditMap.get(p.getUniqueId()).equals(block)) {
                    p.openSign(sign);
                }
            }
        }
    }
}```
severe folio
#

Lmao

#

Let's agree to disagree lol

timid hedge
#

?paste

undone axleBOT
timid hedge
smoky anchor
#

gonna be wonky tho
players trying to stand on it will be "stuck"

#

specify "back"

timid hedge
#

Wait, so is there another method?

smoky anchor
#

have you tried setting a skull block instead ?

#

idk if you're still trying to do what you were doing like 2 days ago lul

#

wouldn't standing on it trigger a kick due to flying ?

timid hedge
#

Or will this work?

    private void setCollidable(ArmorStand armorStand, boolean collidable){
        try {
            Object nmsEntity = ((CraftEntity) armorStand).getHandle();

            Field collisionField = nmsEntity.getClass().getDeclaredField("collides");
            collisionField.setAccessible(true);

            collisionField.set(nmsEntity, collidable);
        }catch (Exception e){
            e.printStackTrace();
        }
    }

smoky anchor
#

it is not possible

#

you can not just make an entity collidable

#

it will not work as a shulker

timid hedge
#

Okay, ill try. But wont it lag the server?

smoky anchor
timid hedge
#

Idk because if there is many fake blocks and a player should load them or something

smoky anchor
#

player sees thousands of blocks.....
they will be "fake" on server side, not exist there
only client will see them

#

the server will know that player tried to click this type of block at this specified location
that would be all I think (correct me if I'm wrong)
speaking of.. would that trigger a player interact event ?

#

but wouldn't server set the block back to air on first interaction since it detects a desync

#

ig there must be some black magic fuckery with fake blocks then

timid hedge
#

With protocollib? i just want if im doing it right

#

Are you sure that works for 1.8?

#

Okay

hybrid spoke
lost matrix
waxen gust
#

Why do I get a NoClassDefFoundError error in Lib's Disguises?

#

my pom.xml

eternal night
#

is lib disuise installed as a plugin ?

#

do you depend on it in your plugin.yml

waxen gust
#

An error occurs in Lib's Disguises

waxen gust
#

How do I change this message?

#

or remove

smoky anchor
#

Is this your plugin you're developing ?
If no, move to #help-server

tall dragon
#

depends on what plugin its from

warped shell
#

Using velocity to have global tablist but still need to update the player somehow

sullen marlin
#

Scoreboards are packets too

#

How will this solve it

torn oyster
young knoll
#

(Doesn’t include the drops)

warped shell
#

Im open to suggestions

undone axleBOT
eternal valve
#

can you suggest me a plugin or add-on: I have special fishing rods and fishes, so how can I do different fishing with each fishing rod (different loot table for each one) (in addition I use items adder)

lost matrix
#

oof, my drop manager could probably do that if it was still updated...

lost matrix
eternal valve
#

ağh I wish there was a plugin so I could do it, I couldn't find it for days

eternal valve
silver lichen
#

Does anyone know how I can create a custom Pathfinder for an Entity with NMS 1.19?

chrome beacon
#

Probably

#

What are you having problems with?

silver lichen
#

I have found tutorials for older versions but with the new mapping the Tutorials are outdated and I can‘t find any Method how I can set the pathfinder to the entity…

chrome beacon
#

?mappings

undone axleBOT
lilac dagger
chrome beacon
#

^^ Instead of looking for outdated tutorials

#

Just look at how Mojang does it

upper hazel
#

private static boolean isInBarrier(Location location) {
if (location == null || location.getWorld() == null) return false;
return location.getWorld().getWorldBorder().isInside(location);
} - this be good option for check?

#

or isInside not good

lilac dagger
#

this looks good

upper hazel
#

but 1 peson say he teleport not in borrier

#

behind the barrier

lilac dagger
#

maybe your bug lies elsewhere?

upper hazel
#

idk maybe

ivory sleet
#

Like the name of the function could just be contains

lilac dagger
#

there's no contains

#

so the bug has to be elsewhere

#

his random teleport probably is wrong, assuming this is what he uses

#

and if he has one he could just do it mathematically to never leave the bounds of the worldborder

lost matrix
#

Probably the better approach

eternal oxide
distant wave
#

which of these should i use as final plugin?

lost matrix
chrome beacon
#

(or prefix)

timid hedge
#

?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 can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org

timid hedge
#

Can i edit the size of a skull on a armor stand?
(look at the photo) the skulle to the left is the one i placed with my hand, the one in the middle is the armor stand without i used armorstand.Small and the one to the left is the one on the armor stand where i used armorstand.setsmall and i want so when i use the command /vps there will spawn a ender portal frame with a skull on top of it that are the same size as if i place it with my hand
https://i.imgur.com/wbrpjNO.png

lost matrix
#

Just use display entities for this. You can make anything super tiny or giant like a whole mountain

smoky anchor
lost matrix
timid hedge
#

Does display entities work on 1.8? just making sure

lost matrix
#

1.8 inferiority showing

young knoll
#

With armor stands you have small and normal

#

That's it

smoky anchor
timid hedge
#

So i only have armorstands?

young knoll
#

yep

lost matrix
#

And maybe falling blocks which are mounted on an armorstand.
But thats it

smoky anchor
#

I highly doubt those can render skulls

young knoll
#

iirc they cannot

#

It shows as soulsand texture or somethin weird

echo basalt
#

falling blocks in armorstands

#

they're so buggy

#

falling blocks are buggy in nature

young knoll
#

Weren't they alright with noGravity

echo basalt
#

no

young knoll
#

rip

echo basalt
#

even if you mounted them in an armorstand they'd try to do their hitbox stuff

#

best approach is to prob make an nms one that doesn't break stuff

young knoll
#

The best approach is to update

echo basalt
#

that, too

#

unfortunately my customers don't fall into these scare tactics

young knoll
#

Have you tried violence

echo basalt
#

let me ship a dropkick abroad

young knoll
#

I guess the one good thing about 1.8 customers is you don't need to think much about future proofing the plugin

echo basalt
#

p much

sage dragon
echo basalt
#

just code like you would 8 years ago

worldly ingot
young knoll
#

I still want to rename that

worldly ingot
#

Probably worth doing a source level break for that once we get enum changes merged in as well

young knoll
#

I was thinking commodore

worldly ingot
#

Well yeah but that's still a source level break

young knoll
#

Ah right

echo basalt
#

good ol' craftlegacy fixing it with asm

young knoll
#

I've seen worse

worldly ingot
#

Enum changes also have source level breaks that are still backwards compatible so it's a good time to rename that enum properly

young knoll
#

I assume like

smoky anchor
young knoll
#

HIDE_ MISCELLANEOUS

worldly ingot
#

¯_(ツ)_/¯

#

HIDE_ITEM_SPECIFIC is probably fine

young knoll
worldly ingot
#

It's older than me

young knoll
#

inb4 discord account gets banned

smoky anchor
#

I feel like I will die before I see this change

echo basalt
young knoll
#

Avoid oncoming traffic

echo basalt
#

choco late

echo basalt
#

like and subscribe for more poetry

smoky anchor
#

consider me subscribed

young knoll
#

Wonder if 1.20.2 is today

worldly ingot
#

Dunno. Might be!

young knoll
#

Wonder if slime man is ready

smoky anchor
#

I wonder what we will get for the configuration phase.
Would be cool if we could change what gets sent to the client from the datapacks with some event for example.
I would really love to remove all tags from blocks client-side. F3 gets cluttered from this for no reason.

young knoll
#

I mean

#

You can packet listener that

fluid river
#

yo developers

#

help me develop a friend list to play rocket league in steam

#

reward: jree fava lessons

sweet flax
#

Hi, I have problem with remapping spigot nms

Could not transfer metadata org.spigotmc:minecraft-server:1.20-R0.1-SNAPSHOT/maven-metadata.xml from/to repo (https://repo.mattstudios.me/artifactory/public/): repo.mattstudios.me```
eternal oxide
#

?nms

sweet flax
#

which java version should i use on nms cuz im using jdk 20 rn and it says: Unsupported class file major version 63

worldly ingot
#

You should still be able to use anything higher than 17

fluid river
young knoll
#

For anything modern class file version = java version + 44

river oracle
#

that's too much math

#

just set the chart as your background so you never forget

sweet flax
#

it only shows up while doing remap

#

changed to java 18

#

and now

#

Unsupported class file major version 62

#

xd

#

funny

river oracle
#

tbh I'd just go with java 17 its LTS though the other versions should work not sure what the issue could be

river oracle
#

idk I don't have a server

#

java 17 should work with all latest versions though

#

I think its like 1.18+ or something

sweet flax
#

im trying to use 1.20.1

remote swallow
#

yuppers

sweet flax
#

when i change to java 16 in maven it still says unsp version 63 but when i change to java 18 -> 62, 20 -> 64 so i dont how do i fix this but it s only error while doing remapping

river oracle
#

e.g. what version is your project targeting

#

^ sounds about right

#

java -version onyour machine

sweet flax
#

BUT ITS IN IDE

#

XD

#

i have newest correto

#

installed on pc

sweet flax
solid cargo
#

is there a way to make an armor stand completely like invisbile idk how to explain

#

the armor stand is there, but if interaction goes through the stand, it completely ignores the stand

undone axleBOT
sweet flax
#

i have multi module

#

project

solid cargo
#

does armor stand trigger entitydamagebyentityevent?

#

it should.

undone axleBOT
solid cargo
#

smh

sweet flax
#

didnt change

#

anything

#

other

#

maven;s

#

plugins

#

where causing error

#

thx for help anyway

warped shell
#

These dont do anything if their scoreboard is already set correctly

#

The issue is that the proxy messes up the scoreboard sorting and colors and I want to update it. The only way I can see to do this is a specific packet.

smoky anchor
#

Where spigot 1.20.2 💢
||/j||

echo basalt
#

interesting

lost matrix
#

Hm?

echo basalt
#

was gonna ping you over a weird structure but I'd rather just do it manually tbh

#

was gonna ask if a <T extends SkyblockStorage> T getStorage(Class<T> storageClass) is viable but it's a disgusting pattern

sweet flax
#

how do i send packet to a player on 1.20.1?

#

there is no playerconn

lost matrix
undone axleBOT
echo basalt
#

uhh

#

it'd be part of some "storage registry" I could potentially use for inheritance or sumn

#

Let's say I want to wipe all data

#

I'd just get all storages instead of some sort of chain and wipe them

#

I'm still thinking of the whole database storage thing because I like the way this is going but I can't visualize the end result

lost matrix
#

I can already see that this is gonna get deep

echo basalt
#

yeah

#

we're only at the ~10k LOC mark, no features yet

#

I'm also wondering if I should allow for handling offline economy data which can cause so many issues

lost matrix
echo basalt
#

hmm

#

for spigot servers I want this to interface with Vault

lost matrix
#

Done that via redis and redis locks.

echo basalt
#

fuck it, no async economy

lilac dagger
#

vault is so bad

echo basalt
#

well it's what ppl use

lilac dagger
#

might as well create a view for vault

lost matrix
#

Resulted in stuff like this

lilac dagger
#

and handle it yourself in async

echo basalt
#

I'll have an intermediate thing so I can impl my own stuff in other platforms

#

it's smile's code, go figure

lost matrix
echo basalt
#

not a fan of how you don't reuse your variables

#

well

#

that's the other part of this project

#

not everyone has redis

lost matrix
#

best approach

echo basalt
#

ppl might be running this shit on aternos

#

so I have to allow support for literally every single setup type

#

(in this case by segmenting the logic into "simple" and "complex" networks)

lost matrix
#

In that case i would just hard code your persistence in SQL as most people have access to that.
And use SQLite maybe as fallback (optional)

echo basalt
#

well some people like mongo more

#

Your old employer asked me to add S3 support

#

not everyone is a mysql fan

#

Yeah

#

some idiot asked me for specifically postgres support

lost matrix
thin iris
#

everybody knows that im a good girl officer

#

no i wouldnt do a thing like that, that's for sure

echo basalt
#

SeaweedFS or some BS

lost matrix
thin iris
#

LANA IS NOT CRINGE

echo basalt
#

Instead of redis some people prefer Memcached and use rabbitmq for packets

thin iris
#

take that back rn

echo basalt
#

cringe

thin iris
#

we are no longer acquaintances. GOOD DAY.

echo basalt
#

why are you posting girls in help-development none of us have that shit

thin iris
#

bye

echo basalt
#

it's like going to a toy store and flexing stacks

lost matrix
#

That... wasnt directed at whoever this gif shows

thin iris
echo basalt
#

no kid in a candy store has racks of money

#

?userinfo @quaint mantle

undone axleBOT
#

Chilling in offline status

Joined Discord on

<t:1642416432>
<t:1642416432:R>

Joined this server on

<t:1643470077>
<t:1643470077:R>

Role

<@&695824786605080576>

Previous Usernames

okay., mhz, ntm, antm, antm69

thin iris
#

does anyon watch the coding train

lost matrix
thin iris
#

he's so fun to watch

echo basalt
#

that pfp reminds me of this image

lost matrix
thin iris
#

never knew you could approximate pi from shooting darts at a circle

#

same lmfao

echo basalt
#

yeah but I want that to be a possibility

#

if I hardcode SQL everywhere it's a bitch

thin iris
#

language .

echo basalt
#

I've had ppl offer me 40$/hr to make a private fork

lost matrix
echo basalt
#

which is what I'm doing

#

thing is

lost matrix
#

https://www.youtube.com/watch?v=HEfHFsfGXjs
This one is a truly interesting result for a pi approximation

Solution: https://youtu.be/jsYwFizhncE
Even prettier solution: https://youtu.be/brU5yLm9DZM
Help fund future projects: https://www.patreon.com/3blue1brown
An equally valuable form of support is to simply share some of the videos.
Special thanks to these supporters: http://3b1b.co/clacks-thanks

New to this channel? It's all about teaching math ...

▶ Play video
echo basalt
#

I'll also have external addons which are also a bitch

#

because I need to make it so my database data structure isn't tied to just the "core" data that needs to be loaded

echo basalt
#

So I can just make an interface for storing profile data, or economy data

thin iris
#

i also watched his take on this

#

did yous ee it?

echo basalt
#

If I don't use an intermediate data format I also need to make an impl for each "DAO" in each database format

#

And now I'm thinking of how I'd init all of that without writing 1000 lines of code for each

thin iris
#

i love phyics 😋

lost matrix
#

I love physics

echo basalt
#

I failed 9th grade math

#

and never paid attention to physics because I was from a very shitty school

#

and by the time I got to a decent school it was all just.. too hard

hasty prawn
echo basalt
#

I remember blowing up fire extinguishers in physics class

#

breaking into their storage room and stealing a box of 200 condoms they used for health demo

lost matrix
echo basalt
#

and making balloons with that

#

that school was wild

#

we caught trees on fire for fun

lost matrix
echo basalt
#

lmao no I was deathly afraid of my mom

#

I'd stay extra time in school just waiting for her to go to work

hasty prawn
#

That is very depressing

echo basalt
#

fun teen times

#

then I'd get home and make ploogin

#

for 5$

lost matrix
#

That sounds really, really bad...

sweet flax
lost matrix
#

You should try to reflect on that. Imagine if you crashed and took someones life.
Then an impulsive behavior of yours would have ruined your life, the life of your parents
and the life of every family member you took a loved one from. This is something truly unhinged.

echo basalt
#

gonna hop on a car and learn to drive manual next week

#

with my brother

#

still working on all the traffic rules

lost matrix
#

I condemn this behavior. Thats all im gonna say to this.

#

Thats good

echo basalt
#

learned all the lights and stuff, was reading about overtaking a couple days ago

errant urchin
# chrome beacon Do you have the right nms version added as a dependency in your project?

yes
It lets me use it in the project but when I compile it doesn't

<build>
        <finalName>${project.name}-${project.version}</finalName>
        <defaultGoal>clean install</defaultGoal>
        <plugins>

            <!-- Compiler Plugin -->
            <plugin>
                <version>3.8.1</version>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>

            <!-- Shade Plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.4</version>
                <configuration>
                    <shadedArtifactAttached>false</shadedArtifactAttached>
                    <createDependencyReducedPom>false</createDependencyReducedPom>
                </configuration>
                <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>```
opal juniper
#

the americans blow manual driving out of proportion

echo basalt
#

clutch, gas, shifter yeye

#

just gotta make sure I don't go from 1st to 5th

lost matrix
echo basalt
#

my biggest fear is parallel parkin

lost matrix
#

Wait... What even is the purpose of this NMSAdapter.

lost matrix
lost matrix
#

Oh god

young knoll
#

I think you mean 1.20

sweet flax
#

but with mappers

chrome beacon
#

Use the jar without suffix

sweet flax
chrome beacon
#

Yes

errant urchin
chrome beacon
errant urchin
#

maven

#

1.8.8 does compiles, how strange

errant urchin
#

Isn't it because the class is inside another class and that's why it doesn't detect it? Because the others do work.

solid cargo
#

wrong chat

distant wave
#

guys how can i shadow a dependency from a jar file

#

i mean like a plugin jar file

#

im using wordledit as dependency and its shouting at me to dont include it

#

in the jar

remote swallow
#

change implementation to compileOnly

lost matrix
#

You can install jars in your local maven repository via a mvn command and then reference this jar in your pom like other dependencies

distant wave
#

im using maven

remote swallow
#

so why did you say shadow

kind hatch
#

<scope>provided</scope>

remote swallow
#

shadow is gradle, shade is maven, but ^^

lost matrix
distant wave
#

but the api is included in my plugins jar

distant wave
lost matrix
#

Make sure to set the scope to what shadow posted

distant wave
#

seems to be working!

#

thanks

distant wave
remote swallow
#

lol

lilac dagger
#

this concept is weird to me, to prefer gradle over maven

smoky oak
#

can a bukkitRunnable change it's repeat frequency?

torn shuttle
#

that's the third argument in it

north nova
#

i think he means if it's possible to change it while its running

#

u can use recursion for that

lilac dagger
#

i don't think so no

chrome beacon
#

Just schedule a new task

lilac dagger
#

make your runnable know how many ticks it passes

torn shuttle
#

use modulus and a counter

lilac dagger
#

and use % to do it

smoky oak
#

wait
im a fuckin idiot
i forgot bukkitScheduler already has a delay

lilac dagger
#

my plugins have just a task

#

and it's all perpetuates and reduced with modulus

#

where needed

autumn cave
#

I don't understand. How to rotate a direction by a rotation XYZ. I tried the following, but it gives wrong results:

// rotation XYZ angles
val rotation = Vector3f(Math.toRadians(15.0).toFloat(), Math.toRadians(15.0).toFloat(), 0f)

// create quaternion with applied rotation XYZ (joml)
val quaternion = Quaternionf().rotationXYZ(rotation.x, rotation.y, rotation.z).conjugate()

// apply rotation to player facing direction
val finalDirection = player.eyeLocation.direction.toVector3f().rotate(quaternion)
echo basalt
#

isn't rotateAroundAxis a thing?

young knoll
#

I believe so

echo basalt
smoky oak
#

necessary cuz im using this in a runnable. Do i need to add 1?

int start = 0, end = list.size();

//A
for(;start < end; start ++)

//B
for(;start +1 < end; start ++)
#

tldr i'm iterating over a list with a runnable to get one 'step' per runnable tick

echo basalt
#

wtf you doin

#

just do a while loop in this case

#

do-while if you want the block to run before the condition (runs once guaranteed)

smoky oak
#

uh
animation

#

i NEED the 1 tick delay

echo basalt
#

then just add 1 on your runnable

#

for animation I just have a tick method that accounts for FPS

upper hazel
#

Is there any plugin for Intelji that helps with null checks and security in general?

echo basalt
#

if(null) return

#

if you care that much about design and code quality I'd start using Sonarlint

#

it's picky

smoky oak
upper hazel
#

I mean remind or suggest so that if I forget to check for null then intelji will prompt

tranquil beacon
echo basalt
#

Not exactly but somewhat

echo basalt
echo basalt
smoky oak
#

qq how much slower is a geq check compared to a eq check?

echo basalt
#

tf is a geq

smoky oak
#

= vs ==

echo basalt
#

planning on hiring some dude to make a website to configure it online and import stuff

smoky oak
#

symbol keys hard to hit

echo basalt
#

both are fine

smoky oak
#

case the list is empty

echo basalt
#

I mean

#

= will cover edge case scenarios

tranquil beacon
young knoll
#

Why should I pay for it

#

I can make it for free with aSkyblock and skript

#

Kek

echo basalt
#

The idea is to make the core for skyblock projects of any dimension

#

Full sharding support, proxy matchmaking etc

tranquil beacon
echo basalt
#

I want to segment the core into modules so that ppl only have the features they want

#

So if someone wants raw skyblock they have it with the base experience

smoky oak
echo basalt
#

if fps is over 20 it just renders multiple frames in one tick

smoky oak
#

ah

#

ye my animations are bound to the ticks directly, they're indicators

upper hazel
smoky oak
#

so having them run on a different clock wouldnt really work

echo basalt
#

it all runs on the server clock but ye

echo basalt
#

Listen to it

#

some things are stupid

autumn cave
smoky oak
echo basalt
#

wtf is this going on about

#

sure the associate method is inherited but I can't just pass context

autumn cave
upper hazel
echo basalt
#

finally someone that'll use it

echo basalt
# upper hazel wdym

a couple different "infractions" are fine but blatantly ignoring it is not

remote swallow
#

@worldly ingot 1.20.2 broke sqlite in spigot

fleet agate
#

Where is Ticket?

lost matrix
remote swallow
remote swallow
#

it doesnt like generating keys

fleet agate
remote swallow
upper hazel
remote swallow
#

?supprot

#

?support

undone axleBOT
fleet agate
#

Thx

opal juniper
echo basalt
#

y'know

upper hazel
#

I really ignore these warnings and the thought is lost from my head like the whole plan

remote swallow
echo basalt
#

fun thing

#

here's a banger stacktrace I had to diagnose yesterday

remote swallow
#

no errors on 1.20.1, errors on 1.20.2 with the sqlite update

smoky oak
echo basalt
echo basalt
#

and just hold the right arrow key to open up the whole tree

upper hazel
#

and if I uncheck the boxes, these changes are saved forever and are distributed to other developments

smoky oak
#

no like

#

what do i do in code

echo basalt
#

you fix it

smoky oak
#

i mean

#

isnt this some //THING

fleet agate
remote swallow
#

no

#

it ust scans ur project

fleet agate
#

Guy Reseling Plugins 💀

remote swallow
fleet agate
#

I know

echo basalt
#

it legit scans your code and marks them as warnings

alpine swan
#

can you force a player to interact with their item serverside without just manually calling the serverbound packet

echo basalt
#

these I'd prob get rid of

thin iris
#

what can u do with my sql

remote swallow
#

store stuff

smoky oak
echo basalt
river oracle
echo basalt
#

but I just check the report once in a while

river oracle
#

Can confirm couldn't be happier about storage

upper hazel
# echo basalt then you prob got design flaws

yes, but that’s not the problem, the problem is that I haven’t fully written the plugin yet, the code hasn’t been improved, etc., and these colors are already getting in the way

echo basalt
#

when I have nothing else to do

smoky oak
#

is this a plugin for IJ?

echo basalt
#

yes