#help-development

1 messages ยท Page 1919 of 1

waxen plinth
#
ItemStack item = new ItemStack(Material.STONE);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName("name");
item.setItemMeta(meta);```
neon minnow
#

e.player.inventory.setItem(2, ItemStack(Material.STONE).setDisplayName)

#

doesnt work

waxen plinth
#

Yes because it's not a method of ItemStack

#

It's a method of ItemMeta

karmic grove
#

setitem?

neon minnow
#

val item = ItemStack(Material.STONE)
val meta = item.itemMeta
meta.displayName = "name"
item.itemMeta = meta

    e.player.inventory.setItem(2, ItemStack(Material.STONE).setDisplayName)
#

how do i give it to them

waxen plinth
#

You have it in a variable called item

#

What do you think

#

You just pass item instead of constructing an ItemStack there

#

It seems like you lack a basic understanding, you should probably be using java rather than kotlin and you should make sure you have the fundamentals down

#

?learnjava

undone axleBOT
low temple
neon minnow
#

Yep

#

Thank

#

It did not seem to work

#

Weird

low temple
#

why are you using Kotlin for spigot?

waxen plinth
#

.-.

#

No but I am sure this is how it works

karmic grove
waxen plinth
#

He is using kotlin

#

He did the kotlin equivalent

karmic grove
#

o ok

neon minnow
#

here

#

fun onPlayerJoin(e: PlayerJoinEvent) {

    val item = ItemStack(Material.STONE)
    val meta = item.itemMeta
    meta.displayName = "name"
    item.itemMeta = meta

    e.player.inventory.setItem(2, item)

}

https://ibb.co/4scqBZj

#

Check the link

waxen plinth
#

Is your event registered

#

Add debug output

neon minnow
neon minnow
waxen plinth
#

Just add a print statement to ensure the event handler is being called

granite burrow
#

Does anyone know how to remove this lead? Its not a real lead, but it doesn't go away unless you look at it from another angle, I feel like I have explained this very poorly lmao

The lead only breaks when the animal dies

waxen plinth
#

What do you mean it's not a real lead?

waxen plinth
granite burrow
waxen plinth
#

I don't think a lead is an entity

#

So I don't know how you would remove it if it's glitched like that

granite burrow
#

dam, other than that one visual bug this plugin works great lmao

neon minnow
#

why kotlin.Unit

waxen plinth
#

What do you mean

#

That is such a frustratingly vague question

neon minnow
#

I did what you ask me to do

#

print(e.player.inventory.setItem(2, item))

#

to "Debug"

wet breach
#

it is an entity there Redempt ๐Ÿ˜‰

granite burrow
waxen plinth
#

Is the lead attached to a fence?

waxen plinth
#

You seem to have a lack of understanding of the underlying mechanics of the code you're trying to write

#

Which is why I am recommending you use java rather than kotlin and make sure you have the basics down

#

I'm not going to spoonfeed you all the answers because you're not going to learn anything from it unless you understand why these things are happening

#

You're asking very vague questions and learning almost nothing from the answers you get, and you don't seem to have a grasp on the programming concepts you need to, which is why I linked the page on what a help vampire is, because you're being one

neon minnow
#

Lol

waxen plinth
#

What

wet breach
granite burrow
waxen plinth
#

Then you should be able to kill the leash knot

wet breach
#

yep grab its uuid and kill it dead and then you shouldn't have an issue after or maybe you will because it releases the bat?

#

oh my bad wrong one, but eh get the point >>

granite burrow
# waxen plinth Then you should be able to kill the leash knot

Sorry let me try to explain it better.

So I create a lead by connecting it to a bat inside of a fence post and it acts as a normal lead after that.

It connects fine and no issues, however the issue shows up only after the player tries to setup another lead between 2 fence posts

Im not sure why since the lead is no longer connected to the player

It also only shows up after the new lead is tied to the post

wet breach
#

does the lead get attached to the fence?

granite burrow
#

killing the bat isnt/lead knot isn't really an option as it is what makes the ropes tie together for aesthetics

granite burrow
#

let me try to record a video one sec

wet breach
#

could be a client side issue

granite burrow
#

it shows up on my alt too and after full server shut downs

wet breach
#

weird

granite burrow
#

yeah, cuz it doesn't look like a real lead since its all one color

wet breach
#

alright

#

do the minimum necessary

#

and then print out the entities

#

see if its adding an extra in there

#

if not, then you are going to have to look at the data of those fence posts/entities to see what is up

#

might be a server side issue of extra data being added for some odd reason? lmao

#

never really seen that before so I can't really say for uncertain why it would do that

neon minnow
#

Hm, i got a question
I have a string from an argument of a command and i want to conver tthis into a player so i can get their uuid how can i do this

wet breach
#

if you can't find no extra lead or data then it really is a client side issue specifically XD

#

?jd

wet breach
#

javadocs have a search function

#

search the event you are using and odds are it has something in there for doing that ๐Ÿ™‚

neon minnow
#

and what do you want me to search for exactly?

wet breach
#

what event are you using?

neon minnow
#

what are you on about

wet breach
#

idk you asked so I asked back

#

now we are at this impasse it seems

neon minnow
#

Im using

#

I just want to get a player uuid from arg[2]

wet breach
#

Maybe should see what some of those terms there reveal if you search for them in the Javadocs I linked above ๐Ÿ™‚

neon minnow
#

You sent me 1.18 javadoc anyway

wet breach
#

and?

neon minnow
#

Not using that

wet breach
#

oh, can't help you with outdated stuff anyways, not that what you are wanting changed api wise since like forever before you were using MC

#

I mean onCommand has existed for many years ๐Ÿ™‚

#

so wouldn't matter which javadocs you use to look at that

neon minnow
#

"not that what you are wanting changed api wise since like forever before you were using MC"

wet breach
#

or some of the other api stuff

neon minnow
#

what?

wet breach
#

?learnjava

undone axleBOT
neon minnow
#

that makes no sense.

#

what you just wrote

#

"not that what you are wanting changed api wise since like forever before you were using MC"

wet breach
#

it means that it wouldn't matter which API version you were looking at, the information you seek would be the same

#

it hasn't changed and what you are wanting to do is nothing new

#

in fact probably could find a ton of tutorials that will spoonfeed you this for you

low temple
#

Bro u said U canโ€™t use the 1.18 docs because ur not using 1.18 but most of the stuff is the same across versions

neon minnow
#

Ok so do any of you know how to turn arg[2] (string) (username) into a player's uuid

wet breach
neon minnow
#

So can you let me know how? Ty

wet breach
#

Bukkit.getPlayer(String name).getUniqueId();

neon minnow
#

'getPlayer(String!): Player!' is deprecated. Deprecated in Java

wet breach
#

it sure is, but isn't unusable either

neon minnow
waxen plinth
#

In kotlin it will just be uuid

#

Again, you need to understand the language you're working with

low temple
#

You should really think about switching to Java if youโ€™re gonna ask about spigot programming

neon minnow
#

Unresolved reference: uuid

low temple
#

99% of spigot programmers use Java

wet breach
waxen plinth
#

Kotlin abstracts away getter calls and makes them accessed like fields

waxen plinth
#

We're not going to walk you through every tiny little error

#

You should be able to figure some of these things out on your own

wet breach
#

doesn't your IDE give you a list of methods you could select from that?

waxen plinth
#

Put more time into learning the fundamentals of java, then go to kotlin

#

You are making it much harder than it needs to be to help you

#

And trust me, I am saying this to help you

#

You will be much better off learning the fundamentals than relying on other people to solve every minor problem you run into

wet breach
#

Also I don't know kotlin so I can not translate java to kotlin that is on you XD

waxen plinth
#

I'm not great with kotlin but I've used it a bit

#

I prefer java

wet breach
#

Better then me probably ๐Ÿ˜›

waxen plinth
#

It's worth noting that you can have java files in a kotlin project and vice versa

wet breach
#

I am aware

waxen plinth
#

I would recommend sticking with java because kotlin is a more complicated and less beginner-friendly language

#

It's far less explicit and hides away a lot of details

#

1.14

wet breach
#

you beat me to it ๐Ÿ˜ฆ

neon minnow
#

java.lang.NullPointerException: null
print(Bukkit.getPlayer(args[2]).getUniqueId());

I am trying to convert username to uuid but dont seem like it works

waxen plinth
#

Why, what are you trying to do?

low temple
#

If he wants to use Kotlin he needs to learn the language itself more rather than running before he walks

neon minnow
#

java.lang.NullPointerException: null

waxen plinth
low temple
neon minnow
waxen plinth
#

We are not here to do every step of it for you

low temple
wet breach
#

the index you think the username is at is incorrect

neon minnow
wet breach
#

I am pretty sure it is 1

low temple
waxen plinth
#

If you have 2 arguments

low temple
#

like the full thing

waxen plinth
#

And the second argument is the username

#

Then that would be [1]

low temple
#

the full command you are trying to execute

wet breach
#

yep what Redempt said

#

and if there is only 1 argument its at 0

#

๐Ÿ˜„

waxen plinth
#

But seriously it's getting very frustrating trying to help you because you only seem interested in getting what's right in front of you working

#

Which is an absolutely terrible approach

low temple
#

/command thing1 thing2 thing3 thing1 is arg[0] thing2 is arg[1] and so on

wet breach
waxen plinth
#

If you're going to continue like this I won't help you anymore

wet breach
#

?spoon

undone axleBOT
#

Spoonfeed a newbie for a day and they'll come back with more questions. Teach them to find their own answers and you'll both be better off: you won't get stuck answering the easy questions and they'll be much more productive than before.

waxen plinth
#

Find your own answers

neon minnow
#

Im just still learning

waxen plinth
#

Stop using kotlin

#

Go to java

neon minnow
#

Please dont tell me what to do

#

pls

waxen plinth
#

And follow some tutorials until you get comfortable with it

neon minnow
#

Yes

#

Alread ydoign that

waxen plinth
low temple
#

LMAO

waxen plinth
#

Lmao

low temple
#

WTF??

waxen plinth
#

I'm done with you man

#

I'm not going to help you anymore if that's your attitude

tender shard
#

lmao

granite burrow
waxen plinth
#

@quaint mantle look at this clown

wet breach
# neon minnow Im just still learning

This cool you are still learning but you also have to understand the community you are asking for help from. If you can't learn to help yourself especially after we have pointed you in resources to do so, then you won't survive long in this community

tender shard
neon minnow
#

ssh

granite burrow
low temple
granite burrow
#

cuz that could be the issue here

neon minnow
tender shard
#

what is this actually all about? I just joined

wet breach
#

oh noes you woke everyone up ๐Ÿ˜ฎ

low temple
low temple
neon minnow
#

uhhhh

tender shard
#

can some1 summarize to me in one sentence what this discussion is about pls?

waxen plinth
neon minnow
tender shard
low temple
waxen plinth
#

We're angry becausse you expect us to give you all the answers without putting in any effort on your own

wet breach
neon minnow
#

uh no i dont think so

tender shard
#

okay I'll contribute

#

@neon minnow

#

don't listen to all those jerks

#

listen to me instead

wet breach
#

lmao

tender shard
#

please just do this

#

?learnjava

undone axleBOT
tender shard
#

lol

low temple
granite burrow
#

LMAO

waxen plinth
#

Already linked that

tender shard
#

ok lmao

#

sometimes people need to get this link 20 times

waxen plinth
#

He has ignored every single time we've tried to get him to switch to the simpler language and learn the basics before diving in the deep end

neon minnow
#

i already got help with the thing i needed anyway

waxen plinth
#

Okay see you in 20 minutes when you run into the next brick wall

low temple
#

He doesnt understand that he can look up his own problems rather than asking people about language related issues

tender shard
wet breach
#

well I mean idk, we linked 5-6 different resources for learning purposes?

waxen plinth
#

I'm perfectly happy to help people with language related issues here if they show that they're actually trying to solve their problems and learn on their own

tender shard
#

read the message and you'll know what to do

wet breach
#

need to use the appropriate load and save methods

waxen plinth
#

I haven't used the normal config library in a long time

wet breach
#

probably foreign to you by now

tender shard
waxen plinth
#

What I'm wondering is if it's just an issue with a plugin they didn't even write

#

So they came in here and just posted it without reading any of the channel descriptions

#

This place needs better moderation smh

wet breach
#

well if that message isn't from the API I would suspect so ๐Ÿ˜›

wet breach
#

we probably confused them just as much as they confused us ๐Ÿ™‚

waxen plinth
#

Did you write that plugin

tender shard
#

?paste your code

undone axleBOT
waxen plinth
#

If you did not write the plugin then this is not the place to ask

wet breach
#

well, uh saving a config is not loading it

tender shard
#

this code will never trigger the message you've sent

waxen plinth
#

What are you even doing with the config variable

wet breach
#

alright I think I am going to go back to my game lol

#

not sure if I can handle more of this novice stuff XD

waxen plinth
#

I can't even plug my library to beginners ๐ŸŒš

tender shard
#

.....and i stillllllll havent foouuuuund what I'm maven for

wet breach
#

you need help with maven?

#

or just trying to see what new thing you can make it do?

tender shard
wet breach
#

Ah

#

U2 is a good band ๐Ÿ™‚

tender shard
#

sorry ๐Ÿ˜„ didnt want to cause confusion ๐Ÿ˜„

wet breach
#

think it happened anyways for someone here ๐Ÿค”

waxen plinth
#

U2

#

Do they still make music

#

Ok apparently they do, there's something from 2 months ago

wet breach
#

yeah

#

you might have been thinking of UB40?

waxen plinth
#

Never heard of them

#

I don't really listen to rock so I don't keep up with U2

wet breach
#

not entirely sure if I would say UB40 is a rock band

waxen plinth
#

Well I've never heard of them so I wouldn't know lol

wet breach
# waxen plinth Well I've never heard of them so I wouldn't know lol

The official music video for 'Red Red Wine' by UB40, from the album โ€˜Labour Of Loveโ€™.

Explore more music from UB40: https://UB40.lnk.to/Essentials
Watch more official videos from UB40: https://ub40.lnk.to/WatchMoreID

Follow UB40:
Facebook: https://ub40.lnk.to/FacebookID
Instagram: https://ub40.lnk.to/InstagramID
Twitter: https://ub40.lnk.to/...

โ–ถ Play video
waxen plinth
#

Oh I've heard this one

#

Guess I just never knew the name of the band

#

Not my kinda music regardless

wet breach
#

lol

#

red red wine is their most popular song

#

hence I linked it ๐Ÿ˜›

karmic grove
#

so if someone made a plugin using 1.13 api for 1.17 server do i need to change anything in the maven dependencys

waxen plinth
#

No

sharp flare
#

May I ask what TAG contains all grass, or flowers

#

Replaceable_Plants doesn't exist on 1.18 spigot api

waxen plinth
sharp flare
#

replaceable plant does not exist, deperecated?

#

or renamed?

worldly ingot
#

It's there for me

#

1.18 Pre-5

#

Tag.REPLACEABLE_PLANTS

sharp flare
#

oops my bad was using

prime musk
#

Is it intended that if you register new team with plugin it does not show on the list when doing /team list ?

#

I even wrapped the code in try and catch, to see if something weird happens but it adds the player to the newly registered team etc. but it just does not show it on /team list

sharp flare
#

show the code for others to see

prime musk
#
public void CreateTeam(){
        getLogger().info("Setting up new team!");
        try {
            ScoreboardManager sbm = Bukkit.getScoreboardManager();
            Scoreboard sb = sbm.getNewScoreboard();
            noname_team = sb.registerNewTeam(getName());
            noname_team.setAllowFriendlyFire(true);
            noname_team.setOption(Team.Option.NAME_TAG_VISIBILITY, Team.OptionStatus.NEVER);
            noname_team.setOption(Team.Option.DEATH_MESSAGE_VISIBILITY, Team.OptionStatus.NEVER);
            getLogger().info("Team has been setup!");
        } catch (Exception e){
            e.printStackTrace();
            getLogger().severe("Something went wrong while trying to create the team, please check logs!");
        }
    }
#

and adding player to the team

@EventHandler
    public void PlayerJoin(PlayerJoinEvent e){
        Player p = e.getPlayer();
        plugin.noname_team.addEntry(p.getName());
        plugin.getLogger().info(p.getName() + " added to the team " + plugin.noname_team.getName());
    }
#

don't worry about indentations... the copy paste f*ks them up when sending to discord..

wet breach
prime musk
#

yes I'm

wet breach
#

I wonder if it only shows if there is more then 1 team

prime musk
#

๐Ÿคทโ€โ™‚๏ธ

wet breach
#

try creating a second team and put a random entity in it

#

and then see if it lets you list the teams

prime musk
#

or maybe it does not show it at all because it is created by plugin and when the plugin is not tracking it anymore

#

idk how to explain it but

wet breach
#

well yeah if you lose the reference it tends to go away

neon minnow
#

PacketPlayOutPlayerListHeaderFooter packet = new PacketPlayOutPlayerListHeaderFooter();

How can i do this in Kotlin?

prime musk
neon minnow
#

im trying to recreate this

prime musk
#

Maybe it does not just show it

wet breach
# prime musk

Well it is a weak reference type so, that means you need to hold your scoreboard instance somewhere like a List or HashMap etc

#

if you lose that reference because you don't have a way to get back to the object, then it dies

prime musk
#

I'm holding it in my main class

wet breach
#

Well then I am uncertain, it should list the team

prime musk
#

Yeah

#

Whelp

wet breach
#

that is a team

#

ScoreBoard is the Object that essentially holds all the information in what you are setting up, if it goes away so does everything else it contained as well

prime musk
#

but if it would go away, it would throw an error on playerjoin event when trying to add player to the team, right?

wet breach
#

not necessarily

prime musk
wet breach
#

yes and no anyways I am uncertain as to why that command isn't listing your team

#

so I will let someone else better quipped to handle this XD

#

I don't use SB's all that much

prime musk
#

Same, it's just strange

#

Neither do I :D

#

First time

#

Okey I fixed it, idk if you care but it was to do with .getMainScoreboard() and .getNewScoreboard()

rancid snow
#

how can I get every block that has a blockentity when placed

wet breach
#

the last one gets a new scoreboard instance

prime musk
#

MainScoreboard was the one linked with minecraft's scoreboard commands

wet breach
#

and that too

#

glad you solved it ๐Ÿ™‚

prime musk
#

thanks for trying to help!

tranquil viper
#
EntityType cat = EntityType.CAT;
player.getWorld().spawnEntity(loc.add(0,1,0), cat);```
anyone know why this isn't spawning a cat?
#

