#help-development

1 messages · Page 975 of 1

icy beacon
#

Well strings are immutable in and of themselves

granite owl
#

how do i not reassign the local pointer

#

but modify the object passed

icy beacon
#

You can alter the object if it has some methods for its altering

#

E.g. for itemstacks it could be setItemMeta

#

But if you reassign the variable you're just working with a new variable

granite owl
#

i mean, how do i handle this like a pointer ```java
public static void foo(String s)
{
s = "LOL";
}

#

instead of reassigning it

slender elbow
#

String is immutable

#

you'd either have to use a StringBuilder (basically a mutable string), return a String, or pass an AtomicReference<String> and mutate that

granite owl
#

then how do i change an Integer's value

#

theyre not immutable id assume

#

since the data size doesnt change

slender elbow
#

Integer is immutable

#

the value it holds is unmodifiable

granite owl
#

🤨

#

so every time i change the value of an integer what the interpreter does is releasing the 8 byte from the heap

#

and then re-allocate it

#

for the same size?

slender elbow
#

i strongly suggest you stop thinking of java as if it was c++

granite owl
#

well i mainly know C++ and try to understand what java does

#

to work with it properly

#

and not just "by chance it works"

slender elbow
#

specifically, there is a local variable in the LVT (local vars table, it's an indexed table for local variables), method parameters are assigned to a local variable in the LVT, whatever you pass to the method at call site is copied to there, pass by value (for Object/references, the "pointer" is copied, not a deep copy), when you reassign a local variable, you are changing the value in that table, and when you reassign an Object/reference you are reassigning this "pointer" to the new object's "pointer"

#

C++ references are not a thing in Java so, unlearn that

tranquil glen
#

yeah you can't really do much with pointers/references in java at all

#

unfortunately

granite owl
#

jni but that defeats the purpose

#

xD

tranquil glen
#

what does jni mean

granite owl
#

and its a pain to maintain the library as i had to figure

#

java native interface?

tranquil glen
#

oh sorry i thought u were making some sorta abbreviation like btw

granite owl
#

^^

#

im thinking to wrap sqlite with the jni but i dont really feel like using native code for a server

#

most providers hate that

slender elbow
#

just use jdbc?

granite owl
#

thats based on dll and so files too

slender elbow
#

i've very rarely had a reason to do native bindings when working in java, unless i'm interfacing with win32/linux kernel that doesn't have an equivalent java api, or doing graphics programming etc

#

and it's likely you'll find yourself in the same situation

granite owl
#

well i want to use serverless sql

#

for the most part

#

and jdbc is making use of its own native code to wrap sqlite in turn

#

and native code isnt really an option

slender elbow
#

it might not necessarily (depends specifically on the driver used), but jdbc is stable and standardized for all sql engines

granite owl
#

i mean it did work i made it work but thats the thing host providers hate native code and block its execution

slender elbow
#

that is far from true lmao

#

what

#

bukkit already provides with the sqlite jdbc driver anyway

lilac dagger
#

^ both mysql driver and sqlite

granite owl
#

huh

#

well

#

i can prototype it

lilac dagger
#

not sure why people implement their own

granite owl
#

what i want

slender elbow
#

huh

#

just use jdbc, no reason not to

lilac dagger
#

if you want orm like behaviour you can key a uuid and have a string datatype that's a json that got base64'd

slender elbow
#

💀

#

the anti sql

lilac dagger
#

i'm not saying to have just these 2

#

i have a project that has this + normal sql columns

#

it's just nice to store options in such a table

granite owl
#

so just put everything in a json string and serialize that? xD

lilac dagger
#

it works

#

wait, let me see which data type i went with

slender elbow
#

why base64

#

lol

lilac dagger
#

i think json is gonna cause problems

#

so i went with the safe encoder

slender elbow
#

ssssssure

#

it isn't, but sure

dry hazel
#

most dbs even have a json datatype nowadays

slender elbow
#

text is just text

young knoll
#

Just make sure to sanitize it

lilac dagger
#

it's TEXT

#

well, base64 is sure gonna sanitize it

remote swallow
lilac dagger
#

plus it's too late, i don't wanna break compat now

granite owl
#

why is java so cocky with converting unicode to byte array and back to a string?

#

some bytes are negative cause everything is signed

#

and then when i want to convert it back to a string the characters are broken

lilac dagger
#

i dunno either, just make sure to choose the correct charset

granite owl
#

thats what i did

#
String str = "Hello World!好X";

        byte[] arr = str.getBytes(StandardCharsets.UTF_8);

        for (byte b : arr)
        {
            System.out.print(b + " ");
        }

        System.out.println(new String(arr, StandardCharsets.UTF_8));
``` output is ```txt
72 101 108 108 111 32 87 111 114 108 100 33 -27 -91 -67 88 Hello World!?X
lilac dagger
#

but it probably makes sense

#

you don't wanna waste half of your values right?

#

you use them all

granite owl
#

wdym

lilac dagger
#

in java everything is signed

granite owl
#

yes but

#

bytes by default are unsigned

#

by nature

#

0x0 to 0xFF

lilac dagger
#

i'm not sure that's true for java

#

case and point

granite owl
#

in java everything is signed yes

lilac dagger
#

i think chars are maybe?

granite owl
#

but bytes by nature are unsigned

slender elbow
granite owl
#

wait

slender elbow
#

the fact that everything is signed doesn't matter here

granite owl
#

apparently so

#

gimme a sec

lilac dagger
#

yeah, sign is just another value in char context

granite owl
#

thats gonna take a second

#

ur prob right that i compile with the ascii charset

slender elbow
#

iirc javac has a -encoding flag? you'd pass "UTF-8", I'm assuming you aren't using maven/gradle at this stage

granite owl
#

but im using VS code to compile so gimme a sec

#

to find where i can set the flag

granite owl
#
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <maven.compiler.source>21</maven.compiler.source>
    <maven.compiler.target>21</maven.compiler.target>
  </properties>
```ill compile it with maven sec
slender elbow
#

