#dev-general

1 messages · Page 620 of 1

cinder flare
#
        list.get().getResidents().stream()
                .map(Resident::getUUID)
                .map(ChatChatPlugin.audiences()::player)
                .collect(Audience.toAudience())
                .sendMessage(source, message, type);```
#

cool stuff like that

obtuse gale
#

ah fluent

#

yeah

cinder flare
#

fluent?

obtuse gale
#

fluent style yeah that's what it's called

#

well, at least in the java world

forest pecan
#

functional

obtuse gale
#

but stuff like builders, streams, etc are fluent APIs

cinder flare
#

oh I just think of streams and functional

forest pecan
#

vavr

#

(:

obtuse gale
#

it's sick

cinder flare
#

can do similar things with python, just not as nice

#

i been implementing those a little bit in my work

#
        return format.parts().stream()
            .map(part -> PlaceholderAPI.setPlaceholders(player, part))
            .map(part -> PlaceholderAPI.setRelationalPlaceholders(player, recipient, part))
            .map(part -> replaceRecipientPlaceholder(recipient, part))
            .map(part -> MessageUtils.parseToMiniMessage(part,
                Placeholder.component("message", !player.hasPermission(URL_PERMISSION)
                    ? message
                    : message.asComponent().replaceText(URL_REPLACER_CONFIG))))
            .collect(Component.toComponent());```
#

look at this shit

#

i love it

obtuse gale
forest pecan
#

aghhh that ternary operator

obtuse gale
#

!player.hasPermission(URL_PERMISSION)
? message
: message.asComponent().replaceText(URL_REPLACER_CONFIG)
surely this can be calculated only once before the entire stream

#

yes to both lol

half harness
#

uhh

obtuse gale
#

yeah i didn't know either

half harness
#

🥲

hallow crane
#

Does anybody have any ideas for ChatChat's cross server messaging? The way it's designed now from my POV it doesn't look like it's easily hookable with networking software considering objects that would need to be sent across aren't exactly serializable because they extend adventure audiences

#

The only thing I can think of is using a middle-man (redis or bungee proxy) to store who's currently subscribed to a channel and redesign the audience + channel part to align with that

steel heart
#

I’m working on a pr

#

We’re first planning to extract a common/shared module, then a pr for velocity respectively bungeecord is planned, by default just plugin messaging will be used, although I am considering adding support for mqs like active, rabbit, kafka and redis, perhaps even just a duct taped server socket

cinder flare
#

mmm message queues

steel heart
#

Yeye good stuff

cinder flare
#

im a rabbitmq addict myself

steel heart
tacit imp
#

Joey ʳᵇ 𓆩♡𓆪 •̩̩͙*˚#6969 is soooooo hot and he blocked me tell him to un block me

#

Joey ʳᵇ 𓆩♡𓆪 •̩̩͙*˚#6969 is soooooo hot and he blocked me tell him to un block me

obtuse gale
#

damn

#

that's crazy

ocean quartz
#

How dare he block you!

obtuse gale
#

he is sooooooo hot

hallow crane
hallow crane
latent dirge
#

nerds

steel heart
#

But perhaps some sort adapter which adapts to it if necessary

prisma wave
#

hurrah!

old wyvern
#

Is there any documentation of adventure translatables?

#

are those the vanilla translatable values?

vale sand
#

Guys does anyone of you know a solution / a plugin to disable swimming with armor?

inner umbra
#

Lol jk, check player toggle swim event and cancel it.

boreal needle
#

imagine how good it would be if there was a dont method

#

id love to work that into a class one day

inner umbra
#

Adding it to every event as we speak. (Joking)

#

Player.isSwimming().dont(); lol

wind patio
#

is there a way to automatically build gradle projects (in this case a plugin) with different dependency versions?

I want to specify different paper versions and see if there are any issues when building them upon it.

boreal needle
#

identity theft

obtuse gale
#

o

distant sun
#

Is that the github ide thing?

dawn island
#

that looks like vsc

eternal compass
#

but the Idea icon

dawn island
#

🥴

ocean quartz
#

Github's web editor is pretty much vsc

hallow crane
#

Has anyone used fleet yet

dawn island
#

isn't it still in closed preview?

wind patio
#

it is

primal crystal
#

A bit of arithmetical question….how do we calculate average block mined by a player a day?

sly sonnet
#

blocks mined / time played? idk

primal crystal
dawn island
#

Well, is it based on the player's time or the server? I presume server?

sweet cipher
primal crystal
primal crystal
sweet cipher
#

Well that’s the actual equation

primal crystal
#

Yep…gotcha

dawn island
#

There's no real equation for it.

primal crystal
dawn island
#

If you had multiple days between the resets use @sweet cipher's approach to find it across multiple days.

sweet cipher
dawn island
#

There's no point to divide it by /1

sweet cipher
#

Don’t they want the average amount of blocks per day?

dawn island
sweet cipher
#

It wouldn’t be 1

#

What does that mean

dawn island
#

I presume they have a table of the blocks counted, and they are just resetting it every 24h instead of just letting it increase and divide it by x days the server is running.

sweet cipher
#

It wouldn’t make sense to get the average of a single data point

primal crystal
#

Anyway i got an idea, whats to be done thank u @dawn island @sweet cipher

Also i might switch to player prespective too..like instead of servers… no of days a player played

hallow crane
#

I designed a solution to ChatChat's abstraction problem with channels/audiences which would work

steel heart
#

have u tested it?

hallow crane
#

It's not testable it's just a design

#

It uses the actor/adapter/backend paradigm which isn't real but it's a combination

steel heart
#

ok nice

boreal needle
#

that's not really how chatchat is designed to work but interesting

hallow crane
#

How is it designed to work?

#

In its current state, there isn't a clean way to send data like channel messages over networks

obtuse gale
#

from what I understand many, many things will change from "its current state" until it's released

#

I wouldn't take anything for granted 🤷

ocean quartz
#

It's WIP for a reason

inner umbra
hallow crane
#

that's exactly why im presenting some ideas

#

it supports bungee/velocity/any networking solution

prisma wave
#

any?

#

What about IPoAC?

hallow crane
#

Only if you hook into some service that provides pigeons for a reasonable price

frail glade
#

Let me call my pigeon dealer.

#

😛

hallow crane
#

but anyways, if that's not 'how its designed to work' then how is it designed to work?

steel heart
#

Stuff gets figured out

#

Haven’t come so far as to the mq layer

ocean quartz
#

It's not designed to work

#

We'll get there when we get there

hallow crane
#

my solution doesn't make it work or not work, it's just an idea

#

the response was that my idea doesn't fit how ChatChat is designed to work

frail glade
#

It's something we're still looking into. As mentioned before, everything is still up in the air as we continue to get further into the development process. I'm open to ideas from anyone.

hallow crane
#

great, and since it's open source i'm interested in helping

frail glade
#

👍

oak raft
#

is stackoverflow on drugs for you guys too?

humble silo
oak raft
#

I was just trying to get some help and got flashbanged...

primal juniper
rocky stumpBOT
#
NFT Portfolio for Silent Program

Here is a list of the most valuable NFTs that Silent Program has!
Total Claimed: 19 - Total Value: 520,053.84 HelpCoin

[1] - Message NFT - Value: 74,052.46 HelpCoins

Just wanted to share a little update with you all. While we are still obviously in Alpha and not ready for beta testing yet, one of the things you will be able to beta test is a converter we've been working on to help you transition over to ChatChat from Del... ``` [Jump to message]([#deluxechat message](/guild/164280494874165248/channel/587475621555339264/))
[2] - Message NFT - Value: 67,470.7 HelpCoins

