#dev-general
1 messages ยท Page 422 of 1
you'd assume that regions are just loading in the wrong order or something right?
Incredible
well, what I did is tested that by going out 32 chunks on a vanilla server from that chunk with the half tree you can see in front of you in the image
and I found those chunks to the left
the only thing that truly matters
the draw rectangle method ain't gonna cut it here I don't believe
yeah you gotta draw a few rectangles
oh damn now that's an upgrade
If it were a 3D plane i believe this would actually work, cause you know, I big brain
it looks like Krypton is loading half of the chunks for a region correctly and the other half in the other region lol
so how hard is it to make it a 3D plane?
but that doesn't make any sense
a 3d plane is just 2d from a different perspective
therefore a 4D plane is just a 3D plane from a different perspective
haskell users code in 4D
https://en.wikipedia.org/wiki/Four-dimensional_space okay that image is really trippy
A four-dimensional space (4D) is a mathematical extension of the concept of three-dimensional or 3D space. Three-dimensional space is the simplest possible abstraction of the observation that one only needs three numbers, called dimensions, to describe the sizes or locations of objects in the everyday world. For example, the volume of a rectangu...
we cannot see 4D sadge
It just looks like someone gives birth to a baby and that baby later on gives birth to the person that gave birth to them and it loops
it would be fun if this universe was 4 dimensional
r e c u r s i v e b a b y
3 is so smol
well the universe is actually 8d but we don't know it yet
Then how do you know it
He just does
Yeah fair
coca cola
yikes
ffs don't you just love when you adding something breaks something
I adore it Bardy
if I go back to Krypton 0.15.1 (before region data persistence), the chunks load fine
ikr
sounds like you need pure functions
A pure function by definition cannot break anything
what a surprise that region data persistence broke it
Unless you use Rambda
-_-
and it's not even the region data persistence part that broke it, it's probably me changing how chunks are loaded
Hrypton
region data persistence can probably be modelled as a monad btw
Krypkell
Yugi, so how do I draw a rectangle in a 3D plane with this :p
I don't know enough Haskell for that
theres a draw plane I think
You'll learn once you start
Indeed, now to try and find whatever it expects as the params
just undo your chunk changes and keep your region persistence
Can't you use TS with that?
bruh
// Draw a plane XZ
Doesnt it abuse dynamic typing?
Yes?
Well any JS is valid TS
ah I think I see why the old one worked and this one maybe doesn't
the old one grouped chunks by region
oh yea that'll work, I'm stupid
I think rambda handles argument lists for composition and stuff
man I like this embed but its to much white
I think they got just the right white colour that doesn't blind your eyes but still allows you to see everything clearly
A rectangle is just 6 planes
๐
a rectangle is a 2D shape on a single plane...?
wha
Hmm idk. The repo description is very bad. I can't read it
try putting on your glasses 
don't have any
Buy one
just one glass
I'll just buy a window
๐ง
This ain't it chief
that's a coc on the left
you child
I am very mature
what are we looking at here
idk to be honest, my attempt of using planes to display it
bruh
It does, but that takes in an image
@hot hull Check if it exposes a GenMesh function
nop
Are you sure?
ah I found it, IJ was having a stroke
lol
does anyone wanna help me with my server?
please i need help im so bad at making servers (sent me a messige is u wanna help :3)
Poly Id assume
Man my PC is really not doing well these days. Everything crashes, Apps randomly open, Somtimes it doesn't want to start or takes up to an hour
for poly?
yes
hmm
What is a better design?
GuiBuilder.gui(GuiType.HOPPER).etc
// or
GuiBuilder.gui().type(GuiType.HOPPER).etc
why is Java's bitwise operator precedence so weird
what's your name? kashike? lol
nah I'm kidding, first and second
allow both
Second looks nice
I like the first one. less words = better
lmao
just allow both
I guess I can do both
or that
that so reminds me of Adventure lol
just add me some Kotlin constructor functions for those pls
e.g. ```kotlin
public fun GuiBuilder(type: GuiType) = GuiBuilder.gui(type)
and yes, the conventions actually recommend that libraries should explicitly define all visibility for clarity
so I might be doing that in the Krypton API soon
Do any of you own EpicHeads or HeadDB plugins? Or is EH still OS? I know it was on gitlab but was taken down
huh>
fucking Kotlin bitwise infix precedence
typo?
FML
I forgot that << takes precedence over | and &
so I had ((toLong() and 0xFFFFFFFF) or (other.toLong() and 0xFFFFFFFF)) shl 32, where it should've been (toLong() and 0xFFFFFFFFL) or ((other.toLong() and 0xFFFFFFFFL) shl 32)
Ugh generics is so annoying
Like this issue:
// On abstract class:
public BaseBuilder title(Component title) {
this.title = title;
return this;
}
// On class that extends it:
public ExtendedBuilder type(Type type) {
this.type = type;
return this;
}
builder().type(type).title(title) // possible
builder().title(title).type(type) // error because title returns BaseBuilder
// Fix:
@Override
public ExtendedBuilder title(Component title) {
super.title(title);
return this;
}
// Or
@Override
public ExtendedBuilder title(Component title) {
return (ExtendedBuilder) super.title(title);
}
It's so annoying
pls no 2 space indent
Wrote it in discord, fuck off
can someone join #room-2 sand tell me if music is playing or not? I can't hear it
why?
I was recommended to change to 2 from 4
also, ?plsno8spaceindent
public val GuiBuilder = GuiBuilder::gui
I didn't bcz I'm lazy
oh wait its muted I'm so blind. ty matt
@quiet depot please unmute
the bot
yeah no
I muted it lol
wait wtf
what?
why is Piggy up at this time
how?
It's not server mute
also I'll just use Barry
Can someone help me setup deluxemenus I already have placeholdelr and deluxemenu put in the server
oh wait what?
red microphone = server mute...?
thanks
oh well I'm using barry now
cube brought it back
Oh yeah red is server mute, i had it muted on my own so i thought that's what it was lmao
yeah its fine tho
barry works now
no worries
you have the full grey microphone, which means they are muted themselves
then you have the grey microphone with the single red line, which means you local muted them
then you have the full red microphone, which means they are muted server-wide
quick Discord ting
+1 if you get that reference
-1
@prisma wave Awesome stream
Yeah yeah
it's a Big Shaq reference
Thanks
not sure that's very idiomatic BM
might actually go and make my own modifications to the Kotlin compiler to add bitwise operators lol
that's how frustrating not having them is
it should be
https://github.com/Kotlin/KEEP/issues/142 there was a KEEP for it once, and a PR, so it wouldn't be that hard
the only issue with me adding it myself is that it might break compatibility, making only me able to compile it
So was able to make a mesh
Meaning this should only have the visible sides generated right?
Yes
Not exactly visible to the camera itself
But the outermost ones
Ones exposed to "air"
Smexy, now to generate this for the entire terrain
Any suggestions on how to effectively detect double height change, do I just make a loop for like 3 down and fill that?
double height change?
white spots
It shouldnt be a single mesh btw
Are the double height change
group it
That's pretty cool Frosty
That's the old stuff Matt, it's horendous
yes yes
Still pretty cool though
You might wanna consider a bit more height that just the height map
Cases like this confuse me tho
handling only the height map means you'll have issues with cliffs and stuff
I'll be adding 3D biomes to it Yugi, so that shouldn't be a problem
If that's what you mean by that
no
I meant with your "double height" issue
You're currently only applying marching cubes to your heightmap right?
You need to consider a larger height for it to be equally applicable in all generation
So I should be assigning it to coords from 0 to my height map correct?
Yes
You could probably do some optimizations but better to leave that for later if you get bad performance
Seems to be that each mesh is it's own model tho, so not sure how that'll affect it
If i have a contract like @Contract("_ -> this") I don't need to annotate with @NotNull right? Since it always returns its qualifier
wait is this your terrain generator?
I would still annotate with @NotNull, since Kotlin will get a platform type otherwise
unless the compiler is smart enough to understand those contracts too
kotlin also checks contracts I think
idk, test it without @NotNull in Kotlin and see
Bardy, perhaps, why?
in Krypton soonโข๏ธ
Yeah Kotlin checks for contracts, and even generates contracts if none are present
I don't have a contract on this method
that's IntelliJ, not Kotlin
lol
Well, you know what i mean
IntelliJ figures those out lol
also, if you're using nullability annotations, use checker-qual
I don't like the checker framework, Jetbrains' is more than enough
Jump off a cliff
Die
Rust is much nicer than Haskell
Rust = Haskell
Rust > C++ definitely
you didn't even spell haskell correctly
since C++ is just a mess
ok skim
-_-

Dkim have you even seen rust code?
dkim before trying any language: ๐คฎ
dkim after trying it: ๐
Ikr
dkim I love how your name stands for an email security standard that signs emails and yet you probably got confused at the phrase "email security standard" in this sentence
insert braincell meme here
true
From the languages I've tried, Go is pretty cool, Rust is odd but still nice, I really don't like the syntax of Haskell, but it has some really nice features
don't judge until you've tried it
languages I've tried
go and rust are both similar to regular c syntax right?
vaguely
Haskell's syntax makes a lot of sense once you use it
not that similar but definitely similar enough to call them similar
The reason I don't like it too much is because it feels very clustered
how so?
i actually don't disagree with matt on that
just gonna bump this smh
when I say "tried" I mean actually used for more than like 30 minutes
Like, too many symbols clustered up together with statements
statements ๐ฅฒ
There arent any statements
I think the issue with that comparison is its between different paradigmns on the whole
Yeah
You dont write haskell the same way you work with go or java
haskell syntax is super compact
I'm sorry for not knowing the actual names used in the language lol
oh nvm epic heads is on github.
You only have expressions
are let bindings expressions?
i guess they must be
but they're just a syntax sugar anyway so
fancy
it's just not intuitive / easy to decipher exactly what's going on until you put enough time into learning the actual meanings of the operators
after you reach that point it gets nicer though
anyway in "basic" haskell you don't have that many symbols, probably less than java for simple programs
are >>=, <$> library functions
Yes
:o
they have a definition in the language
mhm
they're not "native"
^
ah i see
If you want to create your own monad, youd define your own bind operator
make Int a monad 
so does it work out such that everything that's syntax sugar is a library function?
๐
well depends
some of it is just more of a copy paste kindof
like let binding
afaik its just replaced to the use sites
but <- are replaced with binds for the specific rhs type
oh wait <- is also a library function?
ah
do blocks are just turned into combinations of >>= and >>
i got ponged
mhm
ping
bind operator
this one? >>=
Yes
weird
<- works similarly to how kotlin creates continuations afaik
a <- b
print a
``` == ```hs
b >>= print
i'm actually confused on what exactly >> does
o.o
yeah a >> b == a >>= (\_ -> b)
mhm
putStrLn "a"
putStrLn "b"
``` would use it
because the () from putStrLn "a" is ignored
wait does that make it kind of like a do block
do block also applies >>
it's what they're converted to
mhm
putStrLn "a"
putStrLn "b"
``` == ```hs
putStrLn "a" >> putStrLn "b"
ah i was about to ask that
<- convert to >>=
normal expressions convert to >>
what would a let binding look like with the bind operator
like if i did let apple = [1,2]
i think let bindings just get inlined actually don't they?
main = do
inp <- getLine
putStrLn inp
is
main = getLine >>= (\inp -> putStrLn inp)
altho you can write it with just putStrLn and it would function the same
bm you ignored me earlier today ๐ society
<- convert to >>=
normal expressions convert to >>
oh sorry i didn't see the ping
ยธOkay yea so this is inefficient af, gonna convert the heightmap to an image, then load that as a single model
why
what do you need help with
Dont recompute the mesh every render cycle
I need programming "ideologies" and questions
hmm
ideologies?
Invite titanic, ideology overflow
imperative - declarative
low level - high level?
but i guess declarative is high level lol
idk
For the axis I have the following ideas:
imperative - declarative
low level - high level
impure - pure
static - dynamic
well 99% of people will be impure
๐ฅฒ
pretty much
i like it
political compass for programming
Hi sir, My name is Haskell
well obviously barely anyone will be 100% one or the other
BuzzFeed quiz
What is your astrological haskell sign?
the majority of programmers, unless you're using something like haskell aren't really gonna make a distinction between pure and impure
doing this https://8values.github.io but for programming languages (and memes)
<$> $ >>= << >> >>>
would it be worth it to have an axis between compiled and scripted
lmao
what's << and >>>
sure but I mean you can steer towards pure with for example "prefer immutable data" or where state should be stored or....
"i am 18% elara"
oh good point
yeah
I dont remember tbh check the docs xD
I think its from Control.Monad
๐ฅฒ
not sure
i'll take a look
Hackage has a search option I think
that's basically static vs dynamic
hmm
i doubt it
the former is slightly faster
if ur talking performance
yes much cleaner
im guessing in only in like REALLY big loops + the difference would only be measurable in benchmarking type stuff?
i dont think loop size would matter
foreach loop
but get() is faster than an iterator
this looks cool https://www.spigotmc.org/resources/jsonrestapi.91423/
2nd
lol
there is a difference
you can't modify the list if you use the second option
within the loop*
iterator stuff i think
i wish i could explain better but this was stuff i learned years ago in class
but yeah basically you can't delete from / insert to the list if you use that second loop
cme?
ConcurrentModificationException
ah of course
If I am letting people upload images to my website, i should check file header for file type instead of file extension right?
why not both
Probably header
You can't structurally modify it (add/remove), but you can change specific elements within it (set)
In fact if you use a ListIterator, if has a set method
isn't a KeySetView from ConcurrentHashMap thread-safe?
@forest pecan this one's for you you horny bitch
?
๐ฅฒ
Using a condom is like licking icecream through glass
"And that's how Fefo single handedly drove humanity to its doomsday"
how would u know frosty
Weird comparisions
strange analogy but I guess it's true
๐
Damn
how would u know bardy
Xposed
Gotta try licking ice cream through glass, you right
lol
Try licking something else
The end of the gun barrel, sure
Preferably loaded, and safety off
oh ok
Bye now
ciao
https://www.youtube.com/watch?v=EkNq4TrHP_U
Me watching this for 10 mins with only my right earphone in and thinking if something is wrong with my headphones
Follow the Insanity at: https://www.FailedNormal.com
Downloadable Podcasts at: https://failednormal.podbean.com
iTunes: https://itunes.apple.com/us/podcast/failed-normal/id1349818284?mt=2
Info
Level: Intermediate
Date Created: November 19, 2010
Length of Class: 69 Minutes
Tracks
Networking
Prerequisites
Introduction to Networking
Purpose of C...
๐ฅฒ