yeah that property should do it

#

although if you're using java 21 it should already use utf8 i think

granite owl
#

still

#
Hello World!?X
72 101 108 108 111 32 87 111 114 108 100 33 -27 -91 -67 88 Hello World!?X
#

but maybe the terminal is ascii too

#

sec

slender elbow
#

that is a possibility too

#

zsh my beloved

civic sluice
#

zsh + oh my zsh 🫀

granite owl
#

changing it to utf8 changed the way its displayed

#

but its still poorly displayed

#
Hello World!ÕÑ¢X
proven musk
#

whats the best way to store temporary data?

#

like

#

lets say im making a grapple hook and I just want to store stuff like if a player is currently grappling or not

remote swallow
#

pdc

lilac dagger
#

map, object

remote swallow
#

or just a map ye

proven musk
#

still pdc? isn't that slow?

lilac dagger
#

just a map

proven musk
#

ok

#

ty

lilac dagger
#

map's are very fast if uuid is the key

granite owl
#

ill try to redirect the default output pipe to a txt file, the windows text editor is by default able to interpret utf8 encoded strings properly xD

lilac dagger
#

or any object can be fast if the key is hash efficient

granite owl
#

cant be that hard to get the leading bits to work

proven musk
#

what do I do here

#

what do I use instead

granite owl
#

you instantiate a hashmap

remote swallow
#

hash map

granite owl
#

not a map

lilac dagger
#

it's a hashmap

remote swallow
#

(quick tip)

proven musk
#

ohh ok

remote swallow
#

?learnjava

undone axleBOT
#

For Beginners:

Codecademy - Learn Java: Interactive Java programming course from basics to more advanced concepts. Perfect for absolute beginners.
https://www.codecademy.com/learn/learn-java
JetBrains Academy - Java Developer Track: Learn by doing with projects and challenges. It covers Java fundamentals to advanced topics.
https://www.jetbrains.com/academy/
Udemy - Java Programming Masterclass for Software Developers: Updated courses that cover Java 8 to Java 17 features. Suitable for those who prefer structured learning.
https://www.udemy.com/course/java-the-complete-java-developer-course/

For Intermediate to Advanced Learners:

Oracle Java Tutorials: The official guides by Oracle for Java programming—great for understanding the depth of Java.
https://docs.oracle.com/javase/tutorial/
Baeldung - Learn Java and Spring: Focus on Spring Framework and modern Java technologies. Best for intermediate learners aiming to expand their knowledge.
https://www.baeldung.com/

Practice and Hands-on Learning:

Exercism - Java Track: Solve exercises and get feedback from mentors. Great for practicing coding skills.
https://exercism.io/tracks/java
LeetCode: Practice your coding skills and prepare for technical interviews with Java.
https://leetcode.com/

Free Resources and Documentation:

Java Programming and Documentation: A comprehensive collection of Java programming guides, tutorials, and API documentation.
https://docs.oracle.com/en/java/

Community and Support:

Stack Overflow: A vast community of developers. Great for getting help with specific problems or understanding concepts.
https://stackoverflow.com/questions/tagged/java
r/learnjava on Reddit: Join the community of Java learners and get advice, share resources, and discuss projects.
https://www.reddit.com/r/learnjava/

Remember: Learning to program takes practice and patience. Don't hesitate to experiment with code and participate in community discussions. Happy coding! 🎉

remote swallow
#

i dont like how long that is now

#

@young knoll why is it so long

granite owl
#

Q: what is abstract? A: not final

#

🫡

polar forge
#

Why is setBanned red?

remote swallow
#

because thats not a method

granite owl
#

so anyways, the leading bit making the numeric representation of a byte negative should not affect the byte's integrity right?

eternal night
#

because it doesn't exist?

#

Epic faster smhduck

remote swallow
#

did you confirm it wasnt a method first

granite owl
#

in multibyte characters*

remote swallow
glad prawn
polar forge
eternal oxide
#

Player#ban

polar forge
#

I don’t understand what u mean

eternal night
#

use player.ban instead

#

which is actually a method

remote swallow
alpine urchin
#

lets teach him concurrency guys

#

on spot

civic sluice
#

MemeGPT

polar forge
alpine urchin
#

superposition

#

quantum bukkit api when

#

ban(superposition)

granite owl
lilac dagger
polar forge
remote swallow
polar forge
alpine urchin
#

damn

polar forge
#

I’m learning

slender elbow
#

do a course

eternal night
slender elbow
#

like you've been told for a week now

alpine urchin
#

im a language teacher