System.out.println(cat.isAlive() + " " +cat.isSpawnable());
both return true

#

nvm it was related to my worldguard flags

prime reef
#

Question: does death affect a player's persistent data container?

prime reef
#

excellent, thanks

sterile token
#

Finally I decided to instead of modifying a spigot and bungee. For adding this custom packet sender and receiver. I can just do it as a library

wet breach
#

o.o

sterile token
#

Better idea right?

#

Cuz If not they will always need custom backend for loading the plugins

#

And sorry for the tag

wet breach
#

not sure what you are making, but libraries work too ๐Ÿ™‚

sterile token
#

That you Where helping me before

wet breach
#

ah right

sterile token
#

I will do it just as library and load it from bungee and spigot plugin

wet breach
#

well wouldn't make sense to do it as a library I don't think, unless you are intending to enable other plugins to cross communicate without the need of bungee

sterile token
#

The problems is that if not they are oblice to use custom spigot and bungee

#

That why im thinking to do it a library. And the load it from each side

wet breach
#

I didn't really understand that

sterile token
#

Like instead of coding the backend side for sending and receiving data, directly on the spigot and bungee (them compile it). I will put that backend inside each plugin (bungee and spigot side). Because if not they will need to use that spigot and bungee jars

#

Understood?

wet breach
#

