#dev-general

1 messages Β· Page 594 of 1

forest pecan
#

and its useful for telling information to users

#

or just ig in general

foggy pond
#

Yeah I just saw it being used above classes and methods

#

Not above fields

#

That's why I was asking

obtuse gale
#

usually fields are self explanatory by their name

#

since there is no behavior that needs explaining

foggy pond
#

I guess

#

Idk I feel like it'd be clearer tho if I explained what each of those constants is for in my case

#

Since I got like 10 different "tags"

steel heart
#

Yeah what Emily said and well written code usually reads excellent all by itself without comments (yes sometimes comments are necessary)

foggy pond
#

My code aint well written and probably wont be for another 10 years πŸ˜‚

#

I mean I'm trying my hardest ofc

#

But yeah it's not the greatest

#

Btw what are those two arrows

#

In IntelliJ IDEA

obtuse gale
#

Higher and lower chance of being what you want, based on context and usage frequency and a million other factors

foggy pond
#

Wtf

#

That's wild

humble silo
#

they document nothing and you cant tell whats going on at all

obtuse gale
#

uh what's the username length limit in Minecraft?

steel heart
#

16 I believe?

obtuse gale
#

yeah 16

reef maple
#

Hi there,
Someone who use my plugin wants to cancel an EntityDamageByEntityEvent on specific conditions with Skript. He does it successfully but my plugin stills apply the code after the cancel on the same event, even if I put the priority of my code to LOW.

Did I made something wrong ?

    @EventHandler(ignoreCancelled = true, priority = EventPriority.LOW)
    public void onEntityHurt(EntityDamageByEntityEvent event) {
        doStuff();...
    }
distant sun
#

low is called second

reef maple
distant sun
#

yes, from lowest to highest

#

the parameters order doesn't matter

#

use normal or high unless you have a reason to use LOW/LOWEST

reef maple
#

So I must put an higher priority in my plugin code ?

#

I feel a bit stupid, but that means The higher the priority is, the later it will be called ?

distant sun
#

the priority refers to what affect will have its changed to the final result of the event

#

so LOWEST changes the event first but there's 5 more priorities that can edit the data

reef maple
#

ooooh ok

#

Lowest to Monitor ?

distant sun
#

lowest to highest, you are not supposed to edit the event on MONITOR, only to use the data

reef maple
#

Alright

distant sun
bitter sluice
#

hello....ehmm..i was looking for discord help chat\discord...

#

maybe you know this strange-to-me behaviour:

#

when i'm trying to mention a 2 charaters\letters role, it doesn't always apprear in @ menu usually at the bottom....

#

i just sent a fully screenshootted email to support@discord.app ..if someone can help and want..i can forward that email to him\her. you can even use a public email if you dont want to send me your real email

static zealot
#

support to answer

bitter sluice
#

as i tought πŸ˜„ anyway thanks for reply bubye! πŸ˜„

glad spear
#

Anyone see anything wrong with this file? its a INDEX.PHP

#
<head>
  <meta charset="utf-8">

  <title>Homepage | Lockdown Prison</title>
  <meta name="description" content="Portal">
  <meta name="description" content="Mint Network is newly established Minecraft Network owned and operated by _Tradie. You can join with the IP 'play.ldprison.com'.">
  <meta property="og:title" content="Mint Network - Official Portal">
  <meta property="og:site_name" content="Mint Network">
  <meta property="og:description" content="Use the IP 'mintnetwork.co' to join today!">
  <meta property="og:image" content="https://i.imgur.com/cgb3vf8.jpg">
  <meta property="og:url" content="https://mintnetwork.co/">
  <meta name="twitter:card" content="summary_large_image">
  <link rel="icon" href="logo.png">
</head>

<?php

$phpVersion = phpversion();
if (version_compare($phpVersion, '7.0.0', '<'))
{
    die("PHP 7.0.0 or newer is required. $phpVersion does not meet this requirement. Please ask your host to upgrade PHP.");
}

$dir = __DIR__;
require($dir . '/src/XF.php');

XF::start($dir);

if (\XF::requestUrlMatchesApi())
{
    \XF::runApp('XF\Api\App');
}
else
{
    \XF::runApp('XF\Pub\App');
}```
static zealot
glad spear
#

idk im just trying to change the embed on discord haha

old wyvern
#

final class? nope!

distant sun
#

🀣

glad spear
static zealot
#

lmao no. I was just saying php is bad so people in here like BM, Yugi and others think I'm cool

glad spear
#

fair lmao

static zealot
#

never actually used php myself. lol

glad spear
#

aight ty anyway

old wyvern
#

Save your mental health

static zealot
#

:+!

#

πŸ‘

dense dew
glad spear
#

wat

dense dew
#

yes πŸ‘

old wyvern
glad spear
#

yeah it doesnt update the discord embed

old wyvern
#

If its just the image not changing, the client caches it for some time

#

yea ^

glad spear
#

this doesnt change

#

I remember it being instant last year

old wyvern
#

Hmm yea I think it should only have cached the image

glad spear
#

So in theory, what i typed should work?

old wyvern
#

That snippet is incomplete

#

Missing the closing tag

glad spear
#

let me get the full one

old wyvern
#

But the rest, yea

#

I mean the meta part should be enough

#

So unless some exception is being thrown in php you should see the proper embed

glad spear
#

This seems right hey?

#

<html lang="en">
<head>
  <meta charset="utf-8">

  <title>Portal | Mint Network</title>
  <meta name="description" content="MintNetowrk's portal">

  <link rel="stylesheet" href="css/main.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <meta name="description" content="Mint Network is newly established Minecraft Network owned and operated by _Tradie. You can join with the IP 'mintnetwork.co'.">
  <meta property="og:title" content="Mint Network - Official Portal">
  <meta property="og:site_name" content="Mint Network">
  <meta property="og:description" content="Use the IP 'mintnetwork.co' to join today!">
  <meta property="og:image" content="https://i.imgur.com/cgb3vf8.jpg">
  <meta property="og:url" content="https://mintnetwork.co/">
  <meta name="twitter:card" content="summary_large_image">
  <link rel="icon" href="logo.png">
</html>

<?php

$phpVersion = phpversion();
if (version_compare($phpVersion, '7.0.0', '<'))
{
    die("PHP 7.0.0 or newer is required. $phpVersion does not meet this requirement. Please ask your host to upgrade PHP.");
}

$dir = __DIR__;
require($dir . '/src/XF.php');

XF::start($dir);

if (\XF::requestUrlMatchesApi())
{
    \XF::runApp('XF\Api\App');
}
else
{
    \XF::runApp('XF\Pub\App');
}```
old wyvern
#