granite owl
#
synchronized
```🤣
alpine urchin
#

i mean if you're down to pay an arm and a leg, hmu @polar forge

#

or maybe a toe

#

or a finger

#

up to you

alpine urchin
#

tutoring

polar forge
#

I could give u my love <333

alpine urchin
#

are you female

#

wait i have a gf

polar forge
#

No

proven musk
#

what the hell

granite owl
#

har har har

polar forge
eternal night
#

huh?

slender elbow
#

it's very useful

#

it tells you all the things you need to pass to the method

eternal night
#

what do you mean you don't understand the docs

proven musk
#

ok If I wanted to do something like change velocity every tick what could I do

polar forge
#

It doesn’t explain anything useful

eternal night
#

it tells you there is a method called ban

#

and that it takes a string, a date and another string

lilac dagger
eternal night
#

and explains what each of those parameters is

polar forge
#

Yes, but where does it tell me how I would need to use it?

lilac dagger
#

it still has to be small

granite owl
#

ngl spigots javadocs is actually rather well maintained xD

slender elbow
#

do you know how to call a method on an object?

polar forge
eternal night
#

ooof

slender elbow
#

my man

glad prawn
#

wow

slender elbow
#

it's been a week

granite owl
remote swallow
#

months ago

slender elbow
#

damn

polar forge
#

When I got a time out for 1 week 😭

civic sluice
#

👀
👅

slender elbow
#

you have been told countless times to do a java course

#

you are clearly not learning this way

alpine urchin
lilac dagger
alpine urchin
#

free tutoring

#

for you

slender elbow
#

do a java course

alpine urchin
#

love = money

#

ez fix

#

wait

#

WAIT

polar forge
remote swallow
#

calling a method is a very basic thing, you should know before you even start spigot

alpine urchin
#

hmmm what profession sells love for money

#

🤔

remote swallow
#

hookers

granite owl
alpine urchin
#

you're a h||aha||

slender elbow
#

calling a method is literally day 1 of java class

alpine urchin
#

in my class thats a week

polar forge
#

Yes guys, continue with saying how easy it is

lilac dagger
alpine urchin
#

anyway

quaint mantle
alpine urchin
#

i used to tutor my friends for free

#

back in the day

#

was kinda fun

#

if someone would genuinely pay id tutor

granite owl
lilac dagger
#

it isn't too hard

shadow night
slender elbow
#

erm, it's actually a markup language 🤓

granite owl
#

tbh im thinking if i should write my own gui in swing or javafx for the server

#

superior to microsofts hahaha

#

since its so easy to synchronize it with the main thread

eternal night
#

so many servers running in an environment where a java UI makes sense NODDERS

granite owl
#

html is not even a deterministic language

remote swallow
quaint mantle
#

Root servers dont even support ui

slender elbow
#

no

polar forge
#

But guys, could anyone tell me how I can do it? instead of setBanned

polar forge
slender elbow
#

have you ever called a method on an object?

granite owl
#

player#ban

polar forge
slender elbow
#

how have you done it?

polar forge
nova notch
eternal oxide
#

We really did. You need the most basic of Java knowledge to understand what I wrote

young knoll
#

YAML Ain't Markup Language

granite owl
civic sluice
polar forge
remote swallow
granite owl
eternal oxide
#

Don;t confuse him

young knoll
#

Yes

#

It's a recursive acronym

polar forge
#

Can anyone of u make an example so that I can understand it well?

eternal night
#

🥄

glad prawn
#

object.method() ?

nova notch
# polar forge

for the love of whatever god you pray to do target.ban() and be done with it

eternal oxide
#

You got a target, which is a player. setBanned does not exist as a method of Player so use what i told you

polar forge
eternal night
#

object.method(param1, param2, param3)

lilac dagger
slender elbow
#

methods and parameters are LITERALLY day 1 of any java course

granite owl
remote swallow
slender elbow
#

you've been hindering your own ability to do this for over a year apparently

eternal night
#

target.ban(param1, param2, param3)

polar forge
granite owl
#

and spigots api is provided as source too

#

allowing to browse through everything

#

how it works to the core

polar forge
young knoll
#

12000 days to years

#

Oh wait this is not the google

granite owl
polar forge
#

Why does it change to parameters?

remote swallow
granite owl
#

im sure it will say something like 2 years

eternal night
#

ask chatgpt

granite owl
#

xD

slender elbow
#

yes by doing a course

remote swallow
polar forge
#

Wow very helpful

nova notch
#

mf you on step 0 rn 😭

young knoll
#

roughly equivalent to 32 years and 313 days.

proven musk
#

is there an updated custom entities tutorial? the 1.18 one is out of date

polar forge
remote swallow
quaint mantle
#

Y'all learn calling methods? The first thing I did with Java is break an log and craft a crafting table

slender elbow
#

doing a single day of any course is gonna be more helpful than begging for a week how to call a method

granite owl
#

it says nullable for all parameters, which means you can literally call ```java
player.ban();

rapid vigil
granite owl
eternal night
#

"pass null implicitly"

#

what language are you coming from

granite owl
#

im sorry english is not my main language

polar forge
slender elbow
#

all parameters must be passed explicitly

#

be null or otherwise

winter cradle
remote swallow
#

why is there 2 emilies

slender elbow
#

we dating

polar forge
quaint mantle
remote swallow
#

congrats

polar forge
#

What do those parameters do

eternal night
#

if only there was a javadoc page

#

that described what they do

young knoll
#

Send hewlp there's too many of them