I was under the impression this was already a plugin thing, I didn't know you were modifying server code directly lol

sterile token
#

Omg I dont explain myself

#

Oh lol

#

I never told it?

#

So you recommend me as plugin in each side right?

#

I think that its the better idea

wet breach
#

maybe you have and we didn't realize? But I think everyone assumed it to be a plugin thing because not many people here go about modifying the server code ๐Ÿ˜›

wet breach
#

and like I said I believed this was the route you were going all along XD

sterile token
#

Doable u dont understand

wet breach
#

so all my advice was related to plugin ๐Ÿ˜›

sterile token
#

Ok. Really thanks

#

I will keept your recommendations

#

It will take more than a moth. But i dont care because with pacience I can do it

wet breach
#

Yeah taking your time is probably the best, no need to rush if there isn't a reason for doing so

sterile token
#

As I did my Menรบ api I take 2 weeks asking and asking and finally I do it

#

Im think im really good. But with no rush. And not doing if I dont want

#

Like if want to do something I dont work on it every day. Sometime I want to play

wet breach
#

Well, you get better over time and so far you seem to being doing good at the pace you are doing it ๐Ÿ™‚

sterile token
#

Oh thanks

#

Really good perdรณn

#

Person*

#

Every time needing helping trying to help

#

I really apreciate