Still missing the closing tag to the final php tag

static zealot
#

<?php you're not closing this

#

that's what yugi is saying

glad spear
#

Ah

#

Beaty it works.

quaint isle
#

It is actually recommended to not close the php tag

glad spear
#

Cheers Yugi

old wyvern
#

πŸ’―

static zealot
#

yo. lava player doesn't look that complicated at all. damn. was expecting a headache just from reading the documentation. lol

wintry plinth
#

lool

prisma wave
#

Oh my goodness

gusty glen
#

who's that?

prisma wave
#

god and satan

#

In 1 person

#

The original kotlin circlrjerker

gusty glen
#

haha

#

BM, let me ask you, do you really think Haskell is the ultimate language?

prisma wave
#

unironically no

gusty glen
#

At least from a FP language perspective

prisma wave
#

well

#

I think it's very well designed, and it's probably my favourite functional language (better than Clojure Scala and F# imo)

#

But the "Haskell good everything else bad" stuff is a joke lol

gusty glen
#

yeah I know, but like, how far is Haskell from, let's say, Scala?

#

cause Scala got their own collections, mixins, etc, I think this is super cool

prisma wave
#

"far"?

#

In terms of what?

gusty glen
#

ease to use, features, compile safety, those things

prisma wave
#

They look very different, and Scala mixes Functional and OO concepts

#

uh

#

Scala is probably easier for most people

prisma wave
#

They're both pretty powerful afaik, in terms of type systems and stuff

#

Yea

#

Kotlin stole a bunch of ideas from Scala lol

gusty glen
#

where are my mixins then?! angry_fingerguns

prisma wave
#

☹️

#

Kotlin bad

#

no higher kinded types either

gusty glen
#

may I ask what are higher kinded types?

prisma wave
#

like, generics of generics

#

If java had them you'd be able to do class Functor<F<A>> or something

gusty glen
#

wait, oh, so basically generics in Scala are reified?

prisma wave
#

idk

#

but the point is that your generic types can be generic

gusty glen
#

I see, that is soooooo cool ik

prisma wave
#

F<A> wouldn't work in java

#

Yea

#

It's nice

#

In Haskell it means that, for example, map always returns the same type

#

mapping a list gives a list, mapping a Maybe gives a Maybe, etc

#

Haskell and Scala good, kotlin bad

gusty glen
#

I think Haskell really nailed FP concepts as far as I see, but is Scala compatible with Spigot (can it be used to build plugins)?

prisma wave
#

yes

#

Afaik the interop is just as good as kotlin's

gusty glen
#

this in scala def wrap[A](a: A): T[A] is equivalent to kotlin's fun <A> wrap(a: A): T<A>, right?

prisma wave
#

I think so

#

ive barely used scala

gusty glen
#

I might test scala sometime in the future, for reference, it seems really interesting

prisma wave
#

Scala GOOD

#

Scala 3 also seems really cool

#

You can mix braces and indentation based syntax and stuff

gusty glen
#

look at THAT!

prisma wave
#

Following Haskell, Scala was the second popular language to have some form of implicits. Other languages have followed suit. E.g Rust’s traits or Swift’s protocol extensions. Design proposals are also on the table for Kotlin as compile time dependency resolution, for C# as Shapes and Extensions or for F# as Traits. Implicits are also a common feature of theorem provers such as Coq or Agda.

#

🀩

gusty glen
#

what are "implicits"?

prisma wave
#

No idea

gusty glen
prisma wave
#

I think they're similar to type classes in Haskell, kinda similar to mixins

#

Like you would do "extension functions" with an implicit class in scala

#

So yeah i think it's for polymorphism

#

And stuff

#

No

#

Shush

obtuse gale
prisma wave
#

shush

prisma wave
#

you fell off

#

(+ratio)

obtuse gale
#

There we go

remote goblet
#

L + Ratio + Youngboy beta + you fell off

static zealot
#

so. I am thinking of rewriting all my kotlin stuff in java

obtuse gale
#

Kotlin bad

static zealot
#

just because

#

lmao

#

to lazy to write new shit

#

so time to rewrite old shit for the 6th time

#

also stupid

obtuse gale
#

Ayy

static zealot
#

Nah. I was kidding lol. its just a random thought I had. am actually working on adding music to my bot

#

trying to recreate Rythm but private (just for me) lol

static zealot
#

How would I check if my bot is connected to a voice channel using JDA? Do I have to go thru each channel and check if anyone is connected and if there is someone check if its my bot? Or is there some method I can use in jda to check directly on my bot?

distant sun
#

d;jda Member#getVoiceState

ruby craterBOT
distant sun
#

probably can use this

static zealot
#

oh right. I wasn't sure how to get the bot itself. but I can use Guild#getSelfMember

#

ty gaby

distant sun
#

Np

old wyvern
#

Anyone got any idea what the node for areturn instruction is in ASM?

half harness
#

umm anyone know how I could debug my server just stop responding ;-;
I'm caused by my plugin but I have no idea what's causing it - and the last message that shows is Server thread dump (Look for plugins here before reporting to PaperSpigot!): (but nothing is dumped even after a couple minutes)

ocean quartz
#

PaperSpigot thonking

half harness
#

1.8

#

and also the code that is probably causing the issue is running async - except Entity#teleport and get entity

#

πŸ€”

#

and tps stays at 19

#

:/

#

okay i managed to get a spark report showing my plugin taking 48%

#

pog

#

πŸ₯² (set viewing mode to show my plugin)

#

πŸ€”

#

oh its creating a new thread

half harness
#

hm

#

how many threads is considered "a lot"

old wyvern
#

More than the value of your processor's parallelism value

obtuse gale
#

^

old wyvern
obtuse gale
#

!!!

#

I was going to share that!!!

old wyvern
#

ayy xD

obtuse gale
#

great minds fingerguns

old wyvern
half harness
prisma wave
#

Wait no

#

JAVA GOOD

half harness
#

🀨

prisma wave
#

mind your own business

half harness
#

o-okay

prisma wave
half harness
#

🀨

#

but

#

it says

#

java.util.Collections

prisma wave
#

Why are you using a synchronized collection?

#

Also show ur code

half harness
#

because im running async stuff

prisma wave
#

With the collection and the executor service

half harness
#

so i want to be safe

prisma wave
#

ConcurrentHashSet >

half harness
#

Β―_(ツ)_/Β―

prisma wave
#

synchronized bad

#

ew

half harness
#

oh

prisma wave
#

val logs = ConcurrentHashSet<String>() >

half harness
#

its not ordered tho 😩

prisma wave
#

ah

#

True

#

Oh wait I know this

#

It's like

half harness
#

i use the list to eventually run a logs command

#

so that it doesn't spam console

prisma wave
#

ConcurrentSkipListSet or something

#

Maybe

#

Or a queue

half harness
#

πŸ‘€

#

is it faster?

prisma wave
#

Well synchronization is not ideal

#

Has some overhead to acquire the lock + might block your threads

half harness
# half harness

btw how come thats 31%? when the percents below add up to 14.59

potent nest
#

best is to avoid writing to one collection from multiple threads

half harness
#

i mean, a lot of my code is running async soo

prisma wave
#

So use a concurrent implementation

half harness
#

wdym?

prisma wave
#

ConcurrentLinkedQueue is probably what you want

#

Should be O(1) append and remove

potent nest
half harness
#

whats the diff between that and synchronized?

prisma wave
#

synchronized just blocks, concurrent is much more complicated but more efficient

half harness
#

i forgot what queues are ;-;

prisma wave
#

Queue is close enough to list

potent nest
#

one makes heavy use of synchronization and the other try to avoid synchronization (and may be lock-free)

prisma wave
#

in this case it is anyway

half harness
prisma wave
#

clever stuff

potent nest
#

a lot of magic

#

dark magic

prisma wave
#

atomic variables and Unsafe calls and shit

half harness
#

πŸ‘€

#

d;queue

ruby craterBOT
#
public interface Queue
extends Collection<E>```
Queue has 2 super interfaces, 1 extensions, 13 implementing classes, 6 methods, and  4 sub interfaces.
Description:

A collection designed for holding elements prior to processing. Besides basic Collection operations, queues provide additional insertion, extraction, and inspection operations. Each of these methods exists in two forms: one throws an exception if the operation fails, the other returns a special value (either null or false, depending on the operation). The latter form of the insert operation is designed specifically for use with capacity-restricted Queue implementations; in most implementations, insert operations cannot fail.

| | Throws exception | Returns special value |
| Insert | add(e) | offer(e) |
| Remove | remove() | poll() |

Examine element() peek()
[Summary of Queue methods]

Queues...

This description has been shortened as it was too long.

Since:

1.5

half harness
#

it extends Collection

#

so can i basically treat it as a list?

#

or are queues different

prisma wave
#

But doesn't extend List for some reason πŸ˜΅β€πŸ’«

potent nest
#

a Collection isn't a List

prisma wave
#

Functionally they're very similar so yes

#

Well yeah

#

It doesn't extend list but it has all the functionality you need in this case

half harness
#

hm

#

also

feral notch
half harness
#

is the queue head the first element?

feral notch
#

Does this work?

half harness
#

no

#

well

#

no need for the plugin variable

prisma wave
feral notch
half harness
prisma wave
#

probably maybe try it and see

#

You should know that head = first smh

#

head:tail

half harness
#

ah right

#

i remember it from haskell

prisma wave
#

yes you do

#

😌

#

Anyway

#

With that said, I doubt adding to a list is really taking 30% of your processing time

#

Oh

#

Um

#

ConcurrentLinkedQueue#size might be O(n)

#

Which is maybe an issue

half harness
#

πŸ’€

half harness
#

okay well

prisma wave
#

πŸ’€

half harness
#

but

#

still

prisma wave
#

well

half harness
#

i doubt have 100k logs already

prisma wave
#

You could probably implement the size yourself with an atomicinteger

half harness
#

trueee

prisma wave
#

Given that you know it'll only be adding 1 message at a time, it's probably fine

#

And you don't need to care about 100% thread safety for the size anyway

half harness
#

or

#

what if i go extra safe

#

and i make a class extending ConcurrentLinkedQueue

prisma wave
#

πŸ˜΅β€πŸ’«

half harness
#

😌

prisma wave
#

to do what...?

half harness
#

wdym

#

count

#

so

prisma wave
#

eeehhhh

half harness
#

and override #size

#

Β―_(ツ)_/Β―

#

DkimCore ConcurrentLinkedQueue19375 😌

prisma wave
#

I think it's O(n) out of design, thread safety is confusing but I don't think you can get a reliable store for the size

half harness
#

but

prisma wave
#

I feel like there's something good in apache utils for this

#

Lol

half harness
#

d;help

ruby craterBOT
#
Help:

Command(s): d;info
Example: d;info
Description: Display info about the bot.

Command(s): d;docs, d;javadocs
Example: d;javadocs
Description: Get a list of javadocs.

Command(s): d;prefix
Example: d;prefix <prefix>
Description: Set the server's command prefix.

Command(s): d;algorithm
Example: d;algorithm <algorithm>
Description: Set the server's algorithm.

prisma wave
#

Maybe not

half harness
#

d;docs

ruby craterBOT
#
Miscellaneous:

Javadocs that don't fit into other categories.

β€’ caffeine                  β€’ gson
β€’ commons-cli               β€’ guava
β€’ commons-codec             β€’ guice
β€’ commons-collections4      β€’ helper
β€’ commons-compress          β€’ helper-sql
β€’ commons-configuration2    β€’ javacord
β€’ commons-crypto            β€’ jda
β€’ commons-email             β€’ processing
β€’ commons-io                β€’ snakeyaml
β€’ commons-lang3             
β€’ commons-logging           
β€’ commons-text              
β€’ configurate-core          
β€’ configurate-hocon         
β€’ configurate-json          
prisma wave
#

I was thinking of CircularQueue but that's not thread safe

half harness
#

ooh matt

#

hi

prisma wave
#

So same problem

ocean quartz
#

Hello

prisma wave
#

linkedqueue with a manual count is probably your best bet

half harness
#

d;commons-collections4 CollectionUtils#size

ruby craterBOT
#
public static int size(ObjectΒ object)
throws IllegalArgumentException```
Description:

Gets the size of the collection/iterator specified.

This method can handles objects as follows

  • Collection - the collection size
  • Map - the map size
  • Array - the array size
  • Iterator - the number of elements remaining in the iterator
  • Enumeration - the number of elements remaining in the enumeration
Since:

3.1

Returns:

the size of the specified collection or 0 if the object was null

Throws:

IllegalArgumentException - thrown if object is not recognized

Parameters:

object - the object to get the size of, may be null

half harness
#

Β―_(ツ)_/Β―

prisma wave
#

or

prisma wave
#

It's something about how both the head and tail could be modified independently, so it could get desynced according to SO but idk

#

It's confusing and a pretty advanced subject

#

In your case it's probably fine because you're only modifying the head and tail sequentially

half harness
#

how do u modify the tail?

#

or do u mean #add

prisma wave
#

Yea

#

Anyway, alternative idea: make logDebugInfo non-blocking (i.e it just submits the add / removeFirst code to an ExecutorService). Then you don't need a thread safe collection, and it's a lot cheaper (because logging should be very cheap)

half harness
#

d;Executors#newSingleThreadExecutor

ruby craterBOT
#
public static ExecutorService newSingleThreadExecutor()```
Description:

Creates an Executor that uses a single worker thread operating off an unbounded queue. (Note however that if this single thread terminates due to a failure during execution prior to shutdown, a new one will take its place if needed to execute subsequent tasks.) Tasks are guaranteed to execute sequentially, and no more than one task will be active at any given time. Unlike the otherwise equivalent newFixedThreadPool(1) the returned executor is guaranteed not to be reconfigurable to use additional threads.

Returns:

the newly created single-threaded Executor

half harness
#

using this?

prisma wave
#

Yea

#

That seems like the most practical

#

Given that you won't need the messages immediately

half harness
#

yea

#

well

#

nvm

prisma wave
#

i.e you can afford the few hundred ms that it might take for the service to process the queue of messages

half harness
#

wait a minute

#

TY

#

its not showing in spark anymore :D

#

not this again 😩

prisma wave
#

stop using synchronized smh

#

ConcurrentHashMap is a thing

half harness
#

ty

#

i should probably change it in DkimCore too

#

what about the set?

prisma wave
#

ConcurrentHashMap.newKeySet

half harness
#

ty

old wyvern
#

ConcurrentBristerMitten

prisma wave
#

😳

half harness
#

πŸ‘€

#

hmm

#

what could i do to get an entity from uuid faster

#

than looping through worlds and entities

prisma wave
#

cache it ig

old wyvern
#

Run a 2-way USB connector through a wormhole a few milliseconds forward and connect it back to your PC, send entity's uuid now through the cable and you should already have it before you send it

half harness
#

πŸ‘€

prisma wave
#

UUID -> Entity is almost pure so you can memoize it

half harness
#

memoize?

prisma wave
#

cache

old wyvern
#

Store it in a hashmap

prisma wave
#

Essentially

#

Yea

half harness
#

when should i make it expire?

prisma wave
#

Just make sure to not store if getEntity == null

half harness
#

in case the entity goes invalid or something

prisma wave
#

maybe never

#

It won't be invalid

old wyvern
#

Pretty much the answer whenever some interviewer asks you to make something faster

half harness
#

but

old wyvern
#

Throw a hashmap at it

half harness
prisma wave
#

Just remove if Entity#exists returns false

#

Or isAlive or whatever it is

half harness
#

hmm

#

iirc i tried that before but i forget the results so time to try again fingerguns

prisma wave
#

memoizing is always the answer

#

how to make O(1) factorial function

half harness
#

🀨

old wyvern
#

πŸ₯²

#

sadly

prisma wave
#

O(1) ish

#

O(1 or maybe n!)

half harness
#

do u think #isValid requires to be called sync

old wyvern
#

Ξ©(1) O(n!)

prisma wave
old wyvern
half harness
#

theres no async catcher

#

but

#

it compares variables

#

and its not atomic

#

so

prisma wave
#

yeah

#

it wont necessarily be the most recent state

#

but it won't cause errors necessarily

old wyvern
#

Also btw

#

You wanted UUID -> Entity right?

half harness
#

yes

old wyvern
#

d; spigot Bukkit#getEntity(UUID)

ruby craterBOT
#
@Nullable
public static Entity getEntity(@NotNull UUID uuid)```
Description:

Gets an entity on the server by its UUID

Returns:

the entity with the given UUID, or null if it isn't found

Parameters:

uuid - the UUID of the entity

half harness
#

Bukkit.getEntity = no cache = slow

old wyvern
#

ah

prisma wave
#

it might just mean that you might not remove the entity from the cache immediately

half harness
#

but if the variables being compared in isValid are changed at the same time i call #isValid

#

wouldn't it throw an error?

prisma wave
#

shouldnt do

#

for better or for worse

half harness
#

wait

#

then what are atomics for

prisma wave
#

if the variables arent atomic / volatile then the thread probably wont see the changes

half harness
prisma wave
prisma wave
#

reading from multiple threads wont cause errors but things might be out of date

old wyvern
#

What is the implementation class for Server?

#

CraftServer?

prisma wave
#

ye

old wyvern
#

Uh

#

I dont think Bukkit.getWorld is very intensive

#

How many worlds do you have?

half harness
#

getEntities is the one that needs the cache

old wyvern
#

yea getEntities

#

I meant that

half harness
#

i test with 500 cows

old wyvern
#

It doesnt go over each entity

#

it fetches from an IntHashMap

half harness
#

wait what

old wyvern
#

Those are just worlds

half harness
#

ohhhhhhhhhhhhhhhhhhhhhhhhh

old wyvern
#

I'd assume no user has more than 10-20 worlds

#

Anything more than that and they probably have other issues to worry about

half harness
#

πŸ₯²

#

this is 1.8 tho ;-;

#

not my fault

old wyvern
#

Check the source for 1.8

half harness
#

doesn't exist

#

im making this for a server so i have no control ☹️

obtuse gale
#

ez

old wyvern
half harness
#

πŸ‘€

old wyvern
#

Cant find Server#getEntity

old wyvern
#

What are you using?

half harness
old wyvern
#

Are you using Bukkit#getEntity?

half harness
#

i can't

#

1.8

#

but

#

what if i access the variable

old wyvern
#

It doesnt exist in 1.8?

half harness
#

nope

old wyvern
#

Loop through the worlds and use getEntity

half harness
#

wait what

#

oh

obtuse gale
#

lol why is that on github

#

xD

half harness
#

i was looking at CraftServer

old wyvern
#

ah right thats the nms version

#

But I assume logically World calls this if it has a similar method

half harness
#

im already using nms in the plugin

#

so

old wyvern
#

ah alrighty

old wyvern
#

Its been there for a few years now

half harness
#

btw

#

how do u convert nms entity to bukkit

#

nvm

#
fun UUID.getEntity(): Entity? {
    for (world in Bukkit.getWorlds()) {
        val entity = (world as CraftWorld).handle.getEntity(this) ?: continue
        return entity.bukkitEntity
    }
    return null
}
```ez
#

😎

#

ty

old wyvern
#

Does this color scheme look bareable?

#

Ignore the weird logo

#

placeholders

half harness
#

yea, although one thing i'd change is the contrast between the text and the background

#

Β―_(ツ)_/Β―

#

they're both bright purple/blue

old wyvern
#

hmm, how about the colors in the dark theme?

half harness
#

imo it looks nice :)

old wyvern
#

πŸ˜„ phew

rotund egret
#

Making an app?

old wyvern
#

Rewriting it

rotund egret
#

Neat

old wyvern
#

Its currently a complete clusterfuck

rotund egret
#

All code is

old wyvern
#

πŸ₯²

obtuse gale
#

tru

rotund egret
#

You just clusterfuck it into an understandable version and then someone else does that later

#

The cycle of code 🌈

old wyvern
#

πŸ₯²

half harness
frail glade
#

Not bad.

half harness
#

HI GLAREE :D

#

why no waffles D:

frail glade
#

Can't afford them right now πŸ˜›

potent nest
#

Hello Glare

austere granite
#

Hi!

half harness
#

hi

wintry plinth
humble silo
wintry plinth
#

Yeah, main thing here is you need a colour palette from the start, usually I go with a 100-900 (9 shade) palette

#

With tints and shades of a base colour, so everything flows on the app

feral notch
#

Ok can someone help me rq. I dont get any error's in my console but the plugin ain't working yk

sweet cipher
abstract hearth
#

GitHub copilot being a legit wizard, just deprecating a renamed command, and i get this as a suggestion

half harness
#

πŸ‘€

golden sun
#

Ayo anyone here good with Big O Notation?

half harness
#

but probably not enough to answer ur question (assuming u have one) πŸ₯²

golden sun
half harness
golden sun
half harness
#

wait what is this πŸ‘€

#

im pretty sure b is false

#

btw

#

Β―_(ツ)_/Β―
idk python so i can't answer c

eternal compass
#

man I've spent so long staring at discord embeds I'm starting to really dislike them lmao

#

(I'm working on am impl for myself)

golden sun
eternal compass
steel heart
#

c seems to be false given that the set S uses a hash table or smtng

prisma wave
#

B is false, it's logn not 10^n

#

Pretty sure C is also false because python sets are hashed

#

And Counting sort isn't a comparison algorithm

wintry plinth
static zealot
#

is there a way to report scam links? like somehow get them taken down?

#

just witnessed a scam spreading to hundreds of people in minutes.

#

oh google has a safe browsign thing

#

I wonder how much it will take to take it down.

#

well hide it I guess

lavish notch
#

Not kidding

#

A lot of the discord phishing domains I found are registered with tucow domains

wind patio
#

New project guys, what do you think

dense dew
#

perfect

hot hull
#

Go outside, touch the grass

static zealot
#

it was sent on whatsapp.

#

its a phishing link for boomers.

static zealot
#

oh. is earnet what they bought it from?

#

Ic.

#

they also seem to be using cloudflare

#

not sure where to report it

lavish notch
#

To lookup registrar

static zealot
static zealot
lavish notch
#

Either one does the job, but it allows me to get the email for the registrar

static zealot
#

so. u got a template for a report email?

lavish notch
static zealot
#

yeah

lavish notch
static zealot
#

time to find how to contact this company

lavish notch
# static zealot so. u got a template for a report email?

The domain name DISCORDI.GIFT is using services provided by you and has been used in connection with phishing attempts relating to the platform, Discord (discord.comv).

I kindly request you deactivate the services associated with this domain to prevent further victims from being affected.

The premise of the Phishing attempt is users are offered free nitro (Nitro is a paid subscription with Discord) just by following the link and signing in. Once that happens, their login details are captured and then used as you see here (See screenshot) to further spread the phishing attempt.

dense dew
static zealot
static zealot
lavish notch
static zealot
#

but will try anyways

#

anything that might help

#

lol

lavish notch
static zealot
#

yeah. attaching those as well

#

lmaooooooooooo

lavish notch
static zealot
#

I got an email back from the company that the phishing website was acting as

#

they just told me that they've seen a lot of these scams and to be careful to not click on them

static zealot
#

they didn't tell me anything about that. just to not click on them lmao

#

and that they're aware of em

#

apparently there's a surge in these types of links

#

as well

lavish notch
#

Yeah, the discord one blew up

static zealot
#

its not discord

#

as I Said

#

they're acting as a large store chain in Romania

#

and going for boomers

lavish notch
#

Yeah, I'm just saying the discord one blew up :D

static zealot
#

they all did

#

all phishing scams

#

its like every scammer just planned together a large attack lmao

#

@lavish notch I love that on the website they ask: What are you: Human or Female :)))))

static zealot
#

oh damn. they switched it

#

holy shit

#

I just found like an entire fucking hive of scam links

#

so there's a link that reddirected to the scam and now it reddirects to another scam

#

that's basically the same just you win an Iphone 13

#

@lavish notch u know where I Can find an email address for cloudflare?

static zealot
sweet cipher
prisma wave
#

Not if I get there first!

static zealot
#

cloudflare doesn't let me use imgur to send evidence. but it wants URLs as evidence πŸ₯²

#

it doesn't let me just attach the files

#

and it doesn't let me use multiple hosts either... so I can't use youtube for videos and imgbb for images πŸ₯²

sweet cipher
gusty glen
#

I just don't get how people can be stupid enough to believe there's such thing as "free" things (Nitro or whatever, this is service independent)

inner umbra
#

At one point

gusty glen
#

but not through shady private messages

static zealot
#

and now its not that hard for me to understand

#

because not everyone that uses discord or anything else knows anything about urls and stuff

#

and free stuff exists

#

otherwise this wouldn't happen

dawn hinge
#

Especially giveaways

static zealot
#

nah

#

a big store chain in our country. and I understand completely how she fell for that. she works in a big store and the store does occasional giveaways that look very similar. and she knows nothing about links/urls/ips and stuff like that

#

if you would show me the page without the url I'd say its real

#

but I saw the url

gusty glen
#

yeah I was talking mostly about these subscriptions offered by Discord, etc, fake pages of real (physical) companies are on another level

static zealot
#

nah. its the same for discord

#

as well

gusty glen
#

cause they basically clone the real website

static zealot
#

that's what they always did with steam that's what they do with discord now

#

its very very easy to fall for it

#

if you don't know about this stuff

#

even if you know about links and you don't know about these type of scams

#

you don't look if its real discord or not

gusty glen
#

do you know one simple trick that has always saved me, blitz? Using a password manager

static zealot
#

you just look at the prize

#

I use one

#

but I ain't going to get my mom to use one. she doesn't even care about her email password. I have to remember it for her

#

she never has to use her email

gusty glen
#

cause it auto fills the credentials on the real website, and it's not fooled by any of the tricks scammer tipically uses

gusty glen
static zealot
#

not gonna teach her anything more

gusty glen
#

was it that bad, like, what did the scammers took (information wise) from her?

static zealot
#

they didn't take anything. but it required home address, email and phone number

#

to send the prize

#

but they also make them send the link to 20 more people

#

before "getting the prize"

sweet cipher
#

You can send it to me so she can get the prize

#

20 people is tough

static zealot
#

and guess who she has friends on wapp or facebook... other boomers

gusty glen
#

but I'm glad she didn't lose anything

static zealot
#

literally all her messages were that link either sent or received. had to go to each one and warn them

#

I mean to be honest. she would probably not care. and if they were to call her about one of those "confirm your 500$ order" scams after she wouldn't fall for that

old wyvern
wintry plinth
old wyvern
#

Where can I find a tool to generate that?

wintry plinth
old wyvern
#

eh?

static zealot
wintry plinth
#

enter your main colour in there

#

and it'll give you hex codes

old wyvern
#

Alrighty, thanks

wintry plinth
#

:)

#

i'd recommend using figma also, instead of MSPaint

old wyvern
#

That isnt mspaint

#

wireframepro

wintry plinth
#

it looked super pixlated

#

oh

old wyvern
#

I took a screenshot

wintry plinth
old wyvern
#

hence the reoslution

lavish notch
#

just use wordpress πŸ˜„

wintry plinth
#

LOL

#

wordpress, πŸ˜‚

lavish notch
old wyvern
#

?

static zealot
#

probably wanted to say that its made with wordpress

old wyvern
#

ah

#

good job?

wintry plinth
prisma wave
#

bad job

#

WordPress bad

static zealot
#

ok

prisma wave
#

Yep

#

My opinion is better than yours

prisma wave
#

stop the gif spam. Now.

prisma wave
#

Or I will see to it that you get REMOVED from the server.

old wyvern
prisma wave
#

wtf

old wyvern
#

πŸ₯²

#

xD

#

ok ill stop

prisma wave
#

You don't wanna mess with me, punk.

gusty glen
#

can you think in a reason to use the concrete class of a collection/map instead of the interface it implements for class members? if yes, what would be such reason?

e.g.java class Jooj { private final Map<String, String> someMap = new HashMap<>(); private final List<String> someList = new ArrayList<>(); } vs java class Jooj { private final HashMap<String, String> someMap = new HashMap<>(); private final ArrayList<String> someList = new ArrayList<>(); }

ocean quartz
#

Liskov says no

wind patio
#

Liskov 😩

prisma wave
#

if we're being pedantic i have heard that that actually has nothing to do with liskov

#

source: johnny

#

lol

somber tulip
#

What is 'the sxtanna phase?" haha, I know who they are but what exactly did they do?

potent nest
#

it's basically just about flexibility and abstracting implementations from interfaces

#

if you need exactly an ArrayList, it's fine to use it directly

#

but Collection or Iterable might be sufficient for your use case instead

jovial warren
prisma wave
#

"used to"

#

guess who's back

prisma wave
#

java bad, kotlin good

#

true peace

onyx loom
#

πŸ₯΄

prisma wave
#

until the dreaded papi update

somber tulip
#

ah I remember getting bullied for using java lmao, that was all sxtanna's doing?

static zealot
#

mostly

prisma wave
#

pretty much

#

he started it

#

and then everyone else followed

wind patio
#

kotlin bad, java good

static zealot
jovial warren
obtuse gale
prisma wave
jovial warren
#

oh I know exactly where that is

prisma wave
#

for legal reasons i cannot mention the server

#

as a respected staff member i would never advertise my own servers

#

but

#

real ones know where i mean

obtuse gale
#

It is in a developer den
Which one I do not know

prisma wave
#

yes!

wind patio
#

well, he's in

ocean quartz
wind patio
prisma wave
#

yes indeed

#

a discord server that any cool person would have in their "about me"

#

but idk which

static zealot
#

oh my god.

old wyvern
steel heart
#

For instance LinkedList might be one case

distant sun
#
        // Running subcommand
        try {
            final String subCommandName = args[0].toLowerCase();
            final String subCommand = utils.getCommandsAliases().getOrDefault(subCommandName, subCommandName);
            final BanCommand banCommand = (BanCommand) Class.forName("fr.andross.banitem.commands.Command" + subCommand)
                    .getDeclaredConstructor(BanItem.class, CommandSender.class, String[].class)
                    .newInstance(this, sender, args);
            return banCommand.runTab();
        } catch (final Exception e) {
            return Collections.emptyList();
        }```
@old wyvern horrible tab completion integration p2
cursive turtle
#

hello i try to connect to calls it says RTC connecting then No Route

#

please help

half harness
#

aaaaaaaaaaaaaaa if the hologram doesn't exist/is unloaded why isn't it printing in stored holograms even though i don't check if the entity exists??????

D:

#

i even made this little check in #get and the first call was from the code above

#

πŸ˜–

eternal compass
#

lets gooo

#

I finished my inline embed creator thinggy

#

finishing things is soo nice

forest pecan
#

Hey @old wyvern it says the slimjar maven couldn't be found. Did you delete it or smthing?

half harness
#

oracle vps πŸ’©

forest pecan
#

Yea i heard stuff about that

half harness
#

hopefully he'll get another vps or smth D:

forest pecan
#

Yea

#

do i have to jitpack rn

#

i dont jitpack actually works

half harness
#

if only it was maven central 😌

forest pecan
#

rip

half harness
#

although i wished maven central let u delete artifacts

eternal compass
#

more discord UI recreation :p

#

anyone a css genius and know how to make markers at specified %s along a div?

hot hull
#

@ocean quartz Did you ever finish triumph chat?

onyx loom
#

Good joke frosty

old wyvern
#

Ill get the repo back up by the 10th

#

After that im porting everything to central and removing the mirror like matt said so this hassle doesnt repeat

#

I can push it to bm's repo for now if you want

ocean quartz
#

Sadly not

hot hull
#

Ah okay

copper hound
#

Anyone that can help me?

old wyvern
#

Noone

#

Ciao

half harness
compact perchBOT
#
FAQ Answer:
Β» Give the helpers some details
Β» Ask suitable questions
Β» Be polite
Β» Wait

Source

copper hound
#

?help

compact perchBOT
#
FAQ Answer:
Β» Give the helpers some details
Β» Ask suitable questions
Β» Be polite
Β» Wait

Source

copper hound
#

Dont ask to ask what does that mean?

static zealot
#

don't ask if you can get help

#

bcz no one will answer that

copper hound
#

Huh that what do i have to do

#

than*

static zealot
#

instead tell us what the problem is

copper hound
#

oohh

static zealot
#

and if we can we'll try.

copper hound
#

Yeh i try to make a perk shop

#

with the menu

static zealot
#

in deluxemenus?

copper hound
#

Yes

static zealot
#

and give as much information there when asking for help

#

like error logs, configs etc.

copper hound
#

Ye

#

the thing is

static zealot
#

what's wronging, what's not, how it is supposed to work.

copper hound
#

i want to add permission to the item

#

and sell it at the same time

static zealot
#

as I said. you'll have to move to #general-plugins. people in this channel are developers. most of them don't use deluxemenus or never did

copper hound
#

okay

gusty glen
#

haha look at this meme what I've found on Spigot

#

the guy who posted it was mad bcz no offline mode support haha

prisma wave
#

Why did you censor the idiot's name

#

We all recognise that profile picture

gusty glen
#

I didn't censor anything, he did

prisma wave
#

:)