remote swallow
eternal oxide
#

read teh javadoc for the method

polar forge
#

I don’t understand

eternal night
eternal oxide
#

read the javadoc

granite owl
polar forge
#

Do they print out in chat?

remote swallow
#

no

#

when you get banned, it says why on your screen

polar forge
#

And what

#

Yes

remote swallow
#

you can specify a custom message or it uses the default in spigot/bukkit.yml

granite owl
#

i didnt read to the end

#

i assumed its overloaded

remote swallow
#

for expires it lets you say when to unban them, eg null to ban forever or a date to ban them till them

polar forge
#

I know, but we don’t have temp bans

remote swallow
#

source lets you say what banned them, eg console, a player etc etc

remote swallow
granite owl
#

which it is

remote swallow
#

use ur eyes and READ

granite owl
#

but not what i thought

polar forge
#

Me

remote swallow
nova notch
polar forge
#

sender.getName() right?

remote swallow
#

sure

quaint mantle
#

Correct way to do is

player.ban(null, null, null);

not

player.ban();
polar forge
#

Ok nice

granite owl
eternal night
polar forge
#

But guys

#

I want to implement now

remote swallow
#

it is implemented

polar forge
#

That if I ban a player, it prints out in chat a message like sender.getName() + “Has Banned “ + target.getName()

#

How is that possible?

remote swallow
#

yeah

eternal night
#

NODDERS good question

remote swallow
#

Bukkit.broadcastMessage()

polar forge
#

Yes but

#

How could u implement it

slender elbow
#

(╯°□°)╯︵ ┻━┻

eternal night
#

Hmmm, good questions

remote swallow
#

you pass exactly what you want to send

eternal night
#

Are you a cmarco alt

polar forge
#

No

#

I’m Egitto

#

Search in history chat

quaint mantle
#

?learnjava

undone axleBOT
#

For Beginners:

Codecademy - Learn Java: Interactive Java programming course from basics to more advanced concepts. Perfect for absolute beginners.
https://www.codecademy.com/learn/learn-java
JetBrains Academy - Java Developer Track: Learn by doing with projects and challenges. It covers Java fundamentals to advanced topics.
https://www.jetbrains.com/academy/
Udemy - Java Programming Masterclass for Software Developers: Updated courses that cover Java 8 to Java 17 features. Suitable for those who prefer structured learning.
https://www.udemy.com/course/java-the-complete-java-developer-course/

For Intermediate to Advanced Learners:

Oracle Java Tutorials: The official guides by Oracle for Java programming—great for understanding the depth of Java.
https://docs.oracle.com/javase/tutorial/
Baeldung - Learn Java and Spring: Focus on Spring Framework and modern Java technologies. Best for intermediate learners aiming to expand their knowledge.
https://www.baeldung.com/

Practice and Hands-on Learning:

Exercism - Java Track: Solve exercises and get feedback from mentors. Great for practicing coding skills.
https://exercism.io/tracks/java
LeetCode: Practice your coding skills and prepare for technical interviews with Java.
https://leetcode.com/

Free Resources and Documentation:

Java Programming and Documentation: A comprehensive collection of Java programming guides, tutorials, and API documentation.
https://docs.oracle.com/en/java/

Community and Support:

Stack Overflow: A vast community of developers. Great for getting help with specific problems or understanding concepts.
https://stackoverflow.com/questions/tagged/java
r/learnjava on Reddit: Join the community of Java learners and get advice, share resources, and discuss projects.
https://www.reddit.com/r/learnjava/

Remember: Learning to program takes practice and patience. Don't hesitate to experiment with code and participate in community discussions. Happy coding! 🎉

polar forge
#

Step by step

slender elbow
#

literally a method call just like every other method you've ever called

quaint mantle
#

Starting with plugins is not correct

proven musk
#

is there a good tutorial for nms out

chrome beacon
#

Seems to be like you skipped 10 steps

civic sluice
#

No you clearly aren't

remote swallow
chrome beacon
#

and now you're having problems

slender elbow
#

you are clearly not learning

polar forge
proven musk
#

this is kinda rest of the fucking owl me (aka how do I decompile? what does that mean?)

slender elbow
#

if you were, you would know how to call a method after a week

winter cradle
quaint mantle
#

...

slender elbow
#

true

remote swallow
#

what do you expect me to say

polar forge
#

Wdym?

eternal night
remote swallow
#

woah

slender elbow
#

you are the one calling player.ban, you know when you banned a player

chrome beacon
#

this channel is busy

remote swallow
#

Its almost as if calling Player#ban you ban the player and know it happened

#

thats absolutely crazy that happened

granite owl
quaint mantle
#

Damn i used .ban and it actually banned the player

Crazy i didnt believe it would happen

young knoll
#

Buildtools already does that for you

proven musk
quaint mantle
proven musk
#

wait so in theory buildtools should've already done this for me

quaint mantle
#

Yes

remote swallow
#

yeah

chrome beacon
#

well yes and no

quaint mantle
#

Buildtools will decompile for you

polar forge
#

Guys, what do I write instead of reason if I want a reason section?

remote swallow
#

if you say how

quaint mantle
#

You want a reason section but not a reason?

polar forge
#

What do u guys mean

#

I decide the reason

remote swallow
polar forge
#

Why?

remote swallow
#

you replace the first null with the reason you want as a string

polar forge
#