is there a way to delete a commit (not the actual code just the commit message and that stuff) if I didn't push it to github yet? Like cancel it or something
Yummy
google "ohshitgit"
oh I forgot about that website
git reset
Lmao
with soft flag
so that just removes the commit but the code stays?
You'll also want the proper tag
ya
oh yeah
check your git status
u can also do it with pushed commits
--soft makes it not* change your files
with the hard flag it would actually reset your files
oh btw, can someone just confirm: https://wiki.vg/Entity_metadata#Entity_Metadata_Format am I going crazy here or does rotation only have 2 axes
Why would it have more than 2?
there's a field with X, Y and Z rotation there, and I'm just confused
git status
that just tells me the changes to be commited
Local History too maybe?
it's used by armour stands for head, body, left & right arm and leg rotation
Yea theres 3 angles bard
Yea
lol
but entities don't have roll iirc
there's roll, pitch and yaw
Armor stands 
Minecraft primarily uses pitch and yaw, but of course, armour stands can be rolled as well
totally knew armour stands could be rolled
wait what
armour
๐คข
Make a custom mob api with armorstands
lemme draw quick image
armor
๐คข
Add something to parse models and generate texturepacks
pretend this is an armor stand
is this not what the 'roll' axis is?
Would make something to make krypton stand out
roll is like, rolling
There was a weird forum post on manjaro forums about that
xD
make an issue on GitHub please ๐
and yaw/pitch are left/up
you know right and down exist too right?
Every body part of an armor stand can be rotated freely around each axis
lol
i didn't feel like typing it
ohhh
i was thinking about it all in one
Is pretty neat
trying to think what I should work on next
Euler angles ๐
my bedwars plugin 
maybe look into the bugs with chunk section loading
Minecraft be like:
protocol angles, as I call them, are measured in 256ths of a full turn
oh also, it gets better than that
Lives in the uk
Complains about non-standard units
Lmao
Easier to represent with bits
the packet that the client sends to the server (player position/rotation) uses absolute positions and degrees
you use that meme too much lmao
the packet that the server sends to the client (entity position/rotation) uses relative positions and protocol angles
Be careful they'll throw "stones" at you
relative to what?
relative to the previous position
Ew
oh, and if they move more than 8 blocks in a single movement packet then you have to send entity teleport rather than entity movement
Imagine not using this one
https://c.tenor.com/vkpCnKNg7UkAAAAM/mind-blown-amazed.gif
That makes sense
dumb question - if I do playerA.hidePlayer(playerB) will playerA see playerB or playerB not see playerA?
Really? That seems weird
void hidePlayer(@NotNull Plugin plugin, @NotNull Player player)```
Hides a player from this player
plugin - Plugin that wants to hide the player
player - Player to hide
thx
playerA will not receive packets from playerB
Imagine reading the javadoc
i did
imagine saying imagine
i just wanted to make sure
lol
d; spigot Player#hidePlayer
@Deprecated
void hidePlayer(@NotNull Player player)```
see hidePlayer(Plugin, Player)
Hides a player from this player
player - Player to hide
no thats the other method
oh btw, did you know that the maximum coordinate that you can possibly travel to is ~33 million for most position packets because of the fundamental way coordinates are encoded
uh
d;1.8.8 Player#hidePlayer
void hidePlayer(Playerย player)```
Hides a player from this player
player - Player to hide
another isnt
https://wiki.vg/Protocol#Position reference
wtf 1.8?
this is dkim we're talking about here
Update ๐
can't
won't*
that nose tho
lol
Sucks to be you
Matt I was gonna say that lol
1.16 block placement reminds me of hypixel
you know that X and Z coordinates are packed into a long at 26 bits each btw
and Y is 12 bits
thats weird
What exactly is different about 1.16 block placement?
makes a ghost block or disappears if i bridge or place blocks too fast
That's just minecraft and lag, it'll happen on any version lol
it didn't in 1.8
then your dev server is ass
o
Yes it does
it didn't for me ๐คท
Both your dev server and your computer suck
idk
dkim dont test anything
what

wait a minute... did I just hear a "bUt I cAN't BrIDgE oN thE nEw vERsioNS" complaint? get outta here peasant
Let me guess, it happens on your pc's test server in 1.16 but doesn't happen on a huge expensive 1.8 server?
lmao
no, they're both on my pc
also 1.8 takes like 1/3 of 1.16 startup speed
Yuck
ghost blocks are more common in 1.8
Sounds like a you problem
well nah no shit sherlock
especially since it's not actively updated
They actually fixed a lot of that in 1.14/15 I believe?
in 1.8.X
it's annoying when it takes 250+ seconds to startup
1.15 fixed a shit ton of block and entity bugs
cause your computer is clearly ass
especially beyond the world border
In fact actually after 1.15 ghost blocks became way less common when playing survival
while my dev server takes about 30 seconds to startup
the server i used to use to play with friends (its 1.8 now) took 250+ seconds
and now it takes like <60 seconds
servers have way less stuff
That's sad
๐ฅฒ
Minecraft is very slow at starting up in general anyway
WAAAAAAAAAAAAAAAAAAAAAAT_ _ _ _
since it seems to not be able to load JSON very fast
gradle takes like over 2 minutes on first build
/s
then after that like 15 seconds
guys use ant
my Notchian Vanilla server takes 1.147 seconds to start
Dkim that's really bad lol
and if its kotlin it takes like 20+ seconds because of compileKotlin
Yeah Dkim we already know your computer is shit lmfao
sometimes 10 seconds if im lucky
Krypton takes 0.315 seconds to start
because I know what I'm doing
My actual server with quite a lot of plugins lmao
that's how
wtf
is papi outdated
How many Matt
In fact PAPI is very updated, it's a dev build lol
o
35
actually jump off a cliff
lmao
only 35 smh
man how is that a lot
I work for a server that has over 100
and takes about 2-3 minutes to start on 1.12.2
Why would you need that many?
^ the server i was talking about has 80+ plugins
features
since my computer doesn't have enough ram to do bungee ๐ข
it's a skyblock server
it has 8
there is no way that you can't fit an extra 256 MB RAM in there
What frequency
you have a virus lol
u suck dkim
ive been there, it sucks
I'm dying
1600???
WhAt the fuck
my memory is twice faster than yours
oh
gigahertz?
cores?
feels like 1.6ghz
4
1333 Mhz F
oof
๐ฅบ
i dont want to spend money on a computer that im fine with
bardy you have 32 gigabytes of ram lmao
What does it contain
I got 4 8GB 3200 MHz sticks running at 3000 MHz (because there isn't a profile that allows them to max out)
๐ฅฒ
alright, it doesn't spawn preload
Entities
lmao
or bootstrap any registries and stuff
Generation
nice
entities aren't preloaded
They are in spawn chunks
unless they're named
https://i.imgur.com/PPruLmZ.png CPU stats
wait what
is there actually 4000 threads running rn
Time to see if grub messes up ig
there's no way even a Ryzen 7 can deal with that
mine has 3.7k
depends what the threads are doing
i dont ๐ฅฒ ๐ข
And ryzen is a beast
so the overhead isnt going to be a big issue
yeah Ryzens are ludicrous
fuck intel
how come no one has a bad pc like me
i have ryzen too
good choice
Yeah
before the Ryzens, Intel Cores were the way to go
but Ryzens are faster and cheaper
It literally never was lmao
oh
actually, ryzen 5000 is more expensive than intel 11th gen
it's also better so it evens out ๐
Intel's fine
they knew 11th gen was shit themselves so they put the prices down ๐คก
intel is stale
fine if u allow the fact their cpus are slower, hotter, less efficient and was more expensive before ryzen 5000
๐ฅฒ
2/2 slots DIMM slots ๐ฅฒ
Classic
welp just refreshed discord so it went from 1.2gb ram usage to 400mb
that's a lot of tabs
Samee
that's a lot of tabs
๐ฅฒ
what an average developer's google chrome looks like
Everyone here simps for Linux but y'all asses be sharing Windows screenshots
gl ๐ฎ
lol
๐ฅฒ
What a bunch of hypocrisy that goes in here smh
i simp for linux as a workstation
it's shown in neofetch
you can also do uptime apparently
lmao
also my bot yesterday went down because of discord api ratelimit
yesterday
also had to use discord browser
with vpn
discord has a ratelimit??
yea
where do i find that
idk
but i googled
and it turned out i was ratelimited
discord just stays on connecting
and on browser nothing loads
unless you use a vpn
classic dkim, ur even spamming in bots
no not in bot
it ratelimited my ip
10,000 per 10 minutes
dkim what have you done
๐ฅฒ
this is 16 a second
uh
discord also says
All bots can make up to 50 requests per second to our API. This is independent of any individual rate limit on a route.
oh i evolved
lol
You know why it's so high? Want to really know why?
no comment
no one can
yea
aw
u can use imgur
yucky
successful update
grub didnt mess up
Literally it's the dev channels + off topic you can post images
๐
Lol
is there any way to specify a return value for @Contract, other than null?
i dont understand why #development has it
a few
like new, this
!null
what about empty string?
new?
Can't specify actual values though
mhm
let's see
I mean !null just means it never returns null for that input lol
mhm
pure ๐
does #chat-reaction give xp?
yes
wat
but can't remember who
for wins?
i just got 10 for 1 win
oo
A normal message is from 0-50xp
oh well then either they changed it or I was completely wrong
ill keep testing to try get a range
depending on messages length too
Yeah
@static zealot just done several tests on chat reaction, i got a range from 10-18xp per win, so its probably gonna be 10-20xp