#

Oh

gusty glen
#

if you want to have fun haha

static zealot
#

someone wants to get banned

gusty glen
#

why?

static zealot
#

... he called me an idiot

#

you can't call staff members that

#

smh

prisma wave
#

I will do it again

static zealot
prisma wave
#

ok. idiot

static zealot
prisma wave
static zealot
#

you really want cube to ban you? I'd take that post down rn

#

the rules clearly state no NSFW!!

#

content

hot hull
#

:moan:

static zealot
forest pecan
#

Is there a gradle plugin that can clone a repo and build on its own into local

#

that would be cool

#

So i dont have to use jitpack for my own repos

old wyvern
#

Maybe this

half harness
#

rip embeds

static zealot
#

I was joking @old wyvern

forest pecan
#

i will give it a shot tho

half harness
old wyvern
old wyvern
wind patio
#

hey, I have this

processResources {
    inputs.property "version", project.version

    from(sourceSets.main.resources.srcDirs) {
        include 'plugin.yml'
        expand 'version': project.version
    }

    from(sourceSets.main.resources.srcDirs) {
        exclude 'plugin.yml'
    }
}
#

and I'm getting an error on gradle 7.0

Execution failed for task ':processResources'.
> Entry plugin.yml is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.0/dsl/org.gradle.api.file.CopySpec.html#org.gradle.api.file.CopySpec:duplicatesStrategy for details.
#