Like “You Have Been Banned For:”

eternal night
remote swallow
#

pass a string using \n for new lines

slender elbow
#

you pass your reason string in the reason parameter yes

quaint mantle
#

Player.ban("REASON HERE (Example: Hacking)", null, null)

eternal night
#

nah, their variable isn't called Player

quaint mantle
eternal night
#

there is no way they get this

remote swallow
quaint mantle
remote swallow
quaint mantle
#

Should have started with a calculator tutorial

#

Or a simple console app

polar forge
glad prawn
#

bro

polar forge
#

Greafing?

quaint mantle
#

Bro

#

Its literally an example

civic sluice
slender elbow
#

you pass whatever string you want

eternal night
#

nah you need a different method if they are banned for griefing

remote swallow
#

okay now your going on the no help list

slender elbow
#

it can be anything

eternal night
#

emily is lying actually

slender elbow
#

"banned for pooping in public"

quaint mantle
#

Emily stop lying

eternal night
#

it's player.banForGriefing() if its for griefing

polar forge
#

Bruh

quaint mantle
#

Its called Player.banForStealing() for stealing

remote swallow
#

please learn the basics @polar forge. Stop what your coding now and go right the way back to step one and learn

#

?basics

undone axleBOT
eternal night
#

NODDERS real

granite owl
polar forge
#

✨Help development ✨

eternal night
#

yea, I think we'd help with development

polar forge
slender elbow
#

we can't help you if you can't help yourself

eternal night
#

What you are doing is using this as chatgpt

chrome beacon
#

It's help development not do it for you development

quaint mantle
#

#spoonfeeddevelopment

polar forge
#

I’m getting help bc I don’t understand

#

I fr don’t understand

eternal night
#

do a java tutorial. Ask here if you have questions about a specific java tutorial

#

don't start with plugins

chrome beacon
#

and you're refusing to take a step back

slender elbow
#

this is not #learning-java channel, there are courses for that

civic sluice
quaint mantle
#

You can start plugins if you get to Manifest files, but until then dont start plugins

polar forge
#

I’m trying to understand but u guys throw bad things at me

#

And it’s not cool

slender elbow
#

"bad", literally told you what methods to call

polar forge
#

:c

eternal night
#

aight, tired enough of trolls today. Time to do other things

acoustic pendant
#

family friendly

chrome beacon
slender elbow
#

we are not here to teach java

quaint mantle
#

@proven musk Change of topic, do you still need help with nms?

polar forge
proven musk
# polar forge :c

sorry people are clowning on you, but you should really know basic programming before you come here

slender elbow
#

understanding what? how to call a method? that is teaching java

tardy delta
#

i should connect a chatgpt userbot to this channel

quaint mantle
acoustic pendant
#

guys, About nms i have a doubt, when I should be using them? I mean, in which cases is it useful?

proven musk
#

im trying to find the screenshots

polar forge
granite owl
eternal night
proven musk
#

im def missing something but idk

eternal night
#

or you need it at such high speeds that the extra work the API has to do is not acceptable

acoustic pendant
chrome beacon
eternal night
#

Yea I mean, anything packet related that isn't in the API

granite owl
#

i wish spigot would support custom and more importantly persistent pathfindergoals

quaint mantle
#

It should only be spigot

chrome beacon
#

As I said earlier open a thread and I can help you

quaint mantle
#

Not spigot-api

chrome beacon
#

this channel is busy

eternal night
#

Well generally just, stick to the API if you can

proven musk
#

hmm well thats been there forever

acoustic pendant
eternal night
#

makes your life a lot easier on minecraft updates

acoustic pendant
#

that's why i'm asking

proven musk
quaint mantle
#

Remove the "-api" for nms to work @proven musk

proven musk
#

oh ok

eternal night
#

I mean, spigots goal is to allow you to do everything you want without needing NMS

proven musk
#

oh right lol

granite owl
eternal night
#

so to that degree, yea, great if you only need to use NMS for NPCs

#

oh, right, spigot does not have a goals api

quaint mantle
#

Spigot still doesnt allow custom blocks tho

#

So nms still needed

eternal night
#

nor does vanilla

acoustic pendant
#

i'm saying the options it have

young knoll
granite owl
#

vanilla does

quaint mantle
acoustic pendant
#

as the API has almost anything

eternal night
#

what?

polar forge
#

What does this mean?

young knoll
#

You can inject new blocks into the registry

polar forge
#

Ambiguous?

young knoll
#

Just don’t expect the client to like it

#

:p

eternal night
#

Yea but they are not synced with the client

#

so yea

acoustic pendant
eternal night
#

ggwp, you need to translate them back

polar forge
eternal night
#

i would not call that "support in vanilla"

young knoll
#

Well maybe the client should just sync them smh

glad prawn
young knoll
#

Sync all registries

eternal night
#

the client really should Sadge

young knoll
#

Every single one

acoustic pendant
eternal night
granite owl
#

block display data and observables

#

sorry

#

events

polar forge
civic sluice
eternal night
chrome beacon
acoustic pendant
eternal oxide
#

supply the args as teh javadocs tell you. Not 3 null

proven musk
# polar forge Ambiguous?

the error is telling you what to do dude. If you have spigot questions then ask but this is a java question

quaint mantle
#

Would spigot custom blocks be possible with the new "Compontents" in 1.20.4

eternal night
#

no