wet breach
#

well as the old sayings go, have to give a little to receive a little

sterile token
#

Oh I just realized you were not a helper

#

I thought you were a helper

wet breach
#

not a staff helper no, but a helper I am ๐Ÿ™‚

sterile token
#

Yes

quaint mantle
#

he helps more than i do of recent

sterile token
#

Yeah

#

I think people General ly helps more than staff

#

But but it understsble

wet breach
#

its like a routine in this community of the old members. We are active for a period of time and sort of take over while someone else takes a break for while

#

then we have a period where everyone gets together and is active

sterile token
#

Cuz you are not being paid. Or at least that its what I think

wet breach
#

and then the cycle repeats ๐Ÿ˜„

quaint mantle
#

i was one the most active helper when i was out of town (family issues) and only had my phone and a sports TV

#

and a shitty motel room

sterile token
#

Imagine

#

Did you change your nick?

#

Werent you called Adelemphi?

wet breach
#

they are two separate people

quaint mantle
#

@ancient plank

wet breach
#

I would imagine some things becoming more efficient in that manner

sterile token
#

Oh. I really get confused. Oh I will take a phill. I just came to home from being drinking voodka with sprite and my head its about to explode

vocal cloud
#

I mean you can only take so many kids who think they can learn java through Spigot every day.

river oracle
#

I can learn java through spigot just trust me bro

wet breach
#

unless we speaking of hangovers you need a small bit of caffeine and water

river oracle
sterile token
#

The problem I have is that I cannot work everytime in a Project because one day I dont want to work bexusse iget tired

#

I think im the only one

#

Like 1 day work on Project next 2 days do other things. And then its change

wet breach
#

you technically can learn java through spigot, however generally you have to have an understanding of concepts or be able to understand concepts with relative ease

vocal cloud
#

You get burnout literally the most common thing people get

sterile token
#

What its burnout?

wet breach
#

you are not the only one that has days they don't want to work on their projects

#

some of us like to take 2-3 month breaks from such things ๐Ÿ˜›

#

like me for example

#

I haven't worked on a java project code wise in probably the last 2 months but I still provide advice and help with Java related things ๐Ÿ™‚

river oracle
# wet breach you technically can learn java through spigot, however generally you have to hav...

Spigot was the first time I ever interacted with java. Though it wasn't all bad because I had some basic concepts down from python / other scripting languages. My view of OOP was flawed because I hadn't dealt with the ideas surrounding it so my early code was really bad and i just kept redoing it as I learned more. I did have the luxury of having a personal experienced java dev help me along the way.

sterile token
#

I dont understand "difficult" concept likes async and sync. Thread locking

sterile token
#

๐Ÿคฃ

wet breach
#

well don't worry, some of the experienced developers still have issues with multi-threading

#

or still have yet to fully understand it

sterile token
#

CompleteFuturable is async

vocal cloud
#

I think the hardest thing for a lot of people is stuff like pattern design which cuts out a bulk amount of work when done right

sterile token
#

What others things you have like Consumer

vocal cloud
#

Supplier as well

sterile token
#

I abuse about consumerz

#

Imagine just for doing my Menรบ api I used consume for 3 different object

wet breach
vocal cloud
wet breach
#

you would think I would be more into python

#

because I am more of lets get it working before we make it look pretty

sterile token
#

People I finally stopping to smoke marihuana

candid plover
#

Does pulling too much information from the config cause lag?

sterile token
river oracle
wet breach
vocal cloud
candid plover
wet breach
river oracle
wet breach
#

you mean saving it

sterile token
wet breach
#

config changes happen in memory

#

until you call save

vocal cloud
#

A lot of people replace databases with config files

sterile token
#

I dont think I was reading more than 100 yaml files and them converting each yaml data to Object

#

And Server never goes down 19 tps

candid plover
#

Is it feasible to develop a system of houses per yml of each player?

wet breach
# sterile token Thanks the big problems is that Im just 15 old

probably wise to not be using that being that young, but it also isn't for me to dictate how people should do things either. So I can only go based on how I feel about the stuff and that is, if its causing you problems then yeah probably should stop doing it, if it is solving a problem or helping with a problem(depends what kind obviously) then probably not a bad thing either ๐Ÿ™‚

sterile token
#

If possible use a database for saving

vocal cloud
#

Use a database for that much data. You'll save yourself so much pain

wet breach
#

file based storage isn't very efficient and since you can potentially have a thousand or so player files

sterile token
#

