#dev-general
1 messages ยท Page 392 of 1
...no, you are not.
You aren't
This isn't specified
Nor is it something that needs to be defined this concretely
okay maybe we're not talking about the same thing
If you did that inside a method the value of node wouldnt change though since Java is pass by value, so your not actually changing the memory adress of anything
Reference variables are just abstract containers for objects as far as the language is concerned
no its not
Yes it is lol
only primitives are pass by value
what the fuck
References are considered values though.
as far as i understand it values hold their references i think
or is that not right?
yeah so references are pointers to memory locations, no?
yeah java is pass by value
we literally had an entire fucking 3 weeks about the difference of pass by value and pass by reference in java
okay I guess I don't know anything
The language specification is not concerned with "memory locations" or anything like that at all, is my point.
Ok, Im pretty sure that since java is pass by value each object(interally) also holds their own pointer and when you call a method or something its referenceing the pointer that object has
Pointers in C are literally physical addresses
java uses with references not pointers
What reference values are is no concern of Java, the language
ya
Although they do specify them to be pointers to objects
!!!
But only in a very abstract sense. That spec has nothing to do with C-like-pointers
But since Java is pass by value dont objects internally hold something like a C pointer to a memory adress?
are C-like-pointers not the same thing except you can do arithmetic on them?
Or is that completely wrong
well you gotta know where things are somehow
Y'all stoopid, java doesn't even exist
yeah honestly Java is way too fucking complicated for my taste apparently
let's all just go back to C
lol
Yes
I love that, its so simple yet really cool
well yeah but aren't Java pointers just also numbers under the hood?
they just only are changed by the JVM or whatever
See, there we have the issue. "Under the hood"
well yeah that's what I was talking about?
I already presumed this was happening
See, you can't really make an argument about what's useful to understand Java, the language, by pointing to implementation detail in the JVM as if they were interchangeable
well my whole point was that it's useful to know how higher level languages work under the hood
I would argue it is useful to understand atleast some of the interals though. Or atleast the general idea
No one needs to and ofc you would never start a newcomer off with JVM spec stuff but in the long run it could help you
But this wasn't clear throughout the messages
okay were we talking about completely different things lol
Well good convo anyways
yea lol
Because you equated language-level concepts with JVM-level concepts at some points, for example here
I mean in the language, when you're making a linked list and you do this.node = this.node.next, you are directly modifying pointers
It's a subtle, but important distinction. happens all the time and it always leads to misunderstandings
@cinder flare Whats going on in Room 1 btw
we're judging Bardy's way of speaking lol
wow very nice of you lol
anyway, whenever a discussion about java arises that involves a lot of pedantry (like what exactly is a reference in java, do pointers exist etc etc) it's always worth taking a look at the actual specifications
British
@onyx loom Why are you running?
he's a kool kid, Matt
He knows jack but hey, he runs kali
sorry
Why are you using kali
why not
he's a zoomer
who knows kali but not gcc lol
makefile just invokes gcc
Who knows that
it's like gradle but shitty and for C
Exactly lmao
kali is only useful if you actually know what you're doing
I know what I do
I try to get the OPCODE from a custom lua interpreter
Through debugging/disassemblying his luav_execute
Not sure you need Kali for that
wot
GIves their free software
but not compiling them
compile it yourself
May I also change the introduction of the file
Lazy
What do you think I am doing here
It's also archived so they probably don't want to support it anymore
just download CLion
CLion can parse makefiles for you
well yeah you need make itself
but you need a bunch of commands to setup the make thing
similar to like gradle init and stuff
:c
You don't need linux for make ๐ฅฒ
yeah he had minGW but couldn't use it
I asked couple of times
What is the difference here???
like the place the jar is?
System.getProperty("user.dir") right?
ye.
ty ty.
yea the system thing should work according to stackoverflow
if not thereโs probably like File#getAbsolutePath or something
yeah I'm just trying to save a default config file
haha playing coc and then going full on shortest code mode
then fitting all that code
on signs
Books could actually work
Man why do people have to be so stupid?
so I have a thing with a model that people have to follow something like this:
[option]: value
[option-2]: value2
etc``` and I need to get each value. And what I did is split the lines at `\n` (newline) and then used a simple regex but they don't even know how to copy the fucking model and paste it so they just make it without a new line somehow so my bot doesn't get the correct values ...
and I just don't know what to do about them
yeah. idk how or why lmao
maybe they're on phones? but I think phones have new lines as well
the thing is it doesn't really matter. If the model is not right then it just deletes it and ignores and also sends them a message telling them its not correct but then they just come to me asking what's not correct
so I don't really know how I'd split the message into lines.
I've also tried just duplicating my regex but idk if I like that. Like it will just be: "\[(?<info>[^]]*)]:(?<value>.*)\[(?<info>[^]]*)]:(?<value>.*)\[(?<info>[^]]*)]:(?<value>.*)\[(?<info>[^]]*)]:(?<value>.*)\[(?<info>[^]]*)]:(?<value>.*)\[(?<info>[^]]*)]:(?<value>.*)\[(?<info>[^]]*)]:(?<value>.*)" well of course with the info/value names changed to info2/value2, info3/value3` but that really looks wrong to me.
what is this for? a config file or someting?
just make a builder at that point lol
don't let them near the text itself
no no. something similar to #827055634586271775 I guess. doesn't do the same thing but uses the same format I guess
ohhhh
I see I see
Can you not just do a contains search
Similar to how like Selenium validating does
idk what Selenium is
like, as long as their message has a [Service] [Request] and [Budget] somewhere, then it's fine right?
no need to split by newline
well not really
bcz I need to see what their budget is for example
and make sure its a number
or a valid budget
Oh jeez
For example I have this: [Time]: 12h [Code]: 1234 [Name]: Blitz
Wait I bet you could make a prompter like in DM's
and I need to make sure that time is > 6 h
Like Insert time: then you can validate per item
code is a valid code from a list
Then Barry or whatever can be the one who posts in the channel
Just don't allow manual users at all!
jesus that will take a while.
but what if 2 people start posting at the same time? I'd have to check that too
that's what I just wanted it to be 1 message
That's like, all I did in my entire intro to java class
Well have them do a command to start it
then in DM's, Barry can handle each person individually
yeah and only allow one at a time?
?
oh DMs
Just make a handler per DM
hmm
That way it doesn't spam any channels
yeah I guess DMs works but Like I'll have to consider so many things. fuck this. Just gonna scrap the whole idea.
bro I think that's a good idea
I guess
but imagine the steps in usability
that makes your bot unique
not many other bots do that
To many things to consider for a thing like that. My brain is not working properly today so I will either do it sometimes or I'll just forget in a few hours about this whole thing
no
:(
its personal for my discord server so it has a lot of bad code in it just so it works also I have like a few webhooks and my bot token. which I don't want to make public again lmao
add me to the repo bro
I did make it OS first and then discord sent me an email saying that my discord token was made public... Of course that was just me making it OS
I'll clean you right up
๐
u wanna clean me up? xD
yes sir
add me to the repo
bet
@static zealot I don't see your repo in my list of repos ๐
??
well there's 2 reasons why you don't. First I won't add you. Second: I just realised I didn't even upload it to github yet. I was like I should commit all the changes I made today. Then realised that on github is my old repo
:'(
clean me up
c l e a n
Anyone know how to change your nickname or how i can get privileges to? Is it a 20-29 level thing?
anyone here wanna have some fun trying to decipher some Mojang maths?
It's a nitro booster thing
pog
yeah
Great lol
Shills
yeah lol I love how he immediately just does it
I mean discord had offered me a month of nitro so why not lol
https://paste.helpch.at/pedicotazo.java so I'm looking at this Mojang maths code, it's for calculating the base 2 logarithm of a number rounded up, but I'm a bit confused on how it works
looks like it uses whatever https://en.wikipedia.org/wiki/De_Bruijn_sequence this is
uhh for github packages what repo do i have to put?
I'm trying to use https://github.com/ThatKawaiiSam/Assemble/packages/405008
you gotta give GitHub your token to use GitHub Packages
o
you have to authenticate with GitHub for packages
๐ซ
https://docs.github.com/en/packages/guides/configuring-gradle-for-use-with-github-packages
im trying to follow this but i can't get it to work, ```gradle
plugins {
id("maven-publish") apply false
}
subprojects {
apply plugin: "maven-publish"
publishing {
repositories {
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/OWNER/REPOSITORY")
credentials {
username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
password = project.findProperty("gpr.key") ?: System.getenv("TOKEN")
}
}
}
publications {
gpr(MavenPublication) {
from(components.java)
}
}
}
}
```this is what they say to put, so for username i put dkim19375 and for pass i put the token generated from https://github.com/settings/tokens, but it doesn't work
also, when putting from() in the gpr publications thing it says Unresolved reference
You can configure Gradle to publish packages to GitHub Packages and to use packages stored on GitHub Packages as dependencies in a Java project.
anyone know what im doing wrong ๐ซ
I think username is email
same as what git does on the command line
karma for using kt dsl
does it fill in the uri with the actual owner and repository?
do you not like kotdsl bm
i do not
ugly
I think it looks better than the groovy dsl ngl
parens make more logical sense to me
i do

nauseated
ok now im confuesd
face
bump
should i just manually down the source
https://cdn.discordapp.com/attachments/815157416563834884/828753353742745600/image0.png just got sent this in the Krypton Discord haha
facts though amirite
Oh god, the tutorial sent in development ๐ฌ
๐
ooh someone is coming from python
int i;
for (i = keys.length << 1; i < x; i <<= 1) {
}
```there has to be a better way to do this than that
is that really the only way you can apply an operation to a variable x amount of times in Java?
Is there any decent updated docs for fawe?
private int findEmpty(int param_0) {
for (int var_0 = param_0; var_0 < this.keys.length; ++var_0) {
if (this.keys[var_0] != EMPTY_SLOT) continue;
return var_0;
}
for (int var_1 = 0; var_1 < param_0; ++var_1) {
if (this.keys[var_1] != EMPTY_SLOT) continue;
return var_1;
}
throw new RuntimeException("Overflowed :(");
}
```absolutely world class lol
just "Overflowed" lol
Take me to Kotlin I'll worship it like a dog
I wish fawe could fix fawe being bad :L
I just wish normal WE wasn't slow as balls so we didn't have to deal with all these forks
How many forks are there? I only know of fawe and async
well yes that's the two I know
but that's two more than you'd think there should need to be
Ah I thought you meant like 5 or so my bad
https://youtrack.jetbrains.com/issue/KT-1440 lol, 9 years and we still don't have bitwise operators ๐
wait wtf does kotlin have shl instead of <<
kinda dumb that kotlin doesnt have bitwise
someone tell me how you can make generic type arrays without requiring the class of the generic type
Because of Andrey Breslav
that's not even the worst part
looking forward for monadic bind operator to be added to kotlin ๐ค
infix precedence
yes
sounds like it
its infix also?
yes
thats fucking mental
so it's subject to infix precedence
thats literally compiler level
i think
when compilers compile code they format it to postfix precedence or infix i forgot
1 shl 2 or 3 and 7 shr 25 and 1 << 2 | 3 & 7 >> 25 are completely different
cause its easier to parse the expressions
they will produce completely different results
not always
so you have to be careful where you put your brackets
reverse polish notation is sometimes used
Which is suffix
but not always
Depends on the type of parser afaik
postfix?
some compilers use it
I am so glad Andrey Breslav is gone now lol
cause in postfix there is no ambivilence
he's literally the reason why Kotlin is what it is
and stuff like order of operations is easier to handle
when it could be so much more
we almost had tuples, but Andrey said no
bitwise operators? nope
tuples are kinda cool from what I hear
especially not infix operators with a completely different precedence to regular operators
custom operators
@half harness
I'm tempted to apply compiler modifications to add them myself lol
but that would break compatibility
ah Bardy is independently inventing Lombok lol
no
lol
BOTLIN
I mean, I guess I could have a crack at designing my own language
Barlang
says one of the creators of Elara
you're talking elm right
Uh sure
nah hes talking about F#
if I was going to make my own language, I would probably just kinda take everything I like from the languages I use and put it all together into one place
I'm thinking Perl, right?
basically Kotlin++
steal the regex from Perl
array literals, tuples, bitwise operators, etc.
kotlin was like I want less verbosity than Java! I want js like syntax modifiers! I want fun!
Kotlin as a lisp dialect
might also steal some stuff from Python lol
func
except for the few nice features it has

i like func
i like not having a function keyword
you have to use self literally everywhere because properties outside of classes are a thing
oh that's a point
oh there's another to add to the feature list
proper type inference
not just for expression functions, properties and variables, but also for complex functions
kotlin isn't weakly typed
yeah I was gonna say
i dont get that, what is strong/weak typing
it can be
strong means you have to type the type of everything, like Java
weak means you don't have to most of the time, like with var/val in Kotlin
isnt that type inference tho
no
Strong and weak typing is different to having type inference
java has type inference
kekw
wot
var lol
java also has smart casting ๐
so what is it exactly
also, strongly typed just means that the compiler does very strict type checking
james, are we talking about nialls smart casting here ๐
No it doesn't
according to wikipedia it does
๐
well, what I read anyway
didn't you learn in 2nd grade the wikipedia is a bad source ๐ฅฒ
๐
Generally, a strongly typed language has stricter typing rules at compile time, which implies that errors and exceptions are more likely to happen during compilation. basically the same thing
I don't think there is a concrete definition, but I would say strong typing requires explicit conversions between types whereas weakly typed languages try to coerce as much as possible
Please reference my link
its only a bad source cause everyone can edit it. But it's factual for "quick lookup" information
if that makes sense
check the citations matey, it's one of the most reliable sources on the net
Everyone has different definitions of strong
you shouldnt use it in a report paper, but it is good for quick knowledge
You can have Dynamically typed languages that are still strongly typed
if that makes sense
teachers like to lie to you about Wikipedia because they haven't looked far enough into it
they think "can be edited by anyone" = unreliable
That's why you cite the sources Wikipedia does
my social studies teacher literally told me to read the whole article about columbus day
lol
on wikipedia
Wikipedia has bots that do a very good job these days of stopping idiots writing stupid things
Any hot topic article is locked lol
and 99% of the stuff that's said is cited to credible sources anyway, it's basically a "don't take my word for it, look for yourself" kinda thing
That is correlation, not causation
also, learnt a new thing today
MurmurHash is a non-cryptographic hash function suitable for general hash-based lookup.
It was created by Austin Appleby in 2008 and is currently hosted on GitHub along with its test suite named 'SMHasher'. It also exists in a number of variants, all of which have been released into the public domain. The name comes from two basic operations, mu...
Anyways Bardy, is Barlang gonna have var and val? Maybe immutable everything by default?
vanilla's CrudeIncrementalIntIdentityHashBiMap uses it lol
"Barlang" haha
also, no
idk what it'll have, but there won't be strict immutability
Oooh
that class name is so looooooooooong
if I was even going to make a language lol
yes
๐ฅฒ
Do you not like immutability? I thought it was supposed to be safer
Just call it DaJ at that point
first thing on google lol
https://paste.helpch.at/ilosepupag.cpp here's Krypton's CrudeIncrementalIntIdentityHashBiMap lol (shortened to IntIdentityHashBiMap for simplicity)
I'm just basing the entire registry system off of vanilla lol
You didn't answer the question Bardy ๐
I do like it, but I'm not in love with it like BM
I believe that some things should be mutable
and some (most things tbh) should be immutable
lmao
i feel like its nearly impossible to do a whole project without mutability
ok, generally:
Strongly typed languages try to make sure that you're using the correct type as much as possible, usually erroring if something is converted that can't be. eg java (invalid casts error) and python (no type coercion)
Weakly typed languages try and allow coercion between types as much as possible, even if the conversions might not be safe. Eg javascript (for obvious reasons), or C because you can cast pointers to other pointer types with no obvious error
without workarounds for the immutability ^
you could redefine variables but eeeh
you know md_5 actually responded to DeluxeAsyncJoinLeaveMessage in the Spigot Discord once
Yeah
fun main() {
val s = "a"
System.out.println(s)
}
a real project
thats of decent size
#694661573125472256 message
which is why every functional language will have some sort of abstraction for mutablility. It's not about eliminating it, it's about reducing it as much as possible and making state-related errors pretty much impossible through abstractions
you totally can, depends what you start counting as "mutability"
He sounds like a boomer trying to sounds woke lmao
hah no immutable gaeeeeeeee
there are programs that are essentially just functions
compilers for example
you can totally make those completely immutable
yeah, if you exclude the IO, compilers are completely pure
you only need side effects at the beginning and end
This is genius
jesus have you guys heard of deleting embeds
nope
lol
mathematical stuff is obviously totally immutable too
nice
are you a maths wizard
can you explain integrals to me
I like the 30k lines of blankspace
uh
i even used bri ish slang for math just to appeal to you
add up little rectangle Lots of times
integral shit ๐ฅฒ
I can count to ten with my fingers
nah I know what they are I mean how to do them
idk
my brain get kinda funky when you convert 2x to like 1/3x^3
best I can do is simple polynomials
๐ฎ lucky
its just the reverse of differentiation
this isn't a correct integral for that function btw
๐ฅฒ
yeah neither does ours
that sucks
very annoying because you wanna try things out
i suddenly doubt my ability to do basic addition and division on a test
so i am very spooped
if i have a calculator ill literally plug in like 21/7 or something sometimes
just to make sure im not being a dumbass
@cinder flare https://www.youtube.com/watch?v=WUvTyaaNkzM&list=PL0-GT3co4r2wlh6UHTUeQsrf3mlS2lk6x
good series if you really want to understand what's happening in calculus. it's not a tutorial how to calculate integrals but rather a build up from scratch
What might it feel like to invent calculus?
Enjoy these videos? Consider sharing one or two.
Supported by viewers: http://3b1b.co/eoc1-thanks
In this first video of the series, we see how unraveling the nuances of a simple geometry question can lead to integrals, derivatives, and the fundamental theorem of calculus.
These ...
yeah I watched a good few of those
i love 3blue1brown
it's the actual doing it that's the hard part
lol
but still entertaining
then all you need is practice
yeah integrals aren't super the problem cause we have a test tomorrow about fucking optimization problems and sketching graphs
I sometimes wish I had something practical like this
optimization problems are literally my most hated thing
I can imagine
oh and he won't give us a stupid unit circle on the test and expects us to know all the stupid fractions
I did that in like, 11th grade last
like wtf
ur talking about this right https://scratch.mit.edu/projects/54605156/studios/
Make games, stories and interactive art with Scratch. (scratch.mit.edu)
/s
yes sir
Lol, My dad got me started on that when i was like 8 or something, I have a whole profile with stuff on it... I should actually go back and look at it if i remember my password!
@hot hull Actually did some progress today, reorganized it to be easier to work with
Now I'm working on division things into separate configs, at first i didn't want it but i feel like it gets confusing if I don't
good
all my homies hate oracle
and that would've ruined software development like, forever
Scale this down to mc related plugins, and that's basically how it goes kek
https://repl.it maybe?
Skript
Probably not
You cant use iij? Or has to be in browser
You need a compiler and execution environment to run your applications
Those "web ide"s compile and execute your code in a backend server
Btw replit has java but not maven / gradle unfortunately
What are you using to code then?
u can run intellij in a browser
yeah but it can all be done over cli so that's not an issue
what developer doesn't have an ssh app on their phone smh
||if you're one of the odd bunch that don't, I highly recommend termius||
Ok ..
can it be installed on a phone? or do you mean installing on another system?
installing it on another system using ur phone
hmm
@obtuse gale You got a vps?
Also actually
he would still need an active internet connection
Just enjoy your vacation lol
I had a question
lay it on me
Is there anyway to have a class redefine the value to be injected to other classes at runtime?
no yugi
Damn
pro tip with dagger
Maybe i need to rethink how I do this
Welp
My use case is basically, I need to inject a Connection class across Activities, but the login activity needs to be able to change the connection when someone logs in with a diff id
Might as well use a wrapper ig
What?
no
1000ms = 1 s
Yea
50ms is a mc tick
yugi
what's this for?
what are the project constraints
because chances are you could just use guice
I highly recommend guice
although guice doesn't allow you to change bindings at runtime either
idm guice, tho google seems to promote hilt (a dagger wrapper) for Android
ah
the main reason I use guice is because it allows you to create bindings at runtime
Ah that sound nice. but im not yet sure if that would play with how android orchestrates classes. rn I think my only way to go if a class that wraps the connection hiding its mutability and just working out when to connect, reconnect, disconnect... ect
guice dagger
create yes no
edit no no```
easiest guice/dagger comparison
for runtime bindings
Make some service that wraps a mutable connection and inject that?
Yea thats what im rewriting to
I don't really know what the point of dagger is tbh
Fast
the performance between guice and dagger should be the same
Might be a difference on mobile devices
like dagger will start up a tiny bit faster
but the end result at runtime, should be the same
That could be a noticeable difference on a low power phone
TIL that ECMA is an actual standards organisation and isn't just about javascript
arrayOfNulls<Any>(1 shl bits) as Array<T?> anyone know if that cast will succeed?
trying to create a generic array without requiring a Class<T>
I mean, surely there's no such thing as a generic type that doesn't inherit from Any
wtf
nullable types
why are you doing that
so that'll return Array<Any?>
Wait
because I need an array of a fixed size for this
Why are you even doing this
idk, I'm copying Mojang code because I'm out of ideas lol
I'm using their palette and registry system as a base
what type?
Just use that generic instead?
not possible
Array<T>() = compiler error because T must be reified
gimme a min, lemme give you the Mojang code lol
might be easier so you can help replace it
I tried that
but as I said, Array<T>() gives me a reified error
T has to be reified
actually, to show you this, it might be easier if we just jump in a VC, since there's a bit of a rabbit trail
try that in playgrounds
it doesn't work
Maybe in an hour
T must be reified
Doing a worksheet rn
https://paste.helpch.at/hotimuzaci.java here's the LinearPalette
then there's... https://paste.helpch.at/wazoxaqote.java whatever that is
CrudeIncrementalIntIdentityHashBiMap
not possible, I would need a Class
Is the source updated on git?
I need more context
this is for block palettes
LinearPalette and HashMapPalette (use of CrudeIncrementalIntIdentityHashBiMap) are for storing block state IDs to block states
I think
here's HashMapPalette: https://paste.helpch.at/nonutoroco.java
In which class of yours do you need the Array in?
I might wanna fix up those variable names though, before pig or cube warns me again for NSFW content 
I need LinearPalette and HashMapPalette for the PalettedContainer, which is what I'm going to use to store block state info
lemme get you that too
basically, this is all so I can deal with registries better and be able to deal with block state updates (block placing/breaking)
"so where is PalettedContainer used?" you ask
"LevelChunkSection" I answer: https://paste.helpch.at/fipifepeli.java
actually I bet these would be better as lists anyway
I still need to understand how CrudeIncrementalIntIdentityHashBiMap actually works
I know it uses a murmur hash for the hash code of the elements
which is in mth
Not sure what Im meant to do with these, I meant your kotlin class
The one in which you want to create the Array
https://paste.helpch.at/ofinexiruy.pl here's the HashMapPalette
https://paste.helpch.at/uxorivezos.coffeescript and LinearPalette
I want to setup a password protected proxy server on my smol debian server so that I can use it to access certain websites when I'm abroad as if I was at home.
Since I want it to work with pretty much any software (not just the web browser), I should use a SOCKS proxy, right?
What proxy software would work well for this purpose, I'm not sure if I'm googling properly because I'm not really finding anything useful ๐
@jovial warren
Id say you have 2 routes,
Maybe created a array wrapper than overrides the get and set with the proper types and internally use an array of Any?
Or,
Require the class to be passed down to this class as a reified type
I can recommend WireGuard personally (VPN rather than a proxy, but they basically do the same thing)
it's free, very easy to setup, and works very well
first one went straight over my head, second one sounds annoying for instantiation
guess it's not that bad though
will the cast not work there though? that's my question
the cast from Array<Any?> to Array<T?> should never fail
what
Heโs entered the matrix
First one would be something along the lines of
class GenericArray<T>(size: Int) {
private val array = arrayOfNulls<Any?>(size)
operator fun get(i: Int) = array[i] as T?
operator fun set(i: Int, value: T?) {
array[i] = value
}
}
You could probably make that an inline class actually
is that still an experimental feature?
probably is, but I use inline classes anyway so no issue using them here
maybe an inline constructor
@Suppress("UNCHECKED_CAST")
class GenericArray<T>(size: Int) : Iterable<T?> {
private val array = arrayOfNulls<Any>(size)
operator fun get(index: Int) = array[index] as? T
operator fun set(index: Int, value: T?) {
array[index] = value
}
override fun iterator() = array.iterator() as Iterator<T?>
}
```seems legit lol
still gotta suppress unchecked cast because of get
Why not annotate those specific methods instead of the whole class?
because iterator also requires an unchecked cast
yeah set doesn't
so annotate get and iterator instead
done
also, might want to use as T? instead of as? T as you'd probably want to fail fast if someone tried to add some other type into it by reflection or something
true
also, you know using this means I lose access to all of the Array extension functions that I need
like indices and fill()
guess I could just manually add them
yea
Sorry for interrupting your conversation. I didn't really read it and thought it was already over :<
VPNs are generally nice, but I kinda want something on a per-application basis. I figured a proxy is easier in this case because I can just type it into chrome or spotify directly, no?
maybe
I'm starting to think I should've just left the block state shit to someone else, because Mojang's is a fucking mess and I don't have any better ideas
I'm just gonna push this completely fucked code and do exactly that
I ain't dealing with this anymore
I'm done with block states
Isnt that just an array, bbg?
yeah but that's the easy part
arrays be bad in java
it's fucking updating it
arraylists be awesome
being able to place and break blocks gaby
I mean this
yeah that's just an array, but you can't create generic arrays because constructing an array requires a reified type
sections are
chunk columns, as they're called, are made up of chunk sections, which are cubic
and my commit is the first commit in Krypton to fail build
because it just doesn't compile
because I'm literally done with block states
I'm even starting to lose motivation for the project as a whole
it's not fun anymore
!!
I mean, don't get me wrong, I love this project, it's the only thing I have to hold on to (literally all of my other projects are irrelevant to everyone but me), but it's just getting more and more complex
I also need to reconsider my goals for this project, as "it's just a fun side project" isn't true anymore, and I need something to truly keep me motivated to keep doing stuff with this
also, it's difficult to stay motivated when you're the only one working on a huge project with no true goals or outcomes, and not really that much praise or appreciation
it's very difficult to believe that what you're doing is right when you don't really see that much evidence of it
bardy typing out his speeches
this is Bardy somewhat venting
even though I doubt anyone here really cares
didn't think so
What does intellij ultimate edition actually have that the free version doesnt?
A hell of a lot
That's only in ultimate?
yes
Oh
I'm almost ready to give up on Krypton because it's just getting less fun and more complex and horrible and I just can't anymore
bardy
I'm not good enough for this
don't be a quitter
Look at the rest of my projects Frosty
All of them are either useless, half finished, or both
Lmao Ori
im very clearly a quitter 
You've shown that recently yes
https://github.com/Oribuin/SellChests remember when i started working on that sell chests plugin
I mean postponing projects != quitter
I really don't want to give up on this because I love it, but me not being able to do things is making me angry
or that auction house plugin
wait what, you using java, that's new
yeah lmao
probably why you quit
No, but if I take a break, it is likely that Krypton will just die like everything else, because nobody cares about it like I do
I mean I wanna die as well, but I'm still productive to some degree
You see
I'll tell luke that I can finish auctions if you don't wanna, if the code isn't cancer
You will absolutely not
:>
that is my baby
im just burned out okay
Don't open IJ for a week, play some games, live life, you'll feel better when you come back
imagine if a mother could just say she's burnt out and put her baby in the freezer for a week or two
(to keep it from spoiling of course)
Lmao
so now i wanna kill zombies and kill other humans
Frosty if you wanna look at auction house and tell me where to improve it
do it
right, as my phone decided not today, let me use my PC
but 
Nobody cares about this project like I do, most people just come by, say "oh, that's cool" and you never really hear anything from them again
yeah I know
I know it's my project, and I know I shouldn't expect any different, but I thought at least some people would at least somewhat care
I think I'm asking too much from people though
people more actively engaging in testing stuff, trying to help me move this project forward, etc.
looking at the contributions graphs just makes me a little sad
i'd contribute but i have no idea how to do that 
I'm really interested in the project but I still haven't learned Kotlin ๐
I suppose I do need to make it much more open and much clearer how to contribute and easier to contribute
and the project in its current state is a massive mess as it is
I'm still relatively new to kt, and barely used packets and don't have a lot of idea of how to make an mc server
and the kt community is like 5% of the java community
actually might be less than 5
true
bet
the only pr i probably did to one of the 'pro devs' in here was a 10 line PR to matt's mf gui lol
and it got rejected like 10 times || ๐ ||
I'm never the developer though that comes up with new solutions to problems I come across in this project
I just leech off of existing stuff because I'm not good enough to come up with a better solution
but outside of that I don't think its too bad
Bardy, make it work first, then improve it
and then I confuse myself in my own code because it's just copy and paste
||haha made you look||
yeah but to make it work, you need to, well, make it work
yes?
go cliff jumping
and making it work is the part I struggle with
because I'm well out of my depth for 99% of this project
But that's exactly why you should keep going, you'll learn a lot from this
If you just gave up when it got hard you would've never learnt anything
I try to take the solve the root problem, then solve up the tree route, but that never works
I've already learnt a lot
imagine having a kotlin mc server that u made ๐
actually, I'm getting stuck at block states, but that's because I'm just copying Minecraft code
which won't work
what exactly are blockstates?
since theres already blockdata, what do blockstates do
I should just be setting block states directly by their state IDs
every block has different states
e.g. a grass block can be snowy or not
snowy: true is a different state from snowy: false
i thought that was blockdata 
and they have separate protocol IDs
so confusing
bukkit is stupid
yeah those mother fuckers
protocol ids gud
papi 3 use protocl ida
what are block data?
NBT
i was going to ask what are block datas ๐
but then that sounded weird
wait what
oml
do not reference spigot
.
bukkit is stupid
oops
my only advice to bardy this whole time has been to not do anything bukkit does
we are talking about vanilla here
I need a good way to support block data with varying values
legit
yeah that's really not all that helpful though tbh
yeah ik
there exists not a single fully functional standalone impl
there's no other advice I can give you except to not follow in the footsteps of other projects
Minestom's been somewhat helpful
I would've thought glowstone would be more helpful
yeah maybe
but Glowstone is based off of Bukkit
and is basically rewritten Minecraft
vanilla mechanics can be extracted
true
I wonder how Glowstone handles block states
https://github.com/GlowstoneMC/Glowstone/blob/dev/src/main/java/net/glowstone/block/state/BlockStateData.java oml does Glowstone just cheat and treat everything as a string
lol
lol
@half harnessReason (one of many..) why bukkit is stupid:
Vanilla block states for furnace: https://minecraft.fandom.com/wiki/Furnace#Block_states
Vanilla block data for furnace: https://minecraft.fandom.com/wiki/Furnace#Block_data
Bukkit block "states" for furnace: https://papermc.io/javadocs/paper/1.16/org/bukkit/block/Furnace.html
Bukkit block "data" for furnace: https://papermc.io/javadocs/paper/1.16/org/bukkit/block/data/type/Furnace.html
block data is block entity data in vanilla I think
because Bukkit
.


dont let frosty decide your life choices
what