quaint mantle
#

1.20.5*

glad prawn
granite owl
eternal night
#

custom blocks aren't a thing unless the client can handle custom blocks defined on the server

acoustic pendant
glad prawn
#

read the doc

proven musk
#

if you dont know how to look at a doc and figure out how to call a method then your question isn't for here

quaint mantle
polar forge
eternal night
#

yea pretty much

polar forge
#

But how do I do it?

eternal night
#

you can always "emulate" it

#

via e.g. the block states on noteblocks + resource packs

acoustic pendant
quaint mantle
#

Item displays + custom item model ez

proven musk
eternal night
#

yea. But real custom blocks will need mojang to support them

#

they are on their way there tho

quaint mantle
#

I hope so

polar forge
proven musk
#

oh my god

#

please learn the basics of java

quaint mantle
#

?basics

undone axleBOT
young knoll
#

Lynx has contacts with John Mojang

quaint mantle
#

Just dont help this guy man

young knoll
#

Dm him for all the leaks

chrome beacon
eternal night
granite owl
#

prob stupid question but can(better say should) i outsource resource heavy tasks to an actual thread and start a bukkitrunnable awaiting the thread to reach its exit point?

polar forge
young knoll
#

Completable future

#

Woo

acoustic pendant
#

read the docs

eternal night
#

CF woohooo

acoustic pendant
#

you can't give 3 strings lol

quaint mantle
#

If only people would listen and look at java basics

granite owl
#

here we go xD

proven musk
#

what am I doing wrong 😅

young knoll
#

Did you run buildstools

#

With the right flag

remote swallow
#

did you run buildtools with --remapped

proven musk
#

wait

polar forge
granite owl
#

buildtools copies its libs into the local maven repo right?

young knoll
#

Yes

proven musk
#

im so confused idk if im just dumb or if this tutorial is confusing

acoustic pendant
chrome beacon
civic sluice
polar forge
chrome beacon
#

Are you having troubles with running BuildTools?

acoustic pendant
polar forge
#

Can’t I decide it with the command? Why should I write it here already?

chrome beacon
acoustic pendant
#

or just read the docs

chrome beacon
#

Read the docs

acoustic pendant
#

idk if -1 works

quaint mantle
#

null = infinite

acoustic pendant
#

so then null

proven musk
#

can we just ignore this guy at this point

polar forge
#

Can anyone ping the docs?

acoustic pendant
#

?jd

undone axleBOT
chrome beacon
#

?jd-s

undone axleBOT
quaint mantle
#

...

acoustic pendant
#

a

quaint mantle
#

@late sonnets

#

I accidentally pinged a guy rip

#

Sorry doc

chrome beacon
#

It's not the first time I've seen this happen sadly

granite owl
#

whats actually the first class implementing Player?

young knoll
#

CraftPlayer

granite owl
#

ty

chrome beacon
#

It's Craft + the interface

acoustic pendant
#

yea, didn't see that xd

chrome beacon
#

for many things, so usually you start looking for that

granite owl
quaint mantle
#

Every class extends Object, but what does Object extend 🤔

granite owl
#

is it nms?

#

xD

quaint mantle
#

Yes

young knoll
#

It’s in craftbukkit

quaint mantle
#

Yes

chrome beacon
#

It's part of CraftBukkit which you get access to by depending on Spigot (and not just the API)

#

Same way you get nms access

proven musk
#

wait do you need nms for custom entities

polar forge
#

Guys last question

acoustic pendant
#

lmao

chrome beacon
proven musk
#

I feel like I shouldn't unless I need to actually use api methods

restive ledge
#

how do I create a new ItemFrame, which I can then place?

chrome beacon
proven musk
#

I basically just want an arrow that has some extra special code it runs every tick

young knoll
#

Just use a scheduler

polar forge
#

How do u add a counter? Like Dude Has Been Banned By Dude! (1 bans)

chrome beacon
granite owl
#

isnt the only reason nms is so shit to use because microsoft wants to obfuscate their code as much as possible?

acoustic pendant
young knoll
#

No?

acoustic pendant
#

or a database

young knoll
#

They literally give us mappings

acoustic pendant
eternal oxide
#

pdc

restive ledge
granite owl
#

but the naming has version numbers in it

proven musk
quaint mantle
#

Minecraft is really nice for giving us mappings 🙂

acoustic pendant
#

i don't think so

young knoll
#

No it doesn’t

#

Only craftbukkit does

#

And that’s on MD

quaint mantle
#

Whats md? Markdown?

restive ledge
chrome beacon
#

world#spawnEntity

lilac dagger
chrome beacon
#

Entity type being ItemFrame

restive ledge
quaint mantle
#

Yes

granite owl
#

i mean the original file names are just incrementing ascii chars... a.class, b.class

acoustic pendant
#

true, itemframe is an entity xd

granite owl
#

at least when i last checked it

young knoll
#

Yes

#

Those are the obfuscated names

chrome beacon
#

to prevent unexpected issues

granite owl
quaint mantle
#

Game is easier to hack without obfuscation

granite owl
#

but u have mods for that

wary harness
#

any one has clue how would I prevent this &id001

young knoll
#

It also saves space

wary harness
#

basicaly I am importing all kits to gui system

#

by one default

young knoll
#

Not that the game is particularly big compared to like, COD but still

wary harness
#

but then second item wont have degfault lore but will pull them off item 1