Yeja

wet breach
#

best to go with a proper DB

#

like Verano said

sterile token
#

I used to had lot of pain problems converting many yamls data to Objects class and them adding to a repository manager

river oracle
#

Whats a good database to use for spigot Doesn't it have something built in to the API I forgot tbh and I've never used a database before lol.

vocal cloud
#

SQL is nice

sterile token
#

I will straight use MongoDB

vocal cloud
#

Mongo is a bit heavy for what it does

sterile token
#

But use the one you best like

river oracle
vocal cloud
sterile token
river oracle
candid plover
#

Does it cause lag when pulling directly from the database?

#

๐Ÿ˜ณ

vocal cloud
candid plover
#

i`m using HikariCP

#

and Mysql

vocal cloud
#

SQLite for example doesn't work if 2 things try to access it at the same time

sterile token
#

Rember HikaryCp its not a db. Its a pool manager

#

๐Ÿ‘

river oracle
karmic grove
#

Someone told me in order to use javacord i need to shade it how would i do that

candid plover
#

i`m using mysql

#

๐Ÿ‘‰ ๐Ÿ‘ˆ

vocal cloud
#

Javacord? JDA gang where u at

river oracle
#

I code my discord bots in Python lol

sterile token
#

Lmao

#

I used to make bot don node js

karmic grove
sterile token
river oracle
# karmic grove Yep

go on goolge and look up how to shade a dependency maven I give you a 10,000% you find a good answer

sterile token
#

Just do it like this

candid plover
#

Does developing a warps system and pulling the information directly from the database cause lag?

candid plover
#

im using mysql

karmic grove
sterile token
#

First on build add plugin maven-shade-plugin

candid plover
sterile token
#

I shade using maven-shade-plugin and them I shade every maven lib to my application libraries package

#

Good idea?

wet breach
#

probably not

sterile token
#

Okay why!

wet breach
#

should only shade what is required and will most likely not be present on the server

#

an example hikaricp

sterile token
#

Yeah I know

#

I only shade the package I need inside my app

wet breach
#

but if you depend on another plugin however, best you don't shade it in ๐Ÿ˜›

sterile token
#

I worked with maven since a year

#

I think its called refactoring. Cuz for example I shade mysql

From org.mysql

To dev.alex.net.libraries.org.mysql

hardy swan
#

It is officially called relocating, but same thing

sterile token
#

All allright

#

Wait

#

Would that be better the one on top or downloading the library from repo and them loading to JVM?

#

I always have that dude

vocal cloud
#

As long as you don't use reflection to load the libraries at runtime

hardy swan
#

You can use the libraries thing in plugin.yml

#

Though i have never touched that

sterile token
#

Problem every doesk tonos

#

I only code 1.8x*

#

Im stuck to dont use newer versiones

#

Im think its because i had bad experience with jdk 18

hardy swan
young knoll
#

Pull warps at startup and itโ€™s not an issue

candid plover
vocal cloud
#

Which is why you reflect it into memory

hardy swan
#

You can have an adapter

#

Which stores certain information locally

wet breach
#

especially now given unix sockets are native in Java ๐Ÿ™‚

candid plover
#

I thought of putting a hashmap

hardy swan
candid plover
#

I thought of putting a hashmap

wet breach
#

for unix sockets yes, but if its not you use a separate thread for the connection

candid plover
agile sinew
#

how to remove lore in banner pattern

vast jackal
hardy swan
# candid plover yes

I mean, I can't guarantee that's what you intend to do. Or for the long future

wet breach
vast jackal
#

hi I got a custom items on my server can I sell custom items using essnetials economy

void wraith
#

What is the problem with the mysql?

hardy swan
#

There is?

candid plover
#

I made a system to cache player information, but how do I store several houses?

sterile token
candid plover
#

import org.bukkit.Location;

import java.util.UUID;

public class LBLocation {

    private UUID uuid;
    private Location location;

    public UUID getUUID() {
        return this.uuid;
    }

    public void setUUID(String uuid) {
        this.uuid = UUID.fromString(uuid);
    }

    public Location getLocation() {
        return this.location;
    }

    public Location setLocation() {
        return this.location;
    }

}
vast jackal
quaint mantle
#

you should do this asynchronousity, and, if it is called oftenly, cache

candid plover
#

private static final HashMap<UUID, ?> cacheLocation = new HashMap<>();

hardy swan
hardy swan
#

What is the primary key

candid plover
#

uuid

hardy swan
#

Ok then

#

You can always create a class for records

sterile token
#

I prefer using Hasmap when need to cach uuid and data object. And then for caching data like reports, coldowns, punishments, etc I use hashset

void wraith
#

What I use in my warp plugin? Sqlite or Mysql or File configuration?

fluid nacelle
#

Do any of you know of any decent itemstack serializers/deserializers that takes up 1 string instead of 4, similar to Essentials? Also, I'm after a nice GUI API for 1.18. Any ideas?

hardy swan
sterile token
#

You should work lime this:

Hashmap<Uuid, a playerObject>

sterile token
candid plover
#

So I need by UUID and the home object in the hashmap

sterile token
#

Yeah I wilm call

candid plover
#

Exemple

#

private static final HashMap<UUID, (UUID, LBLocation) > cacheLocation = new HashMap<>();

sterile token
#

He??

#

No no

#

Just <Uuid, HomeDats >

#

And home data will be a class

candid plover
#

import org.bukkit.Location;

import java.util.UUID;

public class LBLocation {

    private UUID uuid;
    private Location location;

    public UUID getUUID() {
        return this.uuid;
    }

    public void setUUID(String uuid) {
        this.uuid = UUID.fromString(uuid);
    }

    public Location getLocation() {
        return this.location;
    }

    public Location setLocation() {
        return this.location;
    }

}
#

this is my home class

hardy swan
sterile token
#

Leonardo

candid plover
#

How am I going to add several houses to a single player in the hashmap?

sterile token
#

I will be Hashmap<Uuid, K Location>

#

Fucked corrector

hardy swan
jagged thicket
#

can u use minimesage in spigot

sterile token
#

Thanks!!

#

๐Ÿ™‚

#

How you want mรบltiple homes?

#

You will need to do it different

candid plover
sterile token
#

The code below its for 1 player having 1 home

#

You will have something lime this.

candid plover
#

Each house will be individual in the database

sterile token
#

Hashmap<Uuid, Set<LBLocation>> homes

candid plover
#

If a player has 10 houses, how do I put the 10 in a hashmap?