**Added placeholders:**
```css
%essentials_baltop_balance_fixed_<position>%
%essentials_baltop_balance_formatted_<position>%
%essentia... ``` [Jump to message]([#placeholder-api message](/guild/164280494874165248/channel/573429521554866178/))
[3] - Message NFT - Value: 55,264.74 HelpCoins
> - It's a compiler hack - the Java compiler isn't designed to modify code, so it can cause difficult to debug errors, or worse
> - It requires an IDE plugin, so unless you've properly configured Maven, Gradle and your IDE, you'll get hundreds of compilation errors. This proc... ``` [Jump to message]([#development message](/guild/164280494874165248/channel/165129131770511360/))
#
Top NFT Traders

Here is a list of top NFT traders based on total portfolio worth.

[1] - undefined

Total Value: 22,226,076.82 HelpCoins - Total Claimed: 667 NFTs

[2] - undefined

Total Value: 3,323,786.78 HelpCoins - Total Claimed: 70 NFTs

[3] - undefined

Total Value: 1,044,185.22 HelpCoins - Total Claimed: 34 NFTs

[4] - BrettPlayMC#0292

Total Value: 684,341.00 HelpCoins - Total Claimed: 10 NFTs

[5] - undefined

Total Value: 520,053.84 HelpCoins - Total Claimed: 19 NFTs

simple viper
#

my b

#

thought this was the bot channel

twilit root
#

Is anyone here familiar with modifying server jars? There's this bug with Bukkit that effects Sprinting and it doesn't happen with Vanilla

boreal needle
#

as in craftbukkit?

twilit root
#

Yea

boreal needle
#

why are you using craftbukkit lmao

twilit root
#

I'm not, it was just to test the bug

boreal needle
#

use paper, it fixes a lot of quirks in cb/spigot

twilit root
#

It happens with Paper and Spigot etc

boreal needle
#

oh

twilit root
#

It was just to find where it originated from lol

boreal needle
#

might wanna report that on the spigot issue tracker

twilit root
#

Yeah I should

#

(I did)

#

But my server runs on 1.16.5 and I don't wanna upgrade 😭 😭

agile galleon
#

sus

lunar cypress
#

it was an easy target i suppose

#

i wonder if this has actually helped nfts

#

considering interest in them was rapidly declining earlier this year

obtuse gale
#

How do i start with java

#

Because i want to make few simple plugins for my server

#

Intellij gave me cancer again lol

alpine inlet
#

?learn-java

compact perchBOT
#
FAQ Answer:

Online Courses:
Online courses are also great for learning java. Some websites that offer them are:

  • Coursera - Free unless you want a certificate
  • PluralSight - Great courses from what I've seen. Mostly Paid
  • Udemy - Never used them myself but they seem to all or at least most be paid.
    My first ever course was one from Coursera. - I can say it was pretty good at introducing me to the programming world as a whole not just java.

Oracle Docs:
Oracle docs can help a lot at learning and understanding java:

  • Start with this,
  • Breeze through this (skipping stuff that doesn't seem relevant like bitwise operators),
  • Hit this.
    They're the first three from this larger thing which you should definitely go through overall. But those three should be enough for slightly better understanding of what is happening here without feeling like a huge time sink.
    That one is a small part of this larger site wherein "Essential Java Classes" and "Collections" also have good useful stuff

Other services:
Some other cool services that will help you learn java are:

As you can see there are plenty of good ways to learn as long as you're willing to invest the time. Have fun learning!

old wyvern
hot hull
#

yikes

#

Atleast your OF won't suffer

old wyvern
old wyvern
#

true

manic lance
#

a

untold grail
#

Anyone got any ideas for plugins?

abstract hearth
#

b

dawn island
untold grail
hallow crane
sly sonnet
obtuse gale
#

ok and?

#

there are a trillion chat plugins, half a dozen permission plugins, dozens of "core" plugins

prisma wave
#

hundreds of trillions of private mines plugins

obtuse gale
#

🥲 🥲 🥲 🥲

quiet depot
#

that number seems a little bit high idk though

obtuse gale
#

yes I counted them all

quiet depot
#

does that include chatchat

prisma wave
#

petabytes of storage worth of chat plugins

obtuse gale
#

not yet, it's not released

quiet depot
#

where does a plugin have to be released to fit the criteria for a "chat plugin"

obtuse gale
#

your yearly questions quota ran out, sorry

quiet depot
#

when does the next year roll around

obtuse gale
#

you can ask cube for a free question coupon

quiet depot
#

@pallid gale give me now

#

or else

boreal needle
#

emily

#

its like 3am

#

why are you not asleep

prisma wave
#

Liar

obtuse gale
#

it's almost 5

boreal needle
#

oh

prisma wave
#

It is 8:50 am actually

obtuse gale
#

duh

quiet depot
#

emily ur flag is on r/place

obtuse gale
#

yess next to Brazil's

#

Matt showed me

quiet depot
#

also next to hermitcraft

obtuse gale
#

;o

quiet depot
#

and a bunch of mc heads

#

but I think hermitcraft is responsible for those

#

meanwhile the union jack is a bit too complicated for r/australia

obtuse gale
#

oh my god is that supposed to be Vegemite?

quiet depot
#

yes

obtuse gale
#

I know I've tried it

#

but I can't remember

quiet depot
#

top right is the aboriginal flag

obtuse gale
#

kinda nice honestly

quiet depot
#

with the non centered doot

quiet depot
obtuse gale
#

the flag lol

quiet depot
#

ah

boreal needle
#

isnt vegemite ripoff marmite

quiet depot
#

yes

pallid gale
distant sun
#

a

brittle leaf
#

tbh there is tons of public mine plugins but not that many working private mines ones

wanton flame
#

Does anyone know if you can edit the chat achievements messages is some plugin, essentials or can you do it by spigot itself?

hallow crane
#

There should be an option in the spigot.yml to not announce them but I don’t think they’re normally editable

distant sun
#

the text is took from client's lang file

#
{
  // ...
  "chat.type.advancement.task": "%s has made the advancement %s",
  "chat.type.advancement.challenge": "%s has completed the challenge %s",
  "chat.type.advancement.goal": "%s has reached the goal %s",
  // ...
  "advancements.story.form_obsidian.title": "Ice Bucket Challenge",
  "advancements.story.form_obsidian.description": "Obtain a block of obsidian",
  "advancements.story.iron_tools.title": "Isn't It Iron Pick",
  "advancements.story.iron_tools.description": "Upgrade your pickaxe",
  "advancements.story.lava_bucket.title": "Hot Stuff",
  "advancements.story.lava_bucket.description": "Fill a bucket with lava",
  "advancements.story.mine_diamond.title": "Diamonds!",
  "advancements.story.mine_diamond.description": "Acquire diamonds",
  // ...
}```
hallow crane
#

There’s definitely a plugin that intercepts it and changes the messages

distant sun
#

yeah. maybe

pastel imp
#

uhm anyone has a numbered chest slots texture pack?

#

(ya know, it displays the slot number inside mc)

plain dragon
obtuse gale
#

hi

#

does anyone have code to randomly assign teams and balance the number of players on each team

#

for example if i am to divide 100 players into 6 regions evenly and randomly, how would i go about that

half harness
# obtuse gale does anyone have code to randomly assign teams and balance the number of players...

you can try this: ```java
List<Player> players = ...; // player list
Collections.shuffle(players); // shuffle player list
List<Region> regions = ...; // region list
Collections.shuffle(regions); // shuffle region list
int i = 0; // which region to choose (index)
for (Player player : players) {
regions.get(i).addPlayer(player); // not sure how your region player storing method is, but this is an example
i++; // move to next region
if (i == regions.size) {
i = 0; // i has to be between 0 -> regions.size - 1, so reset this to 0 once i is equal to regions.size
}
}

obtuse gale
#

please help do you maybe know how to solv this?

[14:50:45] [Watchdog Thread/ERROR]: --- DO NOT REPORT THIS TO PURPUR - THIS IS NOT A BUG OR A CRASH ---
[14:50:45] [Watchdog Thread/ERROR]: ------------------------------
[14:50:48] [User Authenticator #3/INFO]: UUID of player kapacittx is 6935545e-76ad-3864-8bf2-9039f9bea753
[14:50:50] [Watchdog Thread/ERROR]: --- DO NOT REPORT THIS TO PURPUR - THIS IS NOT A BUG OR A CRASH  - git-Purpur-1596 (MC: 1.18.2) ---
[14:50:50] [Watchdog Thread/ERROR]: The server has not responded for 15 seconds! Creating thread dump
[14:50:50] [Watchdog Thread/ERROR]: ------------------------------
[14:50:50] [Watchdog Thread/ERROR]: Server thread dump (Look for plugins here before reporting to Purpur!):
[14:50:50] [Watchdog Thread/ERROR]: Ticking entity: minecraft:player, entity class: net.minecraft.server.level.EntityPlayer
[14:50:50] [Watchdog Thread/ERROR]: Entity status: removed: false, valid: true, alive: true, is passenger: false
[14:50:50] [Watchdog Thread/ERROR]: Entity UUID: 8d91357f-66d3-3552-922d-1d058b848892
[14:50:50] [Watchdog Thread/ERROR]: Position: world: 'world' at location (199.8984291743339, -5.0, 210.4084435660178)
[14:50:50] [Watchdog Thread/ERROR]: Velocity: (0.0, -0.0784000015258789, 0.0) (in blocks per tick)
[14:50:50] [Watchdog Thread/ERROR]: Entity AABB: AABB[199.59842916241297, -5.0, 210.10844355409688] -> [200.19842918625483, -3.200000047683716, 210.70844357793874]
[14:50:50] [Watchdog Thread/ERROR]: Total packets processed on the main thread for all players: 6849
[14:50:50] [Watchdog Thread/ERROR]: ------------------------------
[14:50:50] [Watchdog Thread/ERROR]: Current Thread: Server thread
[14:50:50] [Watchdog Thread/ERROR]:     PID: 24 | Suspended: false | Native: false | State: RUNNABLE
[14:50:50] [Watchdog Thread/ERROR]:     Stack:
[14:50:50] ... (zbývá 328 KB)```
half harness
half harness
#

👀

dim jungle
#

Link

brittle leaf
#

incase wiki.vg doesnt have all inventories

oak raft
#

Why is stack overflow still on heroin?

#

It's April 2nd...

#

Nevermind

brittle leaf
#

if the filters still exist for whatever reason there was a bar at the bottom that let you disable them

oak raft
#

Yeah, not sure why it was on for me by default

hallow crane
#

I've debugged PlaceholderAPI and it looks like it's coloring my input (& -> §) when I set placeholders. The methods to choose if you want to colorize or not are deprecated. What should I do?

#

I'm using PlaceholderAPI v2.11.1 (latest)

old wyvern
#

Its removed in the latest version afaik

hallow crane
#

My dependency and jar are the latest

old wyvern
#

Might not have been released officially, try compiling from the repo

hallow crane
#

That means it can't be deployed anywhere

old wyvern
#

For now, I guess

hallow crane
#

I guess I need to make a hacky workaround to uncolor them

old wyvern
#

Try an alternate color code character

half harness
#

or suppress deprecated method (unless it doesn't work)

#

¯_(ツ)_/¯

hallow crane
#

It's not there I'm pretty sure

#

Works now with

map(part -> part.replace('\u00A7', '&')) // hacky workaround
remote goblet
#

okay copilot isnt helping me here

#

anyone know a method to convert a format like 1d 2h 3m 4s into milliseconds

#

or something to split a number from a string

old wyvern
#

Piggy's TimeAPI

dawn island
#

It could obviously be improved, or reduced, by implementing more detailed wording so that the AI can understand.

primal crystal
#

How do we build splash potions on 1.8.8 api?
for eg: i want to create a splash potion of Harming, how to do so?

dawn island
#

@primal crystal I believe 1.8.8, you would use the Potion object class to create it, set it to splash and convert it to a item.

#
Potion potion = new Potion(PotionType.HARMING, 2);
potion.setSplash(true); // there likely is a boolean in the constructor for this.

player.getInventory().addItem(potion.toItemStack(1));
#

Not sure if the potion type is correct, as I can't test this in a IDE rn.

primal crystal
#

Thank you..., i will give it a try

hot hull
#

Quick question, how impolite is it to tell someone that their code is wack spaghetti and you can't be fucked working on it?

#

Might even be one of the worst premium plugins code I've ever seen

distant sun
#

If you dont tell it that way, it should be good

hot hull
#

What would be a nicer way of saying their code wack?

distant sun
#

I saw better

quiet depot
#

is it for a client

#

or for the developer of said plugin

#

if the first tell them that the plugin is in such poor condition that the only way you could work on it is by restarting it entirely, then say you don't have the time to do that

#

if it's the latter

#

tell them exactly what you said

worldly finch
#

hey

quiet depot
#

you need to be at least tier 1

worldly finch
#

aww

worldly finch
quiet depot
#

you're tier 1 now

worldly finch
#

Wait

quiet depot
#

you should be able to

worldly finch
#

I leveled up

#

xD

#

Tt

#

Ty

hot hull
#

Was the latter, and he agreed

#

So all good

inner umbra
#

What plugin was it?

hot hull
#

Wouldn't you like to know weatherboy

inner umbra
#

Wouldn't you like to know
Yes
weatherboy
We got a memer

ocean quartz
agile galleon
#

in my basement

ruby dew
hot hull
#

I saw that

ruby dew
hot hull
#

Gey ready for a spaking

ruby dew
#

kid sketchy back to free plugins

#

ee

pastel imp
#

uhm how could I make a system that basically highlights the name above the player:

  • Red if it's from an enemy clan
  • Yellow if it's neutral
  • Blue if it's allied
  • Green from the same clan
    I thought on just using PAPI and TAB but then I remembered it needs to be adaptive to every player since players are in different clans and see different things
#

I would probably have to use packets for this I suppose?

distant sun
#

papi has a thing called RelationPlaceholders

boreal needle
#

relational placeholders

#

damn gaby beat me to it

pastel imp
#

I will give you a chance to beat him, where can I find documentation for it? 😉

distant sun
#

you simply implement RelationalPlaceholders or something like that

pastel imp
#

ty

#

^^

#

also

quick flume
#

@brittle leaf gl

#

I keep looking at the clock and checking how much time i got before work

#

and realizing the time I have is fs not enough 😂

pastel imp
shell mesa
#

Ooooo

#

Sorry

pastel imp
#

you should probably delete your msg and send it in the correct channel

#

but np

shell mesa
#

Ok!

#

Thanks!

quick flume
pastel imp
#

Ah fair, you got me trol

sick belfry
#

when you are going to make a game and you decide that you are too cool for engines

#

and frameworks

#

lmao

boreal needle
#

have fun suffering

tired zenith
#

hi

sly sonnet
#

no u

pastel imp
#

uh if I am making a generator plugin, and each generator has it's own speed to drop items, how would I do it? Would I create a scheduler for each one of them or what?

#

trying to understand how I could do this

lunar cypress
#

yeah

obtuse gale
#

lol

pastel imp
#

Is there no other way to make it more efficient?

#

besides creating maybe hundreds or thousands of schedulers?

#

Couldn't I create a global scheduler and make every machine have a counter, that scheduler runs every 1s, and it moves the counter of each machine? If that makes any sense

lunar cypress
#

that will most certainly be less efficient

#

why are you assuming it's inefficient?

pastel imp
pastel imp
agile galleon
#

My guess would be to have one scheduler per lets say 10 or 20 gens

agile galleon
#

So from my understanding you have multiple generators and want to tick them all

#

Then just tick this part in one scheduler and the other one in anoter scheduler

pastel imp
#

the idea is to make generators upgradable, aka the time to drop items will lower

agile galleon
#

If you have 20 gens

#

Tick 10 in one scheduler

#

You wont have too many waiting on each other and you wont have to many schedulers

sweet cipher
pastel imp
#

what if I made a scheduler for each level of generator?

pastel imp
agile galleon
sweet cipher
sweet cipher
vast belfry
#

need help, on friend server (yes he bought plugin) however i cant seem to get placeholders to work after i put it as extention in placeholder O.o whats placeholders for ezrankuppro

agile galleon
#

Ok

lunar cypress
#

what is the idea behind that optimisation

pastel imp
lunar cypress
#

just schedule a task for each generator

agile galleon
#

Wild guess

lunar cypress
#

the idea that that is somehow expensive is just baseless

pastel imp
sweet cipher
pastel imp
lunar cypress
#

i'm asking for a reason why you think you need to optimise this

sweet cipher
#

Oops didn't mean to reply

pastel imp
lunar cypress
#

and how you think you're optimising this

sweet cipher
#

Just have one scheduler loop generators in chunks that are loaded

#

Even thousands is not very much

lunar cypress
#

a task is not a tab

#

you can schedule a million tasks without any impact on memory

#

and when they run you do the same amount of work you would do with just one

pastel imp
#

fair.

#

What if I remove the dropping items part, and instead the item stores the "amount of items dropped", (it would still run with unloaded chunks BUT only if the player is online)

lunar cypress
#

i've pretty much done exactly this before

sweet cipher
lunar cypress
#

except that players had to click/mine the blocks to collect the stored items

sweet cipher
#

So you don't need to tick it

pastel imp
sweet cipher
#

But honestly this seems like unnecessary optimizing, unless you've already run tests and had lag

sweet cipher
#

That's what I do at least

pastel imp
#

hmm, thx, will have a look into it!

lunar cypress
pastel imp
#

And thanks for knowledge

lunar cypress
#

in fact it's a decent optimisation

#

/decent design

pastel imp
#

you aren't running any schedulers for that, so I suppose it actually is

lunar cypress
#

yeah, but it's only possible if it doesn't do anything automatically

sweet cipher
#

The one I was working on actually had different types of generators, some that work by breaking, some that drop items, etc.
I only had the scheduler loop the generators that spawned items / mobs, and I only had generators loaded if the chunks were loaded.

ashen fossil
#

dumb question but
if you have a ChildComponent
is the plural ChildrenComponents or ChildComponents hmm

oblique heath
#

i would use the latter

ocean quartz
#

Yeah latter sounds better

latent dirge
#

daily dose of:

nerds

leaden turret
#

I need help for Placeholder API

boreal needle
lavish notch
#

Does anyone know if there is an event or way to tell when a player has successfully loaded a resource pack?

The idea is to play a sound when a player is fully loaded in with the resource pack.

lavish notch
#

Similarly, is it possible to check if a player has their game sounds turn on?

fervent tinsel
lavish notch
#

Hmm, okay

distant sun
distant sun
#

@quiet depot have you ever setup cloudflare ssl for a domain?

quiet depot
#

yes

#

no

distant sun
#

I tried to but it kept saying this 🤣

quiet depot
#

I setup letsencrypt to auth ssl through cloudflare

distant sun
dawn island
#

yes I have done cloudflare before ssl

#

so you purchased or transferred a domain to cloudflare @distant sun?

quiet depot
distant sun
#

and is it better than creating a certificate on cloudflare and all that?

quiet depot
#

I can't imagine it makes much of a difference

distant sun
#

I moved that domain to cloudflare, but I don't think it is important kgm

#

hmm, I see

#

I will try to do that then

dawn island
rustic slate
dawn island
#

Don't think so, as it shouldn't be used for bulk pastes.

distant sun
#

it is just hastebin - send a POST request to /documents and you will receive a response with the key for your paste

#

but ye, as kgm said, you should not abuse it

dawn island
#

It's more of a simple way that helpch.at can allow server owners to easily create logs, or pastes to not spam the chat, as they do have a discord slash command /paste.

quiet depot
#

our max doc size is much larger than other hastebins and it's permanent

distant sun
#

🍆

dawn island
#

I presume there are set rate limits in place for prevention of abuse?

quiet depot
#

permanent unless we run out of space in which case we will delete shit

distant sun
#

how much memory does it use rn?

quiet depot
distant sun
#

most pastes are a few kbs though

quiet depot
#

we don't really advertise it, it's just a thing where if people want to, we're not going to stop them

#

it's all through cloudflare so I assume that'd handle some of the botting issues?

#

not sure

dawn island
#

probably will tell you do in a captcha if it's enabled in the account's domain settings.

static zealot
quiet depot
#

no I fixed that

#

he didn't set it to 1k lines, he set it to like 10kb

#

he assumed the unit was kb

#

was bytes

static zealot
#

ah lmao

distant sun
#

1b is ok

distant sun
static zealot
quiet depot
#

71MB

distant sun
#

talking about hastebin, any idea if there's a way to tell if a website uses hastebin or not?

quiet depot
#

our hastebin uses 71MB

distant sun
quiet depot
#

that's memory

#

storage wise

distant sun
#

I know

#

but I mean the service, we have it for at least 2 years

quiet depot
#

3.6GB

#

idk how long, I feel like longer than 2020 tho

distant sun
#

3.6GB of?

quiet depot
#

try appending /about.md to the paste site

#

pastes

#

erm

#

no

distant sun
#

smh pig

#

make up your mind

quiet depot
#

3.5GB of pastes

distant sun
#

3.6GB or 71MB 🤣

quiet depot
#

71MB memory

distant sun
#

ram?

quiet depot
#

3.5GB storage

#

yes

distant sun
quiet depot
#

here's ours

distant sun
quiet depot
#

it's a default file in hastebin

distant sun
#

ah ah

quiet depot
#

obviously ours isn't default

#

but I imagine most people ignore it when customizing

distant sun
#

I meant programmatically but I guess that also works

quiet depot
#

well you can try using the hastebin api

#

idk if there's like a ping you can do that says "yes this is hastebin"

distant sun
#

you can make a post request to /documents, hmm

quiet depot
#

that doesn't confirm the software running is hastebin

#

it just means it's an api that resembles that of hastebin's

dawn island
#

if you know what hastebin's source code looks like, and it has most of the same css classes, I would guess you could see they are the same.

#

as you wouldn't do word for word exact css files with the same comments unless it uses the same libraries.

distant sun
#

hmm, okay

frail glade
#

I think I saw some of the earliest posts in mid 2019 or late 2018.

frail glade
ocean quartz
#

That should be the last version before we get 1.7 previews

obtuse gale
#

says you

hot hull
#

And you are?

obtuse gale
#

I'm Dr. Samuel Hayden, I'm the head of this facility

hot hull
#

Who?

prisma wave
#

Dr. Samuel Hayden

hot hull
#

Asked

#

Hah, got em

nimble mango
#

is actinium cloud a good host?

boreal needle
#

never heard of them

uneven bolt
#

Hello,

I'm fairly new to DC developing but i can't seem to get my config to work.

I've been trying for some time now and was guided to this discord for help 😅

inner umbra
#

?not-discord

boreal needle
compact perchBOT
#
FAQ Answer:

Looking for discord support?
HelpChat is a Minecraft plugin and development support server and is not affiliated with discord in any way.
If you require support from discord, we recommend you to visit their official support website at https://support.discord.com
On this website, you can read their FAQs, or open a support ticket if necessary.

boreal needle
#

im fairly certain theyre referring to deluxechat

inner umbra
#

🤦 probs xD

boreal needle
uneven bolt
#

my bad i should've just written the word down 😅

boreal needle
#

ah yeah

#

this is not the place

inner umbra
#

Ok so I was right lol

boreal needle
#

that being said, some of us are quite familiar with discord dev so we can still help

uneven bolt
#

okey, so i can't seem to get the config for my bot to work.

the code is corect but it gives me this error:

java: no suitable method found for toString(java.io.InputStream,java.nio.charset.Charset)
method org.apache.commons.io.IOUtils.toString(java.io.InputStream,java.lang.String) is not applicable
(argument mismatch; java.nio.charset.Charset cannot be converted to java.lang.String)
method org.apache.commons.io.IOUtils.toString(byte[],java.lang.String) is not applicable
(argument mismatch; java.io.InputStream cannot be converted to byte[])

boreal needle
#

i mean it's clearly not

#

can you send the code please

uneven bolt
#
package com.DigitalPixel.bot.config;

import com.DigitalPixel.bot.Main;
import org.apache.commons.io.IOUtils;

import java.io.*;
import java.nio.charset.StandardCharsets;

public class Config {

    public static void loadConfig() {
        String filename = "Config.yml";
        ClassLoader classLoader = Main.class.getClassLoader();

        try (InputStream inputStream = classLoader.getResourceAsStream(filename)) {
            String result = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
            System.out.println(result);

            File file = new File(filename);
            if(file.exists()) {
                file.createNewFile();
                BufferedWriter bufferedWriter = new BufferedWriter((new FileWriter(filename)));
                bufferedWriter.write(result);
                bufferedWriter.close();
            }
        } catch (IOException exception) {
            exception.printStackTrace();
        }
    }
}
boreal needle
#

what version of apache commons are you using

uneven bolt
#

most recent one i guess, since i started today?

boreal needle
#

that doesn't really help tbh

#

whats defined in your pom.xml or build.gradle(.kts)

uneven bolt
boreal needle
#

that is not version 2.9

uneven bolt
#

i can see that

boreal needle
#

latest is 2.11.0

uneven bolt
#

so i should cahnge the 2.6 to that?

long dagger
#

does anyone have an idea how I can generate a world with only islands?

#

so

#

it is a ocean, infinitely, and have islands in the ocean.

nimble mango
#

Guys

#

Is 365Hosts a good host for Minecraft?

#

Nmv

#

Nvm

sweet cipher
#

Anyone know how to rotate a world edit clipboard around itself 90 degrees, 180 degrees, etc?

obtuse gale
#

"around itself"?

#

like around its center?

sweet cipher
#

Yeah I just want to rotate it

#

Right now it rotates individual blocks

obtuse gale
#

half the amount of the clipboard's width/length
errr.... not entirely true either

#

"it depends"

sweet cipher
#

I was just hoping for an easy way that WorldEdit provides lol

#

I'm pretty sure I can figure out rotating it myself, I'm lazy though

obtuse gale
#

yeah I mean there is somewhere a rotate function, see the //rotate cmd src on how it's used

sweet cipher
#

Oh I also want to get the blocks individually, from what I can tell the command just rotates and pastes all at once

obtuse gale
#

but "rotate around its center but displaced from the origin" is kinda uh.. more than just rotating

obtuse gale
sweet cipher
#

Oh

#

I'll check one sec

obtuse gale
#

well, you apply the transformation to the holder's "current" transformation which in turn affects how the clipboard is read (so you can stack transformations, kinda like calling a function and then call another one with the previous one's result)

sweet cipher
#
    /**
     * Get the clipboard.
     *
     * <p>
     * If there is a transformation applied, the returned clipboard will
     * not contain its effect.
     * </p>
     *
     * @return the clipboard
     */
    public Clipboard getClipboard() {
        return clipboard;
    }

This is what it says in ClipboardHolder
EditSession doesn't have a method to set a transformation / get the clipboard

obtuse gale
#

yeah because it's not an EditSession

#

"oh" :p

sweet cipher
#

What's that?

#

Oh the command

#

Oh wait I can create a local session

obtuse gale
#

yep, which holds the clipboard... holder

#

which holds the clipboard

#

lmao

sweet cipher
#

It doesn't seem to have an option to rotate anything though, that's all in clipboard holder

#

And there is no way to get a block from LocalSession

obtuse gale
#

bruh

#

read the command

#

it's like 7 lines that are relevant

#

not even, 6

sweet cipher
#

holder.setTransform(holder.getTransform().combine(transform));
Are you talking about this?

obtuse gale
#

you create an AffineTransform and pass the relevant rotation.. info, angles whatever

#

and set the transform of the holder to the AffineTransform you just created

sweet cipher
#

Yes but then I have no way of getting the blocks from that

#

At least from what I can tell

#

ClipboardHolder only has the option to create a paste

sweet cipher
obtuse gale
#

there's a uh

#

ForwardingExtent? or something like that? which is likely what you should use

#

let me see

sweet cipher
#

BlockTransformExtent This?
This is what I tried with before

obtuse gale
#

why do you need to get the individual blocks?

sweet cipher
#

So I can paste them one at a time / a couple at a time

sweet cipher
obtuse gale
#

Yeah ForwardExtentCopy sounds like what you're looking for

#

somehow..

sweet cipher
#

Oh wait actually that one doesn't have a method to get blocks

obtuse gale
#

tbh this is sort of uncharted territory for me, I suggest asking them in the api channel

sweet cipher
#

Oh yeah good idea lol

obtuse gale
#

I am fairly certain it's something to do with FEC

sweet cipher
#

Thanks for all your help though

#

I'll ask tomorrow, I'm going to sleep now

#

This was supposed to be a fun personal project to relax lol

obtuse gale
#

lol

sweet cipher
#

Oh well

fickle niche
#

Anyone know any good Inventory/GUI Api or Util class compatible with 1.16?

cinder flare
sly sonnet
#

?mf

compact perchBOT
fickle niche
#

Is it possible to remove the
"minecraft:itemname"
"NBT: 2 tag(s)"
from an item in the gui?

#

And how can I add multiple line lores with the mf-gui Arrays.asList won't work

#

Aaah yep got it thanks man

#

You ever using the gui api from

#

?mf

compact perchBOT
fickle niche
#

you ever used*

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

Source

static zealot
#

might start using webstorm a bit, is there some "life changing" plugins you guys might want to recommend for it?

ocean quartz
#

File changing?

#

Oh Life

#

Lmao

#

Yes give me a sec

#

@static zealot

static zealot
#

already got it. like you can't even open Webstorm without having it

#

you'd literally die

obtuse gale
#

file changing lol

ocean quartz
#

Shush

static zealot
#

yes. I want file changing stuff

boreal needle
#

it looks kinda ugly out of the box imo

prisma wave
#

Not as bad as eclipse

#

But not great

static zealot
#

yeah idk what theme to use. I don't think matt's will work here.

static zealot
#

well I've tried importing it and idk if its the same or not. for some reason it looks more dead

obtuse gale
#

'cause he said so

prisma wave
#

It's just reskinned intellij, all the plugins should work in the same way

static zealot
#

I didn't even see how it was before

#

so can't compare it

obtuse gale
#

themes work a bit different in the different IJ IDEs

#

but that's because "element" names are different

static zealot
#

I don't think this is the default tho. it might actually be matt's one that is used here

#

but idk. it does look a bit to dead

boreal needle
#

there are quirks with how intellij formats individual languages that means themes need to be adapted to them

#

mine was a pain to do

#

ouch

#

my eyes

#

whats a sunlight

#

anyway where is like most of the ide

prisma wave
#

I am going to throw a molotov cocktail at your house

remote goblet
#

copilot created the most ungodly line ever

static zealot
#

wth

sly sonnet
#

xdd what

potent nest
#

average minecraft plugin

obtuse gale
distant sun
#

Is there any reason why java decided that prepared statement arguments indexing should start from 1 instead of 0 like EVERYTHING else? Is funny that internally, it subtracts one from the index when using setX(index, value)

potent nest
#

looks like this was just inherited by java

distant sun
#

I see

obtuse gale
#

@hoary fox Second ping and yes my account is not gone

#

I was messing with someone; my account is not gone 😅

distant sun
#
    rewrite ^/mcm/resources$ https://www.mc-market.org/resources/authors/100752/ permanent;
    rewrite ^/mcm$ https://www.mc-market.org/members/100752/ permanent;```
Any idea why `/mcm/resources` redirects to <https://www.mc-market.org/members/100752/>?
#

what other args?

#

$ matches the end of the string

sick dove
#

I'm looking at porting this view bobbing mod from fabric to forge. Anyone know what the applicable forge methods might be

#

it's a very simple mod. this is the only class

obtuse gale
#

can't you just... turn the setting off?

sick dove
#

Turning view bobbing off in settings removes the screen shake but it also makes it so your held item doesnt bob up and down

#

This is similar to the "model bobbing only" setting in badlion client

long dagger
#

How would I go about creating a world generator that only generates islands in a ocean?

#

I need all the latest biomes and caves

#

but it has to be automatically generated with a plugin. Thanks in advance!

sturdy magnet
#

ok so i listen to PlayerCommandSendEvent event, and i want to remove every command which contains "X"

#

how can i do it?
i am trying with next:

    public class TabSuggestionListener implements Listener {

        @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
        public void onSuggest(final PlayerCommandSendEvent event) {
            Player player = event.getPlayer();

                if (config.getBoolean("remove-if-contains-something", true)) {
                    event.getCommands().remove(event.getCommands().contains("test"));
                }

            }

        }
#

however at event.getCommands().contains("test")

#

i am getting Unlikely argument type boolean for remove(Object) on a Collection<String>

distant sun
#

contains() return a boolean, and commands is a Collection<String>

sturdy magnet
#

i came up with next:

if (config.getBoolean("remove-if-contains-something", true)) {
                    List <String> cmds = (List<String>) event.getCommands();
                    event.getCommands().removeIf(cmd -> cmds.contains("test"));
                }
distant sun
#

event.getCommands().remove("test"); is what you are looking for

glad crown
#

uh guys where do i get support for the "Guilds" plugin?

sturdy magnet
distant sun
#

ah

#

event.getCommands().removeIf(command -> command.contains("test"));

vale kraken
#

I remember him

frigid badge
#

when you get that cloudflare email
not bad

sturdy magnet
#

nazalost tako je ispalo

#

tvoj plugin ni ne koristim

vale kraken
#

@sturdy magnet Talk in english..

sturdy magnet
#

ok

vale kraken
#

I mean it could have been worse, it was only 1 hour plugin, not a big deal

vocal vortex
#

Hey can anyone help me with this, I am trying to run the "restart" command. But this kinda defeats the purpose of a restart command

https://imgur.com/Mi2MMAG

olive grove
#

Hey, im trying to save a config (yml) file from the resources folder to the directory that the program is running in. I have tried a million diffrent things, but its never able to find the source file. Right now im using InputStream resource = this.getClass().getResourceAsStream("messages.yml");. Thanks!

#

Not spigot btw, just java general

obtuse gale
#

add a / at the beginning of the string

#

or use getClass().getClassLoader().getResourceAsStream(...)

#

either works so long as the file is in the "root" of the jar file

olive grove
#

well my file is in resources

#

do i need to put the full file path

#

from root

obtuse gale
#

it's in resources while you're developing

#

if you build a jar file and send it to someone in Vietnam it won't be in their resources folder

#

when you build a jar file, everything in resources will be copied into the jar file as-is

olive grove
#

oh ok

#

ok, so now im getting an access denied exception, asuming thats my dest firectory?

#
Path destination = Paths.get("/messages.yml");

assert source != null;
Files.copy(source, destination);```
#

this should copy the file from my jar to the directory that my jar is running in right?

#

if so, how would i fix the exception, im on windows and i think it has the file perms it needs

obtuse gale
#

Paths.get("/whatever") will be on the very root of the hard drive

olive grove
#

oh, how do i get the working dir

obtuse gale
#

if you want that to be relative to "here" that's just Paths.get("whatevs")

#

working dir is .

olive grove
#

ok, so drop the /

obtuse gale
#

ya

olive grove
#

or do ./

#

ok

obtuse gale
#

I suppose either works

olive grove
#

oh nice, it works

#

thanks 😄

#

now i gotta read the file

obtuse gale
olive grove
# obtuse gale <:cct:839869018445971476>

ok, now im having this error when trying to read the file yml:
Can't construct a java object for tag:yaml.org,2002:java.lang.module.Configuration; exception=java.lang.reflect.InaccessibleObjectException: Unable to make private java.lang.module.Configuration() accessible: module java.base does not "opens java.lang.module" to unnamed module @59cfc33b

#

its valid yml

#

o wait i think i see

#

or no

#

idk

obtuse gale
#

code-wise and also the stack trace is always of help

olive grove
#

Where I can getString etc

obtuse gale
#

yeah that doesn't really tell me what the code is trying to do lol

olive grove
#

Oh, well right now my code to copy the default is working, but I want to load the Config from the file into some object, and then getString(path) just like Bukkit does. I’m using some random thing from stack overflow rn to load the file with snake yml. Not at my pc so can’t show anything but yea

#

Clearly that’s not the right thing to do

obtuse gale
#

Yeah something in there is going not so well

#

can't really diagnose a patient without seeing them :^)

olive grove
#

What would be the correct approach to do what I want, like I don’t think I’m googling the right terms

#

Is there a library or something I can use, because idek where to start

#

I would have thought something as simple as Config files would be all over the internet

#

But I’m prolly just not searching the right thing

obtuse gale
olive grove
#

Alright, i will look into that later, thanks

obtuse gale
olive grove
#

Oh I’m stupid lol

#

Just found it

#

Lmao

junior walrus
#

@violet creek out of curiousity why didn’t you use an off-the-shelf lib like mineflayer that already supports physics?

violet creek
#

@junior walrus Running the whole mineflayer project on a mobile device with limited resources regarding bandwith, cpu & ram is asking for problems. (I have tried it). Now I'm just using some parts of the project like 'prismarinejs/minecraft-data', 'prismarinejs/chunks' & 'prismarinejs/physics' and connecting my native code to that.

junior walrus
violet creek
#

Well, everything you need to join a minecraft server. I'm now just passing some chunk data and other stuff to the nodejs backend in the app and that responds with new player positions

#

I also had to implement a way to run node with the flutter framework, since that hasn't really been done before

#

which took me a couple of days

junior walrus
violet creek
#

I'm just making an app like Minechat

junior walrus
violet creek
violet creek
#

when the app is closed or the phone is in sleep mode
This feature is very important for me, shown here #showcase message

junior walrus
#

why would you want to keep the connection alive when the app is closed or the phone is sleeping?

violet creek
#

It allows users to open other apps and stay connected. A lot of players are leaving their pc on the whole night to afk on some server. The app solves that because users can just join the server with the app, and charge their phone.

junior walrus
violet creek
#

It's a requested feature with other similar existing apps

#

Well, sure but not as much as leaving a laptop or pc open just for that one task. The app doesn't do any rendering or stuff like that

#

Or imagine you're connected with the app and chatting with some friends on your SMP server. If someone would call you, or you get bored and want to do something else on your phone, other apps instantly kick you for leaving the app and let's be honest that's not ideal.

tough crow
#

has anyone had a crack at abstracting placeholder api, to support other platforms?

obtuse gale
#

planned for papi 3 afaik

#

in uh 2034™️

tough crow
#

ye i saw the tracker issue, just curious if anyone has tried at all or if theres any concerns/things to know before trying

static zealot
#

So I have 2 DIVs something like this:

<div class="outer">
  <div class="inner">
      TEXT
  </div>
</div>```.

I've made the outer have a specific width and height. how would I Make the text inside the inner have the font size percent of the outer size?
#

if I Just use font-size: 150% for example, idk where it actually takes it from but doesn't really look good on mobiles

distant sun
#

Isnt there something like inherit?

static zealot
#

idk. I Forgot all the html/css I've ever done lmao

distant sun
static zealot
#

I Don't want it to inherit the font size. but rather have percentage of the entire size of the outer div.

static zealot
#

yeah me neither

static zealot
#

basically I have this: (fast krita work lmao don't hate me) an I want it to look ok on widescreen and mobile as well. now the box itslef is sized like this:

    width: 100vw;
    height: 25vh;``` and then inside that box I have a div that contains the text and I'm trying to make the text look the same on all screens I guess.
#

I'm basically trying to make it look just as big in relation with the box on all screen sizes. instead of changing the box based on the text

#

and yeah on a phone screen currently I can get it to look like this

#

rem?

#

is that like a size unit?

#

interesting. there's so many units I forgot all of them

#

what is it relative to?

cinder flare
#

well 1 rem is the font size of the root element

#

if you really want things to work on all sizes, you're gonna need media queries or a framework

sturdy magnet
#

is it possible to even code (for example using protocollib) something that will (if you have ViaVersion plugins installed) for example:

  • your server is 1.8 or up to 1.12 !
  • client joins with 1.13 (keep in mind on MC < 1.12 there is no PlayerCommandSend event for tab suggestioning)

is it possible to make that we can customize what suggestions will come to a player which is on > 1.13 client (on < 1.12 server)

obtuse gale
#

for pre-1.13 servers (regardless of client) I think the basic TabCompleteEvent covers that

cinder flare
#

dude globbing in LuckPerms is so weird

#

like the priority it takes

obtuse gale
#

hm?

sturdy magnet
#

i am 99% sure that you either can tab-complete any command ever if the server is 1.8-1.12 and client is > 1.13

#

you can't filter them

cinder flare
# obtuse gale hm?

like i negate libsdigsuises.* on my default, but adding libsdisguises.* to a rank with a higher priority doesn't allow anything

obtuse gale
#

Well it kinda depends on the exact setup

#

It's predictable behavior but non-obvious at first

sturdy magnet
#

and PlayerCommandSendEvent too

cinder flare
#

Just is weird to me that they work like that, I imagine a glob of negation just being every permission negated in essence, and setting those same list of permissions to true would override no matter what

obtuse gale
#

Well yes, or no, again it depends on the overall setup

cinder flare
#

What does that mean, exactly

#

What factors of the overall setup affect that

obtuse gale
sturdy magnet
#

the thing is that you can't control PlayerCommandSendEvent which is required for 1.13+ client to do auto-completion stuff

#

so you are stuck with all suggested commands or nothing

obtuse gale
#

Star I was typing a super cool explanation and my keyboard just died lmao uh

obtuse gale
#

that event didn't exist back then because everything was tab complete

obtuse gale
# cinder flare What does that mean, exactly

Weight isn't all there is to perm calculation, weight determines horizontal visiting order and inheritance determines vertical
https://upload.wikimedia.org/wikipedia/commons/7/7f/Depth-First-Search.gif
There is no rule for "false perms override true perms" because you can't have the same perm with different values in the same group, but for those two rules above it adds these:
* Specific permissions are queried first through the whole tree (e.g. some.cool.permission)
* If not then it queries for regex and shorthand permissions (I don't know the exact order of these two)
* If not, then it queries from the "most specific" wildcard (some.cool.*) to the "least specific wildcard" (*)

Then to all this you also add contexts... permissions with more specific applicable context have priority over permissions with less specific applicable contexts (or over global perms)

And temporary permission also have priority over normal ones

And the transient map has priority over stored permissions

#

Hence why "it depends"

#

Like yes it's predictable but I can't tell you how it will behave without seeing it

cinder flare
#

okay I see

#

is there a way to see the tree it makes?

obtuse gale
#

Uuh not sure? /lp tree . <player> could be nice but if you ask me then /lp user <user> permission check <perm> shows some really damn useful data

#

or like just have a big brain and visualize it yourself bigbrain

cinder flare
#

hmm okay

#

it's very new to me the concept of like inheritance being a tree

#

in my mind, it was just a copy paste of permissions to the rank

obtuse gale
#

but yeah it's a graph and each node is a permission holder (user/group) (which btw you can also change what algorithm is used to traverse the tree but in like 99.9999% of the use cases the default one is the one you actually want)

cinder flare
#

oh my god lp tree exists

#

dude luckperms is so fucking good

#

i can't believe it has all this stuff to help you figure things out

#

i had no idea

obtuse gale
#

lmao yeah it has really nice tools for "debugging" n such

#

pretty neat

brittle leaf
#

the best part about developing for a server is that you see messages like this, nice for my kinda shitty coding skills are appreciated.

cinder flare
#

maven is a demotion to me

#

gradle, now that's a raise

hot hull
#

Agreed

cinder flare
# obtuse gale pretty neat

so in general, what would be a good way to stop tab completion for things? Because a lot of plugins do tab completion by default unless the permissions is explicitly negated. Right now, I do a negation of each group of perms with a wildcard, so like -libsdisguises.* in the default group. But this has some issues. Is there a better way to organize this?

obtuse gale
#

uuuh

#

that is not how you deny a permission

cinder flare
#

yes yes

#

i was illustrating

pastel imp
#

I just offended Frosty 😦

obtuse gale
#

okay because many people think that that is how you do it lol

cinder flare
#

yeah PeX leaves bad habits lol

light venture
#

frosty cant be offedned

#

offended

#

he has a heart of ice

obtuse gale
#

command suggestion is kinda between the plugin and the server (which for the most part, it's not a server issue), like the Command object needs to have it (via Command#setPermission), and setting the wildcard to false would cover those. setPerm is done by bukkit if you declare the command in plugin.yml (with a perm field for the command) or the command framework you use if it's any good lol
But for example, in WorldEdit not all commands even have a permission whatsoever, so even if you don't have anything at all or everything set to false it will still show those commands, because there is no perm in them to check

cinder flare
#

Hmmm

#

so you're saying to get a clean slate I would need to change all the plugin.yml files to not have default perms, and modify some source code to add permissions to stuff

pastel imp
pastel imp
#

Ye, you should only care about those things in Enterprise level of stuff like backends etc, where you want the best performance and lightweight product possible

obtuse gale
#

they don't do the same thing lmao Gradle can do far more than Maven out of the box

pastel imp
#

If you know how to code properly, doesn't matter the language, you will be fine.

obtuse gale
#

for very basic usage sure it's okay, but if you want to do anything mildly complex then maven won't cut it

pastel imp
#

(just not skript, please don't)

pastel imp
obtuse gale
#

the shade plugin yes

pastel imp
#

oof ok

obtuse gale
ocean quartz
#

The mc and most dev comunities are just shit, arrogance everywhere

prisma wave
#

shit devs use kotlin

#

fact, not opinion

prisma wave
#

I will burn every kotlin developer in sulphuric acid

pastel imp
#

(doesn't matt use kotlin?) 👀

prisma wave
#

for his sake I hope not

ocean quartz
#

Yes, even at work, and we're doing really awesome things, but hey what do I know, santa mittens is the man

brittle leaf
#

uhmm i cant change my nick on this server, my name is maven on most servers

pastel imp
brittle leaf
#

i probably shouldve clarified as that message can be taken out of context here.

prisma wave
#

people using the best options is a bad thing?

brittle leaf
#

they were saying i shouldve gotten a raise

#

lol

pastel imp
#

I recently joined Cortex Dev. Discord server and it's quite a good place tbh, haven't seen any toxicity in there yet

ocean quartz
#

Not exactly latest and greatest but what is popular or trendy, or influenced by a specific community

prisma wave
#

If you don't use Haskell, you're bad

pastel imp
#

I got told I was shit because I used svelte trol instead of vue or react

#

(when svelte is obviously superior SunGlasses_Cool )

prisma wave
#

PHP isn't bad because it's old, it's bad because it's bad

pastel imp
#

Ye I would prefer vue 10x over react

#

but svelte 10x over vue

obtuse gale
pastel imp
#

bruh

cinder flare
#

yeah PHP is just kinda dog

pastel imp
#

I now understand you charlie

prisma wave
#

noo

#

none of us are saying you're a bad developer for using it, we're just saying PHP is shit

ocean quartz
#

Problem with PHP for me is the syntax, but hey if people like using it

cinder flare
#

yeah like I understand Laravel is a super cool trendsetting framework, but I lament the language

pastel imp
#

Only thing I don't tolerate is skript "devs"

prisma wave
#

I LOVE dynamic typing and inconsistent standard library behaviour and naming

obtuse gale
#

Shows how lacking php is by itself smirk

ocean quartz
#

Even Skript is fine if you use it for what it was meant to be used, the issue is the people writting extremely complex things on it that are really bad performance wize

#

Overall it's nice that it gives some people that don't know how to code the option to at least do some things

brittle leaf
#

variable defining is hellish tho

prisma wave
#

Yeah unironically skript ain't even that bad for simple stuff

#

I think there's also a project working on compiling Skript which improves performance, but also kinda cursed

ocean quartz
#

Someone on Paper discord was talking about what they did and basically a JVM compiler for Skript that fixes a lot of it's performance issues, which is nice

prisma wave
#

Yeah that's what I meant

#

a bit cursed but kinda cool I guess

ocean quartz
#

Very cursed yeah

brittle leaf
#

i remember playing on a prison server that was half made in skript, you could pull barrier blocks out of the inventories and everything, it was hell. i talked with thee admin of that server and they complained constantly about how the backend was shit cause of skript

obtuse gale
#

There was a page somewhere that had an actual language specification for Skript

#

which is uh

#

something

brittle leaf
#

ive looked at the docs for skript, just wow.

prisma wave
#

I'm surprised you can actually make a specification

obtuse gale
prisma wave
#

It's like trying to write a brand new c++ compiler or standard

ocean quartz
#

But yeah, use the language you like, or the one you need to use, personally I am very happy that I use my fav laguage at work, not many have the chance to use what they love

brittle leaf
prisma wave
#

tbh as a technical thing it's actually quite impressive that the skript parser even works

brittle leaf
#

i think the owner bought the prison setup from another server and just renamed a few things

pastel imp
#

I have something to show y'all but it's quite cursed soo....

ocean quartz
#

Show us

pastel imp
obtuse gale
#

ah yes, that

ocean quartz
#

That's the one i was talking about

pastel imp
#

oh ok

#

xD

brittle leaf
#

the admin was an unpaid staff and wasnt gunna rewrite stuff if they werent getting paid.

prisma wave
#

elara will replace skript in a few decades anyway

pastel imp
prisma wave
#

Dunno what you're complaining about

prisma wave
#

The best programming language ever

ocean quartz
#

Right, when PAPI3, Hangar, and DChat hex are out

prisma wave
#

yep

#

they'll all come out at the same time

pastel imp
#

wait

#

wut

prisma wave
#

Problem?

pastel imp
#

no, just didn't know about PAPI3 xD

#

also, Dchat doesn't have hex support? breh

remote goblet
#

dchat was abandoned and papi3 is lowkey abandoned

distant sun
#

it will be done when it will be done

remote goblet
#

major md_5 flashbacks

agile galleon
static zealot
#

its coming 2023

remote goblet
#

plus i heard talks of bungee support?

#

idk i dont work here

prisma wave
#

it will have placeholders and an api

static zealot
#

I'm not even sure if that's happening in papi 3 lmao. that was just a thing he was testing

remote goblet
#

who knows

#

that video was uh

#

20 months ago ish

prisma wave
obtuse gale
#

what about an API?

#

@prisma wave

prisma wave
#

yes i think it has that too

#

idk im not piggy

onyx loom
#

papi 3 will use adventure and components I'm pretty sure

prisma wave
#

wow!

static zealot
#

papi 3 😌

pastel imp
quiet depot
#

papi 3 isn’t abandoned

#

just on hold till 2023 (when it should also release) cuz i needed to waste last year, and the rest of this year

ruby dew
#

When is Papi 4 out

static zealot
#

nevermorow

pastel imp
#

PAPI 5 will allow you to see placeholders irl as holograms

sly sonnet
#

papi 9 + papi 10

ruby dew
#

What about papi 11

#

Papi 11 allows you to run minecraft in your brain

#

And you see placeholders tagged on your body

static zealot
#

do you guys really think papi 4 will happen? papi 3 is the end. after that we delete everything, helpchat, spigot, the internet and then the planet and maybe after that the universe

sly sonnet
#

no, papi 21

latent dirge
#

We can just remove papi 2 and 3

#

That will be worse than world destruction

sly sonnet
#

Y'all so distracted with the PAPI thing that you didn't event see what I did there

frail glade
#

I got it.

static zealot
#

yes nitro. we're not that dumb. I know I Personally am very dumb but I recognise a vine joke

inner umbra
#

Speaking of vine... I've noticed a few youtubers from vine reposting their vines as shorts. Why? lol

static zealot
#

why?

#

bcz shorts are currently the meta

#

they get you loads of views which means viewers aka potential subscribers which mean more views which mean .... etc .... you get the idea

#

I personally disabled shorts on my youtube app

#

well the ones showing on the main page.

#

I can still find shorts videos and watch them

inner umbra
#

Yeah I hate shorts lol. If I wanted to watch short videos I would go watch vines again lol (vine is still open but its archived)

static zealot
#

nah man. shorts used to take so much of my time for absolutely nothing.