it was working fine with 6.0

#

and what do you know, the page https://docs.gradle.org/7.0/dsl/org.gradle.api.file.CopySpec.html#org.gradle.api.file.CopySpec:duplicatesStrategy doesn't exist

half harness
#

in processResources

#

also

wind patio
#

what's up

half harness
#

why do u have include and then exclude

wind patio
#

oh I must've left it from previous project, yea, had some weird issues previously

supple delta
#

Hi, someone can help me for create Kits with DM?
I tried but it doesn't work .. Just 1 model with a system to collect the essentials kits every 3 hours

wind patio
supple delta
#

thank's

wind patio
#

You can get DM help there

supple delta
#

Thank's

forest pecan
#

yo is it fine if i do

listOf("api", "v1_17_R1", "v1_16_R3", "main", "lib", "deluxemediaplugin").forEach {
    include(it)
}

Instead of like

include("api")
include("v1_17_R1")
include("v1_16_R3")
include("main")
include("lib")
include("deluxemediaplugin")
#

i feel like the first one seems more concise

obtuse gale
#
include(
        "api",
        "lib",
        "main",
        // ...
)
forest pecan
#

Im a dumbass

#

πŸ™‚

obtuse gale
#

Lol

forest pecan
#

looks like i need to pay attention to the actual arguments of the method more