candid plover
sterile token
#

Code changed

#

I dont rember how to add the home object

#

Check how add value to a Set that its inside a Hashmap

#

Google its your best friend now

candid plover
#

getHome(UUID uuid, String homeName)

#

hmm

#

i put uuid, homename, and location in mysql

sterile token
#

Wait wait

#

Forglt about mysql

#

You will hsve really difficult with mysql. Your will need to use relstional tables

#

Cuz on mysql you cannot save Objects

#

But for nos

#

I explain the cache let say

#

Them ask how to save it

#

Omg its really difficult to help from cellphone

#

Cuz from pc I write the example on intellij

#

With copilot

candid plover
#

๐Ÿ˜ณ

sterile token
#

Tomorrow at 8 pm Urugyan I will be at home

#

I will help you

wet breach
sterile token
#

Oh lol

#

I didn tknow

#

Frodt

wet breach
#

but, setting up the tables and what not is also not hard either

sterile token
#

I dont remember how he add the object to the Set

hardy swan
#

Im so confused as to what he need help with

sterile token
#

Cuz he will have mรบltiples homes for each player

hardy swan
#

Ok?

sterile token
#

He doing a home system

#

Each player can have may homes

#

So i give him the Hashmap strucutre for the cache

candid plover
#

yes

hardy swan
#

Ok?

wet breach
#

You explained to him the necessary objects already and you don't need a set, but another Map would probably be better since homes can have names ๐Ÿ™‚

sterile token
#

Using 1 map inside another one. Maow didnd recommend

#

You too frodt

wet breach
#

HashMap<UUID, HashMap<String,LBLocation>>

sterile token
#

Yeah

#

And how add things to 2 Map?

#

Mhn

wet breach
#

HashMap().get(UUID).get(String)

candid plover
hardy swan
#

Yes leonardo

wet breach
#

certainly

candid plover
#

ohh

#

thx

#

๐Ÿฅฒ

sterile token
#

map1.put(key, map1.get(key).put(key, value))!!

#

So?

hardy swan
#

This are some basic java

hardy swan
sterile token
#

I never worked with 2 mapa together

#

Ah

wet breach
#

example code stuff for caching

sterile token
#

Still difficult to put data

wet breach
#

feel free to look through all the rest of the classes too it is open source after all ๐Ÿ™‚

sterile token
#

Cuz to initialize 1 map you have to add data

#

๐Ÿ˜‚

wet breach
#

might find something useful in it ๐Ÿ˜›

wet breach
#

you can initialize empty maps

#

data isn't required

#

just easier

vocal cloud
#

new HashMap<>

sterile token
#

Ahh

#

I will still use my option

#

And the set with filter

wet breach
#

well I linked a project that contains some very useful code either way ๐Ÿ˜‰

sterile token
#

๐Ÿ‘

hardy swan
#

There must be reasons why manya discouraged the use of double map

sterile token
#

I prefer using Set + Filter

#

I wont never use 1 map inside other Map

wet breach
#

but since it is easier for players to name their home sets a map is going to be more ideal for that

hardy swan
#

I would say creating a custom key class would be optimal

sterile token
quaint mantle
#

reject 2d maps

sterile token
quaint mantle
#

accept guava tables

sterile token
#

๐Ÿ’ฉ

quaint mantle
#

You know it is built-in in spigot

hardy swan
#

Accept HashMap<UUID, ? extends Map<String, Location>>

#

Jk dont flame

sterile token
#

Why lmao dont complicarte his life

#

Fucked corrector

#

Complicate*

hardy swan
wet breach
# quaint mantle accept guava tables

tables are similar to a DB design. Guava tables are good for larger data sets, like in the millions, but if you have anything less than a few hundred thousand hashmaps are going to either have same or better performance. If this is why you are recommending tables. However we shouldn't be do pre-optimization stuff when there isn't an inherent need for it.

quaint mantle
#

I do
Table<UUID, String, Location>

table.get(uuid, string)
table.put(uuid, string, value)

quaint mantle
sterile token
#

Just use simple Map with uuid and Set object. Inside object the home name, loc, etc

Then just for get the home get it with

Object getHome(Uuid, Name) return Map.get(uuid).stream.filter(i -> I.quals(name)).findFirst().orElse(null)

wet breach
#

Table<String, String, String> relations = HashBasedTable.create();

addRelationships1(dataSource1, relations);
addRelationships2(dataSource2, relations);

Map<String,String> idByName = relations.column("hasId");
Map<String,String> nameByFullName = relations.column("hasName");


relations.put(id, "hasFullName", fullname);
relations.put(relations.remove(id,"hasFullName"), "hasName", name);
relations.put(name, "hasId", id);

looks like more then just a fancy 2d map wrapper

wet breach
#

Anyways, my point still stands however. Hashmap is going to be fine with what they are needing/wanting it for

#

maybe once their data set gets into the millions sure switch over to Tables

quaint mantle
#

Table is just eaiser to use, and does the same thing

wet breach
#

opinion really on that first one

hardy swan
wet breach
#

I mean there is nothing difficult about a HashMap

quaint mantle
#

yes you cant

quaint mantle
#

DRY

wet breach
hardy swan
#

The compiler cannot know the actual implementation of the key

#

And hence cannot accept anything other then null

wet breach
#

it is an unchecked cast

hardy swan
#

So for example, HashMap<UUID, HashMap<String, Location>> is a possible implementation

wet breach
#

you are allowed to do it, just the runtime can't be certain that whatever gets put through it is what it should be

#

and therefore it is on you to ensure the integrity of the object

hardy swan
#

Not unchecked cast

#

You simply cannot put anything inside

#

Lemme simplify this

#

If you have HashSet<? extends Number>

wet breach
#

what do you mean put inside? You would be allowed to use it as I just said. All that is happening here or the issue you are describing is one of the downfalls of working with generics

hardy swan
#

It isnt a downfall, it is just how it is

#

The program cannot compile

hardy swan
wet breach
#

it will compile

#
public void putAll(Map<? extends K, ? extends V> map) {
 for (Entry<? extends K, ? extends V> entry : map.entrySet()) {
  checkArgument(apply(entry.getKey(), entry.getValue()));
 }
 unfiltered.putAll(map);
}

telling me this won't compile?

#

generics don't prevent compiling, they prevent automatic integrity checks from the runtime and thus it is on you to create such checks yourself

hardy swan
#

I guess you dont understand what im saying

wet breach
#

maybe not? But you could still put data into it if that is what you are saying

#