quaint mantle
chrome beacon
young knoll
#

It literally makes stuff 1-2 characters

#

That saves space

chrome beacon
#

Not sure how you manged that

quaint mantle
#

Some obfuscation methods add useless functions so it actually uses more space

granite owl
#

btw i heard rumors that the combat rework is the last update the java edition will get but did not find sources to confirm it? is there any truth to it or did some trolls just talk too much?

quaint mantle
#

What combat rework

granite owl
#

with the hammers

#

the one they work on rn

#

xD

#

maces

chrome beacon
#

It's not a combat rework

#

it's just a new item

granite owl
#

they also change what axes can be enchated with and iirc how dmg is calculated

young knoll
#

Don’t think so

granite owl
#

anyways is that the end of java updates or is it a lie?

proven musk
chrome beacon
quaint mantle
#

When did they do that? I never heard of axe enchantments changing

young knoll
#

Unless they let axes get sword enchants

#

But I don’t recall that being a thing?

granite owl
#

yes

#

new axe enchantments

granite owl
#

and existing sword enchantments

proven musk
#

oh slay ty

young knoll
#

There are no new axe enchantments

granite owl
#

cleaving?

quaint mantle
#

New enchants are dor mace

young knoll
#

That’s from the combat snapshot

restive ledge
acoustic pendant
#

imagine minecraft changing from java

granite owl
#
Minecraft Wiki

Cleaving is an enchantment applied to an axe that increases the axe's damage and shield disabling. Cleaving adds 1 + 1 × level [note 1] of damage and 0.5 seconds (10 game ticks) of shield stunning...

young knoll
#

Which was a long time ago

chrome beacon
restive ledge
young knoll
#

Ew fandom wiki

quaint mantle
#

Use real wiki

#

Minecraft.wiki i think

young knoll
#

Also, notice how it says combat snapshot 6 and not 1.20.5

granite owl
#

yea

chrome beacon
restive ledge
young knoll
#

The combat snapshots are dead

#

I believe they’ve decided to just slowly implement stuff from them over time

restive ledge
chrome beacon
#

?tas

undone axleBOT
granite owl
#

meh

chrome beacon
#

anyways as I said earlier keep track of the UUID instead of the entity instance

restive ledge
#

ill do that later

chrome beacon
#

it'll break and leak memory whenever that chunk is unloaded

granite owl
#

btw are uuids truely unique or just unlikely to be occuring multiple times? xd

chrome beacon
#

Depends on the UUID version

knotty aspen
#

the chance of an asteroid hitting you on the head right now is higher than a UUID collision

granite owl
#

hm

quaint mantle
#

So date also determines, so yes they are unique

chrome beacon
#

UUIDs are just 2 longs

young knoll
#

Pretty sure minecraft uses uuid v4

granite owl
#

but theres no table to track which uuids have been issued?

young knoll
#

Which is fully random

chrome beacon
vast ledge
#

Unless you save em yourself?

proven musk
granite owl
#

so hypothetically they could have collisions

honest echo
#

hey, if i send player message in "ServerConnectedEvent" (BungeeAPI)
it simply sends player message before join message
any event which triggers after server joining ? or in general i can use a different approach ?

vast ledge
granite owl
#

im just wondering if it is feasible to use uuids for non stackable items to prevent duping

proven musk
#

hypothetically your server and the github server all your code is stored on blows up and dies

knotty aspen
#

Apparently if you generate 1 billion UUIDs per second, you will get a collision after 86 years.
So you really shouldn't worry about it lol

young knoll
#

Sure

proven musk
#

its virtually impossible

young knoll
#

You don’t even technically need UUIDs for that

vast ledge
#

just add a char to it

young knoll
#

Just shove random bytes in the pdc

vast ledge
#

or that

young knoll
#

Or just wait for 1.20.5 and set the stack size to 1

granite owl
#

i would use pdc but with something that prevents my players going like "why did my stuff disappear"

rapid vigil
granite owl
#

so id say items have to be exactly the same incl uuid to trigger

chrome beacon
#

Because it has great new features

vast ledge
#

yea

rapid vigil
vast ledge
#

like custom max stack size

granite owl
#

tho then names are a problem

chrome beacon
#

and RC

granite owl
young knoll
#

Yes

rapid vigil
granite owl
#

wow

#

it just took like what 15 years?

#

xDDDD

young knoll
#

You can set an item to have a stack size between 1 and 99

restive ledge
#

didnt think my plugin would work first try

granite owl
#

thats nice

restive ledge
#

it did

granite owl
#

tho doesnt the game technically support -128 to +127?

chrome beacon
#

if not just use NMS

proven musk
chrome beacon
#

🤷‍♂️ the game supports it

honest echo
young knoll
#

?eta

undone axleBOT
#

There is no ETA. Having an ETA leads to unrealistic deadlines, false hope, and a bad product. It will be ready when it's ready.

chrome beacon
#

and that's what matters

honest echo
#

not Spigot API

granite owl
#

ik that too many items could generate item stacks up to 127 back in 2011

sharp ocean
#

please format local time on TAB

proven musk
chrome beacon
#

yes

honest echo
chrome beacon
#

You can detect where the client is from

#

and adjust timezone

young knoll
#

Yeah item stacks can technically be up to 127

granite owl
young knoll
#

But the game doesn’t render above 64 (99 soon)