#

XD

#

but for

#
mapOf(
    Pair("api", "ezmediacore-api"),
    Pair("v1_17_R1", "v1_17_R1"),
    Pair("v1_16_R3", "v1_16_R3"),
    Pair("main", "ezmediacore"),
    Pair("lib", "ezmediacore-lib"),
    Pair("deluxemediaplugin", "deluxemediaplugin")
).forEach {
    findProject(it.key)?.name = it.value
}
obtuse gale
#

Yeah that works fine, though "key" to "value" is the preferred way of making Pairs

forest pecan
#

ah

#

ok

static zealot
forest pecan
static zealot
#

oh. thought there's a difference on what it does internally

obtuse gale
#

None

#

It's just semantics, because "you map this to that"

forest pecan
#

Why is this the case?

#

For example:

#

(the question im asking is why do I have to include the quotes around?)

humble silo
forest pecan
#

Ah

#

I see

humble silo
#

I need 16 more xp

#

so keep talking to me

static zealot
#

ok sir I will be talking with you

humble silo
#

Very good

static zealot
#

that gives xp

humble silo
#

What is a chat reaction

static zealot
#

just 9 xp to go @humble silo I have to say that's not a lot

humble silo
#

lol

static zealot
#

... just say random things lmao

#

quote a wiki article