I don't see where generics would prevent it

hardy swan
#

Lemme write a class to illustrate it

chrome beacon
#

Try giving it an Integer instead of an int

wet breach
#

yeah you are using a primitive

#

literals are synthetic primitives

hardy swan
#

same thing

#

as said, the compiler must ensure that what is added is correct as of all possible implementations

#

that is, accepted by HashMap<Double>, HashMap<Integer>, HashMap<Long>, etc.

#

which means it cannot accept anything other than null

hardy swan
hardy swan
#

useless in the sense that you cant add, that's all

wet breach
#

you are right now that you illustrated. Anyways you can read from it which means you can assign a collection to that has data

wet breach
#

instead of extends

#

use super ๐Ÿ˜‰

#

however the reverse would be true from extends

#

you could add but you couldn't read

#

no it isn't

#

you wouldn't be able to read it

hardy swan
#

sorry yea

hardy swan
wet breach
#
List<? super Number> foo3 = new ArrayList<Object>(); 

//You can't read the specific type T (e.g. Number) from List<? super T> because you can't guarantee what kind of List it is really //pointing to. The only "guarantee" you have is you are able to add a value of type T (or any subclass of T) without violating the //integrity of the list being pointed to.

List<? extends Number> foo3 = new ArrayList<Integer>();

//You can't add any object to List<? extends T> because you can't guarantee what kind of List it is really pointing to, so you can't //guarantee that the object is allowed in that List. The only "guarantee" is that you can only read from it and you'll get a T or //subclass of T.
#

so as I said I agree with what you were saying about extends

#

just if you need to add anything to it, you just substitute out extends for super ๐Ÿ˜›

#

but again you have one end of the extreme you encounter problems with

#

you could add to it but never read from it or you can read from it but never add to it lol

bright jasper
#
@Entity
@Table(name = "players")
public class PlayerInfo extends Model {
    public static PlayerInfoFinder find = new PlayerInfoFinder();

    @Id
    long id;

    @NotNull
    @Column(unique = true)
    public UUID uuid;

    @NotNull
    @DbComment("Weather the user has verified their discord account linkage")
    public boolean verified = false;

    @NotNull
    @Column(unique = true)
    @DbComment("Players discord ID")
    public String discordId;

    @Unique
    public String verificationMessageId;

    public PlayerInfo(
            @org.jetbrains.annotations.NotNull UUID uuid,
            @org.jetbrains.annotations.NotNull String discordId,
            @org.jetbrains.annotations.NotNull String verificationMessageId) {
        this.uuid = uuid;
        this.discordId = discordId;
        this.verificationMessageId = verificationMessageId;
    }

    public PlayerInfo setVerified(boolean verified) {
        this.verified = verified;
        return this;
    }
}

finally got ebean working

#

automatically supports every sql database, auto generates queries and migrations

#

๐Ÿ™

hardy swan
wet breach
#

you can read it of specific type if you wanted

#

just there is no guarantee that it is of specific type

#

List<? super Number> listSuperNumber_ListNumber = new ArrayList<Number>();

#

this is valid

hardy swan
#

that's exactly what I meant...

short raptor
#

Hey guys, what could cause
java.lang.NullPointerException: Cannot invoke "org.bukkit.command.PluginCommand.setExecutor(org.bukkit.command.CommandExecutor)" because the return value of "org.bukkit.Server.getPluginCommand(String)" is null
on one server but not another when the plugin version is exactly the same?

wet breach
hardy swan
#

i saw sth similar but with depth

#

like mind blown

vocal cloud
#

ASCII text

hardy swan
#

it is a donut shape

vocal cloud
#

Oh I've seen it

#

Of course it's written in C

wet breach
hardy swan
#

it is as easy as ABC

vocal cloud
#

C developers don't got a lot else to do

wet breach
#

lol

dull whale
#

I want mobs to float in sky, but have normal api they shouldnt go up nor down exactly like players' fly mode how can I do that

vocal cloud
#

Create a barrier block underneath where they walk?

dull whale
#

would they move

spiral light
#

api ?

#

xD

dull whale
#

bruh

#

what im saying

spiral light
#

i think your talking about AI

dull whale
#

ai

#

yes

spiral light
#

it will not remove AI

#

would be dump

#

but i think their code is designed to: if not on ground: dont move

dull whale
#

i thought the only way to move no gravity entity is tp

spiral light
#

if the AI would be set to false they wont attack you ... but if they fly somewhere they can still attack you

dull whale
spiral light
#

why do you want to do this ?

dull whale
#

well

#

it fits to my server

#

levitation always makes them go up

vocal cloud
#

I mean you could have them ride invisible bats but they'd move vertically as well.

#

?jd

dull whale
#

is three a way to cancel sit animation

spiral light
#

packets

dull whale
#

good

#

then I can use that

vocal cloud
#

I mean the setgravity should be tested first

dull whale
#

I can make path for the bat right

#

or just slow it down n stuff

dull whale
hushed fulcrum
#

before I make a hashmap, there is no method to get the cooked equivalent of a raw food right?

spiral light
#

you can check all Recipes ^^

midnight shore
#

Hello everyone! I'm currently trying to make an ArmorStand go from a point to another using teleports, I'm using this method that you can see in the photo, and I want to make 2 things: the ArmorStand should move also in the y axis (currently it only works horizontally) and i also want to make it move in a specific time... as you can see i'm parsing a total_time_in_seconds value and i want the armorstand to be at the b point in that specific time...
Can someone help me please?

spiral light
#

looks strange and too complicated to use Math cos/sin stuff

midnight shore
#

i found that online... i thought it was the easiest way ๐Ÿคฃ

spiral light
#

i would use LocationB - LocationA = DifVector
DifVector.normalize.multiplay(distance_per_second_or_tick)

quiet ice
#

I'd just use something like

double xDist = src.getX() - dest.getX();
double yDist = src.getY() - dest.getY();
double xPerTick = xDist / ticks;
double yPerTick = yDist / ticks;

Location loc = src.clone();
foreachtick -> {
    loc.add(xPerTick, yPerTick, 0.0);
    entity.teleport(loc);
}
midnight shore
quiet ice
#

The least computationally expensive implementation

spiral light
quiet ice
#

Just make sure to use cancel the task when it needs to be

midnight shore
#

ok

#

It is working but not quite.. it is going in the right direction but not in the z axis...

quiet ice
#

you need to do the same with the z axis

#

really easy

midnight shore
#

okk.. tysm

hushed fulcrum
#