honest echo
quaint mantle
#

What bout -1

granite owl
#

or just let the user define +-12h from UTC

honest echo
sharp ocean
#

how can i give ?

quaint mantle
chrome beacon
chrome beacon
#

so it's nothing new really

quaint mantle
#

Privacy Policy:
"We will be using your IP to determine the location you are at and calculate the local time accordingly"

young knoll
#

Stack sizes below 0 are treated as air

honest echo
granite owl
#

that what i always wondered the GDPR is not coverered with minecraft servers

#

so technically all servers are illegal cause they store user data without consent by default

#

xD

#

at least in the EU

honest echo
#

lmfao

quaint mantle
#

Not all, there are some servers who actually have a privacy policy and ask for consent

chrome beacon
#

Which is why larger servers like Cubecraft have GDPR popup when you first join

honest echo
#

EU be whoppin ases of mc servers one day

granite owl
#

and erase all data on leave

#

if not confirmed

#

but thats best i can do without modifying the server itself

quaint mantle
#

Technically as an European i can ask for deletion of data at any server

granite owl
#

as a european ur not even allowed to store it in the first place without expressed consent

quaint mantle
#

Oooh free lawsuits

granite owl
#

thats the problem

quaint mantle
#

Free money

eternal oxide
#

Yep I deleted all your data, honest. No need to look behind the curtain.

honest echo
quaint mantle
#

Every server in the world is forced to save ips for govermental reason

#

So that the fbi can use information

granite owl
#

the question is if its absolutely neccesseary to store the data without consent for normal operation like banned ips, but until theres a precidence case saying its cool for minecraft servers im rather careful what i do

chrome beacon
#

You really cannot say without having access to their internals

honest echo
quaint mantle
#

Btw when will the Randar exploit be patched in spigot??

young knoll
#

You can disable ip logging now

granite owl
young knoll
#

Server.properties iirc

granite owl
#

that would be absolutely wyld

#

tho i would still want to differentiate between someone who has agreed and someone who did not / refuse

#

then uuid ban them xD

quaint mantle
#

Useless space usage

#

No one cares about consent

vast ledge
#

EHHH

granite owl
#

except for laywers lingering for free money

vast ledge
#

You may want to reconsider that statement

honest echo
vast ledge
#

Yea....

quaint mantle
#

Ayo not like that

vast ledge
#

Bro

granite owl
#

xD

eternal oxide
#

wording 🙂

quaint mantle
#

I meant in terms of ip logging in mc servers

vast ledge
#

"No one cares about consent", is the first thing i read, out of context, that sounded.... rather....

quaint mantle
#

Dont use strawman fallacy on me

granite owl
#

it was fun while it lastest but that statement also doesnt need to be exploited now common

proven musk
#

ok uhm how could I move a player to a position while still respecting collision?

#

is there an easy way

#

🙏

quaint mantle
#

Velocity

vast ledge
#

You could check for another entity at the location?

proven musk
#

blocks

quaint mantle
#

Then do a raycast

granite owl
#

if u want to stop

proven musk
vast ledge
#

Check if the player is being teleported into a solid

granite owl
#

then u need to interpolate

proven musk
young knoll
#

Take the players bounding box, move it to where you want to place them, and then check for collisions

honest echo
#

simply check if player's location block and above it is not null

proven musk
#

damn

granite owl
#

the stupid answer

#

git gud in math

#

🤣

proven musk
#

yeah but thats not a perfect solution

#

I would need to make a whole goddamn custom physics system

young knoll
#

Do you just want to check if the destination is clear

#

Or the entire path

proven musk
#

no

#

I want to move the player to a location but if theres stuff in the way they will stop

#

i guess velocity is my best bet

vast ledge
#

So the entire path?

proven musk
#

yes I said no before they asked that

vast ledge
#

You should just be able to use velo and launch them in the direction

proven musk
honest echo
proven musk
#

blocks have different collisions

young knoll
#

You can check that

proven musk
#

that would have alot a jank

#

idk maybe I cant do what i want to do

honest echo
proven musk
#

without a client side mod

honest echo
#

you can make a list for such materials

proven musk
#

headache mode

#

basically im trying to make a grappling hook lmao and if the player is further away from the hook than the original distance then they will be pulled into the distance

#

which probably wont work

#

since any server lag will make it super jank

young knoll
#

Best to just use velocity for that

honest echo
#

you can launch player with velocity

young knoll
#

Believe that’s all Mojang did in the potato snapshot

vast ledge
#

Yea, just calculate the velo, and then launch em

honest echo
#

it will handle collisions itself

proven musk
#

thats what I tried first

#

it doesn't feel great

honest echo
#

mhmm

proven musk
#

since its basically a bungee cord

#

probably have to settle for removing gravity and pulling them towards the point

peak depot
#

are there any good spigot thread that are about procedual generating structres/caves?

honest echo
#

it will look super laggy

proven musk
#

yeah ill use velocity for that

vast ledge
#

Yea

#

please

#

velo is the easiest

proven musk
#

but ill freeze their velocity when the hook hits

vast ledge
#

wdym?

proven musk
#

basically the deep rock galactic grapple hook

vast ledge
#

No idea what that is sorry

proven musk
#

basically they will jump, shoot the hook, and then move linearly towards the hook point and not swing

honest echo
vast ledge
#

they wont swing

proven musk
proven musk