humble silo
#

Uhhhhh

#

OOp

#

first one on my clipboard

#

nvm

#

uhhhh

static zealot
#

barry doesn't count 1-2 word sentences., you need to like talk

#

idk about links.

humble silo
#

alright, what else do i need to say??????

static zealot
#

also. it might take a minute for the database to update

humble silo
#

Uhhhh, Barry, can you give me like 9 xp pls?

compact perchBOT
static zealot
#

om

#

g

humble silo
#

yayyaya

static zealot
#

lmao

humble silo
#

lol

#

omg

#

cool name

#

color

#

I am insane

#

You can just donate all your xp to me at this point

static zealot
humble silo
#

im coming for first place

compact perchBOT
static zealot
#

ok

#

good luck

humble silo
#

ez

#

smh

#

what am i at

static zealot
#

you only need to get what you have once more and another million

humble silo
#

67 k

static zealot
#

lmao

humble silo
#

nice

#

ez

static zealot
humble silo
#

not even hard

#

lol

half harness
static zealot
#

yes. I know dkim. it updates every few minutes. I assume it also updates when you do the command?

humble silo
#

Wow so i probably already have the mil xp

#

thats what im hearing

#

barry just isnt telling us

static zealot
half harness
#

btw is it possible to include spark in something other than spigot?

#

or are there other tools made for this purpose

frigid badge
#

welcome to profilers

static zealot
#

πŸ‘

half harness
#

uh

#

how do I use a bit mask?

#

actually

#

xD i just accidentally made a packet that crashes the client

#

whoops

#

:(