how do I check if a blocktype is equal to fire? when i do getType().equals(Material.FIRE) it always returns false even if the type returns as FIRE. If i change it to for example oak planks it does work.

midnight shore
#

Tysm! It worked perfectly @quiet ice

#

Hi guys, I was wondering if there is a way to make an entity morph into another for a specific time.

Btw, thanks everyone

quiet ice
#

You'd need to remove the entity & replace it with another and then respawn it after the specified time. Kinda lossy

midnight shore
#

So there is no way to change the entity_type?

quiet ice
#

no, because the entity type correlates with the entity class, and as you should know you cannot change the class of an object (without creating a new instance that is)

midnight shore
#

ok ty

spiral light
#

there are nms methods to "transform" the entity ... but its just copy nbt and spawn new, remove old

glossy venture
#

Because it does return FIRE from getType()

hushed fulcrum
#

yes it does but the if statement returns false

young knoll
#

Make sure your API version is set

#

Also use == for enums

midnight shore
#

Hi guys, again, I wonder if there is a way to remove the collision from an Entity... As I was doing before, I'm making the morph but I didn't remove the entity and I just used invisibility (because I also want to use it with the player) and what is happing is that the collision of the Entity overlaps with the player and it moves just by that...

Sorry for all this questions...

grim ice
#

a byte can hold numbers from 0 to 255 right

#

an integer is 4 bytes

#

to get a bigger integer limit

#

cant u just make 4 bytes

#

it will cost the same memory as an integer

#

but will have a bigger limit

#

255,255,255,255

#

thats 255billion

quiet ice
grim ice
#

what

young knoll
#

No, 4 bytes is 32 bits

young knoll
#

An int is also 32 bits

grim ice
#

this thing said that

young knoll
#

Java types are signed

quiet ice
#

except for char

grim ice
#

its different for java?

quiet ice
#

It's the same in any language

young knoll
#

Sadly Java does not provide ubyte or uint

grim ice
quiet ice
#

Also, even if you were to manually make them unsigned, how are you going to represent 300?

grim ice
#

uh

young knoll
grim ice
#

lmao

latent zephyr
grim ice
quiet ice
#

What you are searching for it BCD, but it is useless given that 6 out of the 16 possibillities are wasted for parity

grim ice
#

oh

#

u mean

young knoll
#

-127 to 128 is still 255 values

grim ice
#

okay -128 to 127 right

#

255 possible

#

yeah

#

ok ty

young knoll
#

Also the people working on computers are smart

latent zephyr
grim ice
#

but like it says 32 is a space right

young knoll
#

If 4 bytes somehow provided an advantage over 1 int, they would have realized that

grim ice
#

how would u do that in a scale of -128 to 128

#

-96?

young knoll
#

Char is unsigned

grim ice
#

i dont have a clue what that means

#

still i dont know what that means

young knoll
#

Signed = handles + and - values

#

Unsigned = only positive values

grim ice
#

o

quiet ice
#

For a moment I was confused

grim ice
young knoll
#

Shh itโ€™s half 6 in the morning

grim ice
#

but like

#

oh

#

RIGHT

#

its as u said

#

okay

#

and a byte is signed?

quiet ice
#

BCD can only encode 10 possible numbers with 4 bits while more traditional binary can encode 16 possible numbers

#

In java, yes

grim ice
#

but isnt a char a byte

quiet ice
#

Yep

grim ice
#

what the fuck

quiet ice
#

IN java that is

grim ice
#

oh so a char extends a byte

quiet ice
#

In c char = byte

grim ice
#

but it has its own implementation

#

or like a byte is an interface or smth

quiet ice
#

no, in java char = short but unsigned

grim ice
#

bru

quiet ice
#

Which is why you should use int (codepoints) to represent characters :)

grim ice
#

so using a char just makes a byte internally

#

im confused

quiet ice
#

a char is two bytes

grim ice
#

what the

young knoll
#

(16 bits)

grim ice
#

its different in java?

quiet ice
#

Yes

young knoll
#

ASCII is not all the characters

quiet ice
#

C does not have byte, only char

grim ice
#

cant they just make it the same

#

why do we need double the memory

quiet ice
#

Unicode prevents that

grim ice
#

OH

#

RIGHT

young knoll
#

255 is not enough to represent all characters

quiet ice
#

You technically need quadruple the memory now

grim ice
#

I read there that a unicode thing is like 16 bits

young knoll
#

However

quiet ice
#

No, it's more than that, which is why java is getting rid of char more or less

grim ice
#

what the fuck

young knoll
#

Modern java is smart, and strings actually use a byte[] rather than a char[]

grim ice
#

i might have to look for a guide in java then

wicked perch
#

Does anyone know how I program a BungeeCord and a Spigot plugin in a Jar?

young knoll
#

Just have both entry classes

quiet ice
#

have a plugin.yml file and a whatever-it-is-called.yml

young knoll
#

Plus a plugin.yml and whatever bungee uses

grim ice
#

for these stuff

#

that applies to java

wicked perch
#

I mean yeah i know that stuff

quiet ice
#

Common sense

wicked perch
#

but i am getting weird errors

#

and need some help :D

grim ice
#

wdym common sense

quiet ice
#

And the javadocs in the String class

young knoll
#

?notworking

undone axleBOT
#

"Does not working" is a useless statement. Please describe what exactly is not working, what you expect it to do, and what actually happens. If you get any console errors, also ?paste the entire stacktrace.

quiet ice
#

Does not working
Ah, I see I am not the only one with bad english

young knoll
#

Iโ€™m not sure if that was a typo or intentional

#

But Iโ€™m going to pretend it was intentional

quiet ice
#

Likely intentional

#

I personally have all the data types nonsense in school and for some reason many are not able to grasp it.
So don't be afraid if you do not understand this

young knoll
#

I still wish java had utypes

#

Would be nice

quiet ice
#

and then also have non-zero types so we do not get divide by 0 errors

grim ice
#

what is a hexadecimal format

drowsy helm
#

base 16

grim ice
#

still what is that

#

what is a base 16

#

and what are utypes

drowsy helm
#

so 1-10 is base 10

#

1-F is base 16

quiet ice
#

0 - 9, A - F

grim ice
#

so its a number between 0 and 16?

drowsy helm
#

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

grim ice
#

whats this then

drowsy helm
#

binary is a base2 number system

grim ice
#

if it had a max of 16

quiet ice
#

That is 2^31

grim ice
#

how is a integer max value represented in hex

#

wat

#

OH

#

right

#

f