#help-development

1 messages · Page 497 of 1

quaint mantle
#

So do i need the e.setCancelled();

fluid river
#

you either do e.setFormat()

#

or

#

e.setCancelled(true) + Bukkit.broadcastMessage()

rotund ravine
#

public class ChatListener implements Listener {


    @EventHandler
    public void OnChat(AsyncPlayerChatEvent e){
        e.setFormat(ChatColor.DARK_GRAY + "[" + ChatColor.GREEN + "A" + ChatColor.DARK_GRAY + "]" + " " + ChatColor.GRAY + "%s%s");
    }

}
quaint mantle
#

Thanks

abstract sorrel
#

nvm i fixed the issue, i was casting a List to an ArrayList which doesnt work

tardy delta
#

why would you do that anyways

rotund ravine
tardy delta
#

feels like college

quaint mantle
# rotund ravine No

Can i somehow make so if your in the world is or message will be e.setFormat(ChatColor.DARK_GRAY + "[" + ChatColor.RED+ "C" + ChatColor.DARK_GRAY + "]" + " " + ChatColor.GRAY + "%s%s"); and if B is will be B insted for a?

rotund ravine
#

In what world

#

You can just change whatever you enter into the format instead of A

#

?learnjava

undone axleBOT
tardy delta
#

instead of those string templates java is planning to add, they should've done prefixes so we can do C"Text &cTo &dColor"

quaint mantle
rotund ravine
#

Yes.

#

Simply enter whatever instead of A

#
e.setFormat(ChatColor.DARK_GRAY + "[" + ChatColor.RED+ world.getName().upperCase() + ChatColor.DARK_GRAY + "]" + " " + ChatColor.GRAY + "%s%s");
quaint mantle
#

Oh ok, but i want C to be red and B to be blue and A to be green

rotund ravine
#

Then do that.

#

It's simple.

quaint mantle
#

I dont know how to?

rotund ravine
#

Figure it out. 👌🏻

quaint mantle
#

Im trying

tardy delta
#

progress lol

orchid trout
undone axleBOT
cinder abyss
#

Hello, is there an event for when a block is updated ?

quaint mantle
#

what are you trying to do

ornate heart
#

Pretty sure there’s a block state event

cinder abyss
# quaint mantle what are you trying to do

I've got this code :java @EventHandler public void OreBlockBelowBreak(BlockBreakEvent event){ Block noteblock = event.getBlock().getRelative(BlockFace.UP); if (noteblock.getType() == Material.NOTE_BLOCK){ NoteBlock nb = (NoteBlock) noteblock.getBlockData().clone(); Bukkit.getScheduler().runTask(this, () -> noteblock.setBlockData(nb)); } }But when this block is updated, if there is a noteblock up the updated noteblock, he is also updated

#

(I also got the same with BlockPlaceEvent)

harsh totem
#

When endermen are angry at some player, is there a time limit for their anger?
because it seems to me like they stop being angry at some point if they don't kill the player

cinder abyss
#

@quaint mantle ? Or do I need to loop for each block in the y axis ?

young knoll
#

You should be able to stop all noteblock updates with the BlockPhysicsEvent

#

Or a packet listener

cinder abyss
#

I'm a little scary using an event called thousands time per second

young knoll
#

Use a packet listener then

cinder abyss
quaint mantle
#

how to add permission to player without luckyperms

young knoll
#

Add a permission attachment

#

But be aware you need to handle saving and loading over restarts

cinder abyss
young knoll
#

Not sure what Mojang does for this

#

I think they use arrays instead of lists

#

I think one big performance boost would be to cache the last used recipe

#

That way you can avoid looking through every recipe when someone crafts a bunch of the same thing

quaint mantle
#

anyone got an idea how i can check if a server in a bungecoord network is online

#

thats what im doing but i dont know how to ask a server if its online

#

do i ping it?

#

and if so

#

how

young knoll
#

Crafting 2.0

#

Slimejankkkkkkkkkkkk

ornate heart
harsh totem
echo basalt
#

that's not accurate

#

Endermen lose their aggression after 30 seconds

#

As long as their attacker is not within 10 blocks of range iirc

young knoll
#

Seems alright

#

Perhaps consider using a namespaced key for the recipeName

#

Make a namespaced key using whatever plugin is reading the recipe and registering it

#

tag what with pdc

solemn pine
#

Hello, I want to create a Minecraft plugin but I have this error :
Description Resource Path Location Type
The package org.bukkit is not accessible Main.java

I have imported packages but the class JavaPlugin does not exist.
I have tried to change version, to reload eclipse and to restart my computer.

paper lichen
#

Try to use Intellij

ocean hollow
#

I know that on 1.19.4 display text, display block are available. Can you use this in Spigot? I can't find information about plugins that use this, for examples

rotund ravine
#

?jd-s

undone axleBOT
gleaming grove
ocean hollow
#

thanks, guys

mortal hare
#

man i hate gcc sometimes

#

in inline assembly component of gcc you need to input a variable name, not a pointer, in order to pass the address of a variable from C/C++ code

#

like why

#

break C/C++ standards lmao

#

and here I am wondering why i get segfaults

#

for 4 hours

#

just for this shitty thing

sterile token
mortal hare
#

I have an assignment on SIMD instructions

sterile token
#

Ohh ok school that males sense

ocean hollow
#

what is the best way to create items in config? I need to create in this format. So how can I read it?

  - 1:
    - material
      amount

    - material
      amount

    - material
      amount

    - material
      amount

    - material
      amount
  - 2:
    - material
      amount

    - material
      amount

    - material
      amount

    - material
      amount

    - material
      amount

mortal hare
#

I need to implement algorithm that processes 4 integers at the same time with SIMD SSE instructions

#

4 numbers squared at the same time

#

mulps xmm0, xmm0

pseudo hazel
#

config.set(items, List<ItemStack>) I think will work just fine

tardy delta
#

writer a parser in c++ is fun lol

ocean hollow
pseudo hazel
#

depends on what you wanna parse

pseudo hazel
mortal hare
#

i had written primitive assembly language

#

with 19 instructions

#

and instruction parser

tardy delta
#

im writing my own kind of assembly language

ocean hollow
pseudo hazel
#

why would you want to

#

I mean still I think itemstacks work fine

#

but you still just do what you proposed ofc

#

if you just need materials and amounts its fine

#

for the materials I would use what you get when doing Material.getName()

ocean hollow
#

where can I get an example of an itemStack in config?

pseudo hazel
#

in the itemstacks code probably

#

or just save one yourself

#

config.set("example", new ItemStack(Material.DIAMOND, 20))

tardy delta
#

c++ switches are weird bruh

pseudo hazel
#

just add a scope to the case

tardy delta
#

ye its still weird

pseudo hazel
#

cant argue with that

mortal hare
#

switch cases are overall weird concept

tardy delta
#

cant even do a switch on a string

mortal hare
#

man firefox really does suck in terms of performance on linux

#

at least on my machine

#

i've downloaded chromium and it runs like 60-70% faster and uses less ram

#

too bad tho since I loved ui of firefox and its dev tools

#

but open up something that renders for example google maps

#

and that's a monstrocity on my machine via firefox browser

undone axleBOT
tardy delta
#

firefox is just chrome in disguise

#

too bad that you cant longer login with your google account in chromium

ocean hollow
mortal hare
#

and that's why im sad that I had to quit using firefox

#

because its the only survivor which has its own web engine

tardy delta
#

in terms of ram :X

mortal hare
#

everything's chromium now

#

sad

tardy delta
mortal hare
#

except for IE

#

DIE

#

that browser should've gone straight to hell

round finch
#

with configs it is
Path and object

#

plus you can't have the same path

tardy delta
#

wtf happened here

#

world got smacked or smth

round finch
#

:))

pseudo hazel
#

did you import it?

round finch
#

tru

mortal hare
#

oh yeah seg fault

tardy delta
#

not even a weird hexadecimal exit code

quaint mantle
#

Why does it say Cannot resolve method 'getWorld' in a 'AsyncPlayerChatEvent'

        World world = e.getWorld();```
flint coyote
#

why would a chat event have a world?

tardy delta
#

get the player and get the world

cobalt thorn
#

How can i check if a player is clicking into another player

@EventHandler
    public void event(PlayerInteractEvent e) {
        Player p = e.getPlayer();
        if(!p.isSneaking()) return;
        if(e.getAction() != Action.RIGHT_CLICK_AIR && e.getAction() != Action.RIGHT_CLICK_BLOCK) return;
        ItemStack item = p.getItemInHand();
        if(item == null) return;
        Material t = item.getType(); // type of item
        if(t == Material.PAPER) {
           
        }
    }
mortal hare
#

lmao

#

did you guys know

#

that you could put two or more statements at the end of the for loop?

#

aa[i] = i, i++

#

at least on c/c++ this is legal

cobalt thorn
#

and checking for a player is clicked?

#

i should put an instanceof Player?

tribal quarry
#

yeah

#

PlayerInteractEntityEvent*

tardy delta
mortal hare
#

well auto is cool

tardy delta
#

dunno what i; is supposed to do 💀

mortal hare
#

nothing

#

poke a variable

#

for a thread

#

i dunno

#

maybe it flushes L cache from the cpu

#

on separate threads

cobalt thorn
mortal hare
#

if i had to guess

#

for( i = 0; i < bb; aa[i] = i, i++ );

#

you can do one liners like this

#

pretty cool huh

tribal quarry
tardy delta
# mortal hare pretty cool huh

you know this, if i have an iterator and i keep using the element at that position a lot, should i dereference it and put it in a variable or keep using -> ?

mortal hare
#

it doesnt matter

#

compilers are smart

#

just use ->

tardy delta
#

this whole c++ thing scares me when i use "slower" variants of things

#

shouldnt have done assembly cuz now i want to optimize everything

tardy delta
#

we told you

quaint mantle
#

Where?

tardy delta
#

under your message

tribal quarry
#

and becareful, you should note that event is async, if you wanna do modifications to world and chunk stuff, you always should do it sync

quaint mantle
#

Thanks

quaint mantle
# tribal quarry e.getPlayer().getWorld()

Can you please help me with this:
Canot resolve method 'upperCase' in 'String'
e.setFormat(ChatColor.DARK_GRAY + "[" + ChatColor.RED + world.getName().upperCase() + ChatColor.DARK_GRAY + "]" + " " + ChatColor.GRAY + "%s:" + ChatColor.WHITE + " " + "%s");

flint coyote
#

it's toUpperCase()

chrome beacon
tribal quarry
#

how you are writing a plugin?

#

in what kind of editor?

flint coyote
#

I suppose that he does, otherwise there wouldn't be an error message

quaint mantle
vivid skiff
#

How could i create a invsee inventory but with armor contents?

flint coyote
#

What part of it do you need help with? The command? The inventory? Getting the armor content? Setting the armor content?

vivid skiff
#

The inventory

quaint mantle
flint coyote
#

You can create a custom inventory using Bukkit.createInventory() after that you can set the items inside the slots using Inventory#addItem oder maybe setItem, I'm not sure how it's called

vivid skiff
#

ok, thank u

flint coyote
#

Sure, there's also a lot of inventory gui guides if you Google for them. Smile also made one for creating your own Inventory lib. It is a little advanced though

quaint mantle
vivid skiff
tardy delta
flint coyote
#

Alright. Just wanted to get you started

flint coyote
tardy delta
#

whats even better: Process finished with exit code -1073741819 (0xC0000005)

mortal hare
#

Visual studio

#

yeah?

#

Only afaik it throws this nonsense exit codes with msvc compiler

hazy parrot
#

actually this error is probably that you tried to edit string that is passed into method args

#

i got that few times

tardy delta
#

clion

mortal hare
#

interesting, windows has its own handling of things i guess

#

im on clion too

hazy parrot
#

example

void foo(char* bar) {
  bar++;
}

int main() {
  foo("smth");
}
tender shard
#

why do people post C code here

tardy delta
#

me when freeing a string literal

#

naming conventions where

tender shard
#

what the

#

are you using a translator? what's your actual language?

#

seems like chinese -> english

#

I mean, the sentence you sent makes no sense whatsoever

hollow birch
#

im working on making custom enchants and was thinking about good ways to do it and i had an idea but i dont know if its a good way or not

basically the idea is make an abstract class enchant with all the basic identifiers like name maxlevel etc, but have an abstract method execute which will contain what each enchant does

the reason i think this might be a bad idea is because id be having multiple listeners for one event. for example i changed mob drops on entitydeathevent and if i have say looting on a sword then it would be listening for the entitydeathevent again

late sonnet
tardy delta
#

discord with all their weird emotes bruh

mortal hare
#

i would guess czezch or polish

#

due to was amount of z's and w's in the string literal in his screenshot 😄

#

yea

#

Polish is very easy to detect 😄

#

Z, W, l with that - in the middle, and you know it its polish

tardy delta
mortal hare
#
#define true false
#define false true
tardy delta
#

nah you cant be that bad

mortal hare
#

🌝

tardy delta
#

now only stripping those stupid whitespaces

#

c++20 probably has string::trim

#

but im on 17

quaint mantle
ocean hollow
#

I wrote it, but list is null. What should I do?

tardy delta
#

why is there a trailing .

ocean hollow
#

oh lol

#

thanks

tardy delta
#

people also dont seem to understand what a threadlocal random does

flint coyote
tardy delta
#

no

late sonnet
#

but was is the issue?

tribal quarry
#

send the entire code

#

of course its wrong

quaint mantle
#

Sry, but i dont know how to do step 2. ...

tribal quarry
#

you should pass player object instead of "this'"

#

or wtf

#

its just not that way to do it

pure dagger
#

When i have a config with for example players and their kills, should i load it into hashMap and when plugin disables save the hashmap to config??

tribal quarry
#

wait let me send

tribal quarry
#
player.performCommand("kit")
#

getCommand, just gives you the plugin command that you created it by editing the plugin.yml

somber night
#

ive been trying to add a shapeless recipe that requires a specific namespaced key on one of the ingredients but nothing i try will work, how can it be done?

tardy delta
#

💀

tribal quarry
#

💀

mortal hare
#

listen to PlayerInteractEvent iirc

#

somebody prob have more time soz cant help

sterile token
#

What exactly are you trying to do?

#

If you can i would like a descriptive message of wha you want to do and provide any code about what you are doing

pure dagger
wise mesa
#

does the new entity hiding stuff work for hiding players

flint coyote
# pure dagger .

yes. Although I'd also save it every 5 minutes so you don't lose as much on a crash. + I'd load and save it for the player on join and on quit

ocean hollow
#

Can I make two events in one class?

wise mesa
#

yes

pure dagger
#

but when i restart server every player quits right?

pseudo hazel
#

thankfully yes

pure dagger
#

so saving it in onDisable doesnt make sense

#

i think

pseudo hazel
#

saving what

flint coyote
#

it does make sense for /reload

pseudo hazel
#

onDisable will be run before the server shuts down

flint coyote
#

players don't quit on /reload

pseudo hazel
#

you shouldnt rely on reload

#

since most servers just restart to reload eveyrthing

pure dagger
#

what

flint coyote
#

Yes you shouldn't rely on it but it still makes sense to support it as good as possible

pseudo hazel
#

yes i guess

pure dagger
#

okay

flint coyote
#

Otherwise you are the one asked for support when someone used it and something broke

flint coyote
# pure dagger okay

it won't be additional effort on a restart anyway. Since you remove the saved entry on quit. Therefore if the map is empty ondisable you can skip the saving entirely

pure dagger
#

ok

summer scroll
#

So you need to save the data on onDisable

pure dagger
#

ok thanks

sterile token
#

With logic i mean your plugin will do staff mode let say and another for custom items, that logic should be splited in 2 classes so then your code is better to read and to know what does

hollow birch
#

that will set the ingredient as the exact item stack (ignoring amount)

#

so it includes meta

tardy delta
#

put it in one method

somber night
eternal oxide
#

can;t use ExactChoice on Shapeless

hollow birch
#

ah

#

i did not know that

plucky pasture
#

does anyone know if there is any flag add ons for block gravity on items like concrete powder and anvils? I know world guard can halt sand and gravel falling but it isnt working on other blocks. Maybe someone knows a plugin or a github, but just asking before building

bronze fern
#

my plugin doesnt show up when i do /plugins

rough drift
bronze fern
#

how do i send the plugin.yml

humble tulip
undone axleBOT
bronze fern
#

im trying to make a plugin where you dont lose iron armor on death

flint carbon
#

do you guys use an ORM or raw sql?

fluid river
#

i need free logic lesson

#

anybody

flint carbon
fluid river
#

wha

flint carbon
#

google it

fluid river
#

nah not what i need

#

logic lezzon

#

basically i need to grab all pairs in the array which don't contain the specified element(by index)

#

like this

#

My array
[1, 2, 3, 4, 5]
Pairs:
[1, 3]
[1, 4]
[1, 5]
[3, 5]
[4, 5]

flint carbon
#

ask chatgpt to teach u

fluid river
#

blocked in my country

flint carbon
#
    int[] arr = {1, 2, 3, 4, 5};
    int excludeIndex = 2;
    List<String> pairs = new ArrayList<>();
    for (int i = 0; i < arr.length; i++) {
        if (i != excludeIndex) {
            for (int j = i + 1; j < arr.length; j++) {
                if (j != excludeIndex) {
                    pairs.add("(" + arr[i] + ", " + arr[j] + ")");
                }
            }
        }
    }
    System.out.println(pairs);
}

This?

fluid river
#

cool what about all three-element combinations

#

pairs is kinda ez

#

and then all for-element combinations

#

and then all k-element combinations

#

can be up to 299999-element combinations

iron night
flint carbon
#

do you just mean working with multi dimensional arrays

fluid river
#

no

flint carbon
fluid river
#

i have an array

#

and an element which should be excluded

tardy delta
#

just do two loops

fluid river
#

and i need all combinations of K elements which don't contain this element

#

it can be bigger than just pair

flint carbon
#

what is the use case

iron night
#

Do you need to count this combinations or what?

fluid river
#

university

flint carbon
#

i don't think spigot help is where u wanna be lol

fluid river
#

i need to find all of the possible combinations(excluding where elements are just in different spots)

#

and use a dist() method on them

#

to find smallest possible value which can dist() return

fluid river
#

fourteen asks for help with his math solver everyday

#

oh you are new

#

didn't see

fluid river
#

the entire task is on russian and i'm too lazy to translate

#

so trying to describe what i currently need

#

i need to return smth like this after my task is done

#

for first element the optimal combination(S) = {2, 3}, because dist(element, S) = 3

#

so i need to loop through all possible combinations which exclude first element, to find the most optimal combo

#

which gives the smallest return value when i call dist() on it

orchid trout
#

auksto lygio matematika

fluid river
#

the dist method is given, so don't care about it

tardy delta
#

man ive been doing too much assembly i cant think straight

fluid river
#

i just need the algorithm to loop through all combos

#

of size K

tardy delta
#

cant you create all pairs first and then remove the ones you dont need?

#

efficiency go brr

fluid river
#

?

#

for pairs i would just use nested loops to get all possible pairs

#

and then easily use dist on them

#

but the problem is i need to work with combinations of any size

#

not just pairs

round finch
#

how big?

#

the combinations

fluid river
#

combo can consist of 299999 elements

#

as a limit

#

300k

#

and the array can be even bigger

round finch
#

like from all numbers combinded to smallest combination?

fluid river
#

combo of all numbers except one

#

let's for example make a code where combo has length of 4

#

and the array has size 6

#

[1, 2, 3, 4, 5, 6]

#

and i need to get all combos except ones which contain first element

#

[2, 3, 4, 5]
[2, 3, 4, 6]
[2, 3, 5, 4]
[2, 3, 5, 6]
[2, 3, 6, 4]
[2, 3, 6, 5]
[2, 4, 3, 5]
[2, 4, 3, 6]

and so on

#

if the elements just switch places it's still the same

#

so [2,3,4,5] == [2,3,5,4]

#

i need the unique combos

round finch
#

wait so the list may contain same numbers?

#

ah

fluid river
#

idk tho

#

i mean

#

it's not a problem

#

i need the indexes to be different

#

if the element has same value but different index then it's a different combo again

#

the example has an array of 4 elements

#

and you only need pairs

#

[1,2,3,4]
[1, 3]
[1, 4]
[3, 4]

round finch
#

a lot of probability math that is for sure

fluid river
#

and well, i just call dist 3 times on this 3 pairs

bronze fern
#

what do i do if the logs say they couldnt load my plugin

fluid river
#

to get the optimal one

#

and that's the end

#

but fuck

#

on the actual task you never get pairs

#

only combos which are longer

fluid river
#

and get the reason why it cant

round finch
#

logs should tell you

bronze fern
#

idk what the big error means

round finch
#

post it

bronze fern
#

other then could not load

#

[Server] [ERROR] Could not load 'plugins/NoIronLossPlugin.jar' in folder 'plugins'

eternal oxide
#

read teh caused by line

bronze fern
#

where tf

#

oh

#

found it

#

Caused by: java.lang.ClassNotFoundException: me.sw11per.noironlossplugin.NoIronLossPlugin

#

this is my code btw

#

im trying to make so you dont lose iron armor on death

eternal oxide
#

either the path/package is incorrect in your plugin.yml or you are using artifacts to build but have maven setup

#
package com.example.noironloss;```
#

looks very different to java me.sw11per.noironlossplugin.NoIronLossPlugin

orchid trout
#

i dont understand why the function needs a player

tardy delta
#

uh theres probably a note but dont expose functional interfaces

#

i was wondering the same thing actually

orchid trout
#

it just infuriates me

round finch
#

from what I know about probability is
length pow of length

so alphabet (26) * alphabet (26) * alphabet(26) = 26 pow of 3

it would generate 3 length combinations ( x _ x _ x)

#

i learned that from cracking

#

.

lol names something function
isn't that just poor practice?

zealous osprey
#

You need to use

case BARRIER:
    <code>
    break;

Instead?

tardy delta
#

:

regal scaffold
#

What's the easy way to make a tabcompletion return all the values from an enum

#

I know there's some cool way to do it

tardy delta
#

store Arrays.stream(Enum.values()).map(Enum::name).toList()

regal scaffold
#

That's what it was

#

Thanks

#

Oh but

#

What if I want to filter

#

While it gets typed

#

startswith right?

#

Stream -> filter

zealous osprey
regal scaffold
#

Need last bit of help regarding packets and protocolLib

#

I'm trying to create a packet for entity metadata

#
//I'm trying to send a packet to a player regarding a different players metadata settings.
PacketContainer packet = ProtocolLibrary.getProtocolManager().createPacket(PacketType.Play.Server.ENTITY_METADATA);


quaint mantle
#

hello.

#

I wanna render some world borders per player, how do i go about doing that?

#

and I also wanna limit the chunks being sent to each player, configuring my own render-distance or something, well, more like choosing which chunks get rendered for each player.

#

nvm.

wise mesa
#

Can entities have multiple passengers

chrome beacon
#

Yes

warm mica
regal scaffold
#

Is anyone here a expert in netty pipeline and packet injections?

fluid river
#

how can i actually use the i variable in a stream

for (int i = 0; i < amount; i++) {
    System.out.println(squares.values().stream().filter(v -> v == i).count());
}```
#

i worked too much today

#

my brain is dead

#

local variable i defined in enclosing scope must be final or effectively final

undone axleBOT
#

If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!

chrome beacon
#

final int j = i;

#

For example

fluid river
#
for (int i = 0; i < amount; i++) {
    final int i2 = i;
    System.out.println(squares.values().stream().filter(v -> v == i2).count());
}```
#

liek dis?

chrome beacon
#

Yes

fluid river
#

thanks lol

#

im super dumb

#

too much maths for today

regal scaffold
fluid river
#

this fucking compiler doesn't have preview features enabled

#

i cant use pattern matching

#

nooo

round finch
#

?paste

undone axleBOT
round finch
quaint mantle
flint carbon
#

is it okay to override the onLoad() function?

tardy delta
#

yes

#

its empty by default

flint carbon
#

i'm using Kotlin:

        instance = this
    }
    override fun onLoad() {
        instance = this
    }```

I was going to replace this
ivory sleet
#

yes

#

but that doesnt matter in principle

#

like whether u do it in init or onLoad

flint carbon
#

i was trying to figure out why i had a bug lol

#

and init was being called too late

round finch
#

bruh i wish i had 3d shape lib for spigot

#

but i would be cheating on my math teaching

fluid river
tardy delta
#

just dont work with an instance and use dependency injection

#

uh oh

#

this is worse than writing custom assembly

flint carbon
#

is dependency injection just passing a class in the constructor?

#

instead of creating it in the class itself

tardy delta
#

?di

undone axleBOT
flint carbon
#

does anyone use the getInstance() in production?

analog snow
#

How can I get a player from an command (bungeecord)

tardy delta
young knoll
#

Plenty do

fluid river
#

but they are 💀 already

#

i nuked them

quaint mantle
#

Cuz lazy pass instances to the constuctor

tardy delta
#

i havent seen any getInstances in c# production code, everyone i talked with uses dependency injection

abstract mauve
#

hello, I'm facing a problem, I don't know how to add a custom item to shopguiplus or to buy a certain access or command

tardy delta
flint carbon
#

i just added the dependency injection

#

but i have to use it in 3 classes because i wanted to use it in one

#

my table manager class has to do this now

Instead of

fluid river
#

??

pseudo hazel
#

yeah thats fine

fluid river
#

oh i see

pseudo hazel
#

better yet is to not rely on your plugin/parent class at all if you can prevent it

fluid river
#

that's how it should be

ocean hollow
#

what error does Bossbar give if it's less than 0?

wise mesa
pseudo hazel
ocean hollow
#

thanks

pseudo hazel
#

I mean just try it out and see

tardy delta
#

just do checks instead of catching exceptions ig

tender shard
#

tbh, I don't understand anything from that message

#

"closing the case"?

#

"two good ones"?

#

did you use a translater?

#

I still don't get it

karmic phoenix
#

I'm trying to cancel splash potion damage to potion thrower, so basically if you throw a harming potion you don't get damaged, only other players do, and I can't get thing working, any ideas on what methods to use, also It has to be a specific potion, for example if you throw healing potion u get healed, but if you throw poison you dont get poisoned.

ocean hollow
#

how to cancel task in it?

tender shard
ocean hollow
#

how

tender shard
#

use the consumer instead. the one that takes a Consumer<BukkitTask>

#

erm what?

ocean hollow
#

idk how to work with lambda

#

thx

quaint mantle
tardy delta
tender shard
#

like this

ocean hollow
tender shard
#

instead of using () in the lambda, use "myTask" or sth

quaint mantle
#

Oh

tender shard
#

what'S your question

remote swallow
#

just ask your questin

tender shard
#

?ask

undone axleBOT
#

If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!

tender shard
#

yeah but I won't watch it, I much rather just read messages

#

wdym? builder for what?

#

try to put your question int a text message

#

ok

remote swallow
#

the back button isnt working?

#

add sysouts and see if it runs

#

you most likely check its type while its air/null

flint carbon
#
com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: User customer_485511_sql already has more than 'max_user_connections' active connections```

Is there a way to kill these connections?
remote swallow
#

the if & switch is pointless

#

you check if its null or a barrier, if its null you close if its not null you close

#

just close the inventory when they click

flint carbon
#

i can't even log in because there are too many connections

tardy delta
remote swallow
#

add sysouts to it

#

see whats running

#

then you can fix it

#

after if, in ifs before ifs

tender shard
#

the "default" limit is like 150 IIRC

#

which is a bit little. But if your plugin needs more, you did a bad job

flint carbon
#

secondly its capped at 10

tender shard
#

oh 10 is a bit little

#

can you check your max_conections value

flint carbon
tender shard
#

max_values should be a few thousands

flint carbon
#

or is that different

tender shard
#

mysql / mariadb?

flint carbon
#

mysql

tender shard
#

default in mysql is 151 IIRC

remote swallow
#

System.out.println("passed XYZ")

flint carbon
#

oh

#

i have 128 open

tender shard
#

are you hosting the DB yourself on a VPS?

flint carbon
#

no i'm using pebblehost

#

i can just create a new db

tender shard
#

but you can try, do you got mysql "root" access?

flint carbon
#

what should the maximum pool size be?

tender shard
#

number of requests you need at max at the same time * 100

remote swallow
#

no

#

you add one before the if, inside the {} of the if, and after the if

#

if it returns

flint carbon
#

i'm a bit new to using sql and minecraft

tender shard
flint carbon
#

yea

tender shard
#

then just call "getConection()" everytime you need one

remote swallow
#

?learnjava!

undone axleBOT
remote swallow
#

add a sysoutline BEFORE the if, INSIDE the {} of the if]

#

and then after if it has return; in it

flint carbon
remote swallow
#

?spoon

undone axleBOT
#

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

remote swallow
#

learn java

#

learn java

flint carbon
#

so if i use getConnection to create a connection do i close it after?

remote swallow
#

you wont go anywhere been spoonfed the code

#

you need to do it urself

tender shard
remote swallow
#

the LINE before it

tender shard
#

like this

tardy delta
#

and close statement 🥺

remote swallow
#

try does that

flint carbon
# tender shard like this
            connection = HikariCP(plugin).getConnection()
            statement = connection?.createStatement()
            statement?.execute("CREATE TABLE IF NOT EXISTS `gens_playerdata` (`uuid` VARCHAR(36) NOT NULL, `name` VARCHAR(16) NOT NULL, `jsondata` LONGTEXT NOT NULL) ENGINE=InnoDB;")
        } catch (exception: Exception) {
            exception.printStackTrace()
        } finally {
            statement?.close()
            connection?.close()
        }```
ocean hollow
#

something wrong

tender shard
flint carbon
#

this is what i have right now

tardy delta
#

HikariCP(plugin) lol

echo basalt
#

but nah it aint

remote swallow
#

are you making a new hikari connection to the db each time?

tender shard
tardy delta
#

i dont see the ps in the closing block

tender shard
#
try (Connection myConnection = ...) {
  // do stuff with connection now
remote swallow
#

you should connect do the db once on startup then call getConnection on the hikari stuff wen you want to send data

flint carbon
#

i don't think you can do that in kotlin

tardy delta
#

uh oh kotlin

remote swallow
#

if you cant do it in kotlin dont use kotlin

flint carbon
#

like the parenthesis

#

this is the alternative i think

tender shard
#

you can definitely do everything you can do in java, in kotlin too

flint carbon
#
        try {
            dataSource.connection.use { connection ->
                connection.createStatement().use { statement ->
                    statement.executeQuery("SELECT 1;").use { resultSet ->
                        if (resultSet.next()) {
                            plugin.logger.info("Connected to database!")
                        }
                    }
                }
            }
            return dataSource.connection
        } catch (exception: Exception) {
            plugin.logger.severe("Failed to connect to database!")
            exception.printStackTrace()
            throw exception
        }
    }```
tender shard
#

oh yeah that's nasty

#

google "kotlin try with resources" please

flint carbon
#

In Kotlin, the .use function is an extension function that is available on any class that implements the AutoCloseable interface. The purpose of the .use function is to ensure that the resources acquired in a try block are automatically closed when the block is exited.

tender shard
#

damn wtf

remote swallow
#

you may be better to just use java

flint carbon
#

is that what it is?

remote swallow
#

most of us use java, we can help a lot easier with java

tender shard
#

is there's a reason why you're using shitlin instead of just using java?

flint carbon
tender shard
#

try-with-resources is definitly possible in kotlin, but I gotta admin, I don't know how

tender shard
flint carbon
#

The use function

tender shard
tardy delta
#

wondering the same thing

remote swallow
#

transfer this to kotlin, create an instance of your hikari class on onEnable, save that class to a variable and have a getter, then when you need a connection called plugin.getThatClas().getConnection()

#

and dont execute a query each time

tardy delta
#

please dont do that via your plugin lol

remote swallow
#

a)) put something in the sysouts that is descriptive of where it is

#

and an if statement usually has {}

#

if not add them, and add the sysout before return

#

?learnjava! for the love of god

undone axleBOT
tardy delta
#

dont think anyone has ever clicked on that

young knoll
#

Ooh it has a gif now

tardy delta
#

to be extra rude

remote swallow
#
if (soemthnig) {
   System.out.println("in the if");
   return;
}
flint carbon
#

you didn't encapsualte it

flint coyote
remote swallow
#

sysout takes a string, if you dont give it anything you arent gonna know whats passing

tardy delta
flint carbon
#

there was no {}

remote swallow
#

and an if statement usually has {}

tardy delta
#

you remind me of cpp with your {} lol

echo basalt
#

EW

ocean hollow
remote swallow
#

now you just need to add a string in the other sysouts and add a sysout after the if

#

if anything you need to learn java and learn naming conventions

tardy delta
#

take a copy or smth

flint carbon
#

since i'm new to hikaricp, this might be a dumb question, but is the connection supposed to run as long as the server online? or only when a request is made ( for example if a player changes their nickname and it gets updated to the database)

remote swallow
#

normally a hikari instance should be made on enable then you can called ThatClass#getConnection, which would return a connection from the hikari instance

tardy delta
#

no it shouldnt, when you "close" the connection, it doesnt actually close it, it just gives it back to the pool and the pool keeps it alive for any subsequent requests

remote swallow
#

you write System.out.println("passed if XYZ")

tardy delta
#

so you just request a "new" connection every time you need one

#

wtf am i looking at

#

if your compiler says it goes brr its probably not supposed to be like that

remote swallow
#
System.out.println("before if");
if (something) {
    System.out.println("Inside if");
    return;
}
System.out.println("Passed if");
flint carbon
#

copy and paste the code here

remote swallow
#

writing the same thing in a sysout isjust going to make it harder to help, give them something descriptive

tender shard
#

imagine using kotlin because "it's better"

#

and then kotlin lacks basic java features

#

and you're like "wtf"

ocean hollow
tardy delta
#

internally removes the viewer

#

new WhateverCollection(originalCollection)

flint carbon
tardy delta
flint carbon
#

why do u have ; lol

remote swallow
#

yeah, now just change the string in the if so you can tell what if its refering to

ocean hollow
tardy delta
#

new HashSet(viewers) or smth idk what type that is

flint carbon
tardy delta
#

lol

flint carbon
#

I'm guessing createConnection is pointless?

remote swallow
#

show the code without the error

tardy delta
#

idk what that does

flint carbon
#

imma just use chatgpt and translate it to java

tardy delta
#

i just request a connection when my plugin starts to shut down when it doesnt work

remote swallow
#

you have a ; at the end of your if

#

no

#

on the if (e.getCurrentItem() == null || something) you have a ; at the end

#

remove that

#

add the ; back to the sysout

#

and add something into the quotes

flint carbon
#

waittt the pool is supposed to be always open right

tardy delta
#

wdym by open

remote swallow
#

something descriptive about where it is

torn shuttle
#

I'll have you know my beard is much nicer

remote swallow
#

eg "passed item check"

tardy delta
# ocean hollow ?

new HashSet<>(inventory.getViewers()).forEach(HumanEntity::closeInv)

flint carbon
#
    HikariConfig config = new HikariConfig();
    // configuring hikari-cp
    List<Object> hikariCPConfig = configureHikariCP();
    String host = (String) hikariCPConfig.get(0);
    String name = (String) hikariCPConfig.get(1);
    String username = (String) hikariCPConfig.get(2);
    String password = (String) hikariCPConfig.get(3);
    int port = (int) hikariCPConfig.get(4);
    int minimumIdle = (int) hikariCPConfig.get(5);
    int maximumPoolSize = (int) hikariCPConfig.get(6);
    int connectionTimeout = (int) hikariCPConfig.get(7);
    config.setJdbcUrl("jdbc:mysql://" + host + ":" + port + "/" + name);
    config.setUsername(username);
    config.setPassword(password);
    config.setMinimumIdle(minimumIdle);
    config.setMaximumPoolSize(maximumPoolSize);
    config.setConnectionTimeout(connectionTimeout);
    config.addDataSourceProperty("cachePrepStmts", "true");
    config.addDataSourceProperty("prepStmtCacheSize", "250");
    config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
    return new HikariDataSource(config);
}

public Connection getConnection() {
    try {
        Connection connection = dataSource.getConnection();
        if (connection.isClosed()) {
            plugin.getLogger().severe("Connection to database is closed!");
            return null;
        }
        return connection;
    } catch (SQLException exception) {
        plugin.getLogger().severe("Failed to get connection to database!");
        exception.printStackTrace();
        return null;
    }
}

public void closeConnection() {
    try {
        if (dataSource != null && !dataSource.isClosed()) {
            dataSource.close();
        }
    } catch (SQLException exception) {
        plugin.getLogger().severe("Failed to close connection to database!");
        exception.printStackTrace();
    }
}
remote swallow
flint carbon
#

do these functions look okay?

#

dataSource is an instance of createDataSource()

tardy delta
#

hikaridatasource extends hikariconfig, configure datasource instead of doing pointless work

remote swallow
#

well done

tardy delta
#

datasource.getConnection also never returns a closed connection, it would rather throw

flint carbon
#

so get connection is always supposed to close

tardy delta
#

wdym

remote swallow
#

?notworking

undone axleBOT
#

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

remote swallow
#

what error

#

?paste it

undone axleBOT
flint carbon
# tardy delta wdym
    try (Connection connection = dataSource.getConnection()) {
        if (connection.isClosed()) {
            plugin.getLogger().severe("Connection to database is closed!");
            return null;
        }
        return connection;
    } catch (SQLException exception) {
        plugin.getLogger().severe("Failed to get connection to database!");
        exception.printStackTrace();
        return null;
    }
}

Is this better?

tardy delta
#

well the datasource will never return a closed connection so that check is pointless

flint carbon
#

what country are u from?

tardy delta
#

i meant to say that, not that you should use a try with resources

flint carbon
#

is chatgpt blocked in poland

remote swallow
#

something doesnt add up

#

its failing the name check

#

why are you name checking

flint carbon
#

because you have to give more than a fragment for context and it can read stack traces

flint carbon
#
    try {
        return dataSource.getConnection();
    } catch (SQLException exception) {
        plugin.getLogger().severe("Failed to get connection to database!");
        exception.printStackTrace();
        return null;
    }
}```
tardy delta
#

probably shouldnt return null

#

i should propagate the sqlexception to the caller

remote swallow
#

you title check

#

dont do that

#

keep an instance of the inventory

flint carbon
#

throw an exception?

#

do you use InnoDB?

remote swallow
#

i just looked at the code

#

why the hell do you have a class player var

#

that you never set

#

remove the title check

#

and make player p = event.getPlayer()

remote swallow
#

replacing your Player p = Player; yes

pseudo hazel
#

does anyone know how you can remove the red numbers of a scoreboard? I know some servers have done it but I think its through a resourcepack

#

but idk how

young knoll
#

theres a shader for rps that can do it

pseudo hazel
#

whats rps

young knoll
#

resource packs

pseudo hazel
#

oh xD

remote swallow
#

no

#

you remove the if check for the title

#

never do that

#

and you replace Player p = Player; and make it Player p = event.getPlayer();

#

change event to e then

chrome beacon
#

Don't detect inventories by their name

remote swallow
#

and remove

#

like i told you to

pseudo hazel
#

and use your brain please

#

red == bad

#

usually you can hover over it to see why its red

#

read what you wrote

#

your syntax doesnt make any sense

remote swallow
#

remove line 23

pseudo hazel
#

just ask yourself, what is getView()("blah blah") even supposed to mean

remote swallow
#

you should never be doing that

#

well done

chrome beacon
#

MC dev is known to be a bit unstable

pseudo hazel
#

a bit unstable really is an understatement

#

it crashes 1 out of 3 times I try paste something

#

something being a string btw

remote swallow
#

it dies with teh material class

pseudo hazel
#

that too

remote swallow
#

i disabled the bytecode decompiler and i havent crashedin a while

chrome beacon
#

I actually haven't had any issues with it

pseudo hazel
#

how do I do that

remote swallow
young knoll
#

Why would the minecraft dev plugin have anything to do with the material decompiler

remote swallow
#

it just do

young knoll
#

Eclipse sometimes crashes with the material class too tbf

pseudo hazel
#

its just too big lmao

pseudo hazel
#

yeah thats what the plugin says when it crashes my ide

young knoll
#

Mojang has fully removed their material class now

pseudo hazel
#

but luckily past traumas have taught me to spam ctrl + s all the time

remote swallow
#

you need to save an instance of the inventory or the view when it opens

#

you can then check to see if its the inventory or the view

#

no

#

you dont check the name

#

you check in instance

young knoll
#

You can also use the inventory instance itself

green prism
#

?paste

undone axleBOT
young knoll
#

Or if you really must you can use holders

#

But don’t use name

long sable
#

Anyone know how to get the actual dimensions of a textDisplay (both getDisplayWidth/Height() and getWidth/Height() return 0)?
Also - not sure what unit getLineWidth() is given in (default is 200) - pixels, perhaps?

flint carbon
#

does anyone know why I can't throw an exception on an integer, but it works for a string?

val minimumIdle: Int = hikariCPSettings.getInt("minimum-idle") ?: throw IllegalStateException("Missing 'minimum-idle' value in config.yml")
remote swallow
#

int cant be null, Integer can

flint coyote
#

getInt probably returns a primitive. Therefore it can't be null

flint carbon
#

ohh wait

#

so i should change it to getString?

flint coyote
#

you can use the normal get and check if it's null before using getInt

#

or use the get and cast it to an int

#

getString will lead to an exception since it's an integer

flint carbon
#

wait does it get the key or the value?

flint coyote
#

the value. You have to hand it the key

flint carbon
#

I had this:

    `val port: String = databaseConfig.getString("port") ?: throw IllegalStateException("Missing 'port' value in config.yml")`

But it didn't cause any errors

#

and the plugin works

young knoll
#

You can also just use isSet

tardy delta
#

just use defaults

#

not talking to you

flint carbon
#

ohh

#

like just put a value

#

if it is not existing

remote swallow
#

getString("port", "default");

hazy parrot
#

why would port be string

flint carbon
#

yea i'm fixing it

hazy parrot
#

192.168.1.2:25A65

flint carbon
#

but wouldn't a default be pointless for an sql connection

#

since it won't connect regardless

tardy delta
#

25A65 as port 🤔

flint carbon
#

oh wait

#

can i throw something in the default section?

young knoll
#

Are you telling me ports aren’t in hex

tardy delta
#

[2001:db8::9090]:9090 hehe

compact haven
#

can use an inline if Republic

compact haven
#

val port: Int = if (config.isSet(“port”)) config.getInt(“port”) else throw MissingException(…) @flint carbon

#

a tad unfortunate you need to repeat but that’s the only way I can think of instantly

undone axleBOT
#

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

flint carbon
tardy delta
#

more progress, decided to do it in c++ lol

compact haven
flint carbon
#
    host: localhost
    name: database
    username: root
    password: password
    port: 3306 //delete this line completely
    hikari-cp-settings:
        minimum-idle: 20
        maximum-pool-size: 20
        connection-timeout: 30000
compact haven
#

my assumption is that isSet is false when it’s not there lmao

remote swallow
#

the isSet will return false

young knoll
#

Correct

compact haven
#

did you even read the line I sent

tardy delta
#

its loaded into memory that config

compact haven
#

if it’s not there it’ll throw the error 🤷‍♂️

tardy delta
#

so unless someone calls reload() that wont change anything about your values

green prism
flint carbon
#

what if it is empty?

port:

#

will it still be not set?

compact haven
#

I don’t even think that’s valid yaml

tardy delta
#

^^

tender shard
#

Ofc it’s valid yaml

#

It‘ll be null

rough ibex
#

"Ofc it's valid yaml" - yaml in a nutshell

compact haven
#

then what is isSet?

tender shard
#

Its true

young knoll
#

Why not read the docs for isSet

tender shard
#

Its set to null

tardy delta
#

this site just places "null" bruh

compact haven
#

because I’m not the developer asking and I don’t even know where isSet is from

young knoll
#

Well getInt can’t return null

#

So

tardy delta
#

looks valid

#

its just mapped to null

green prism
compact haven
#

Is isSet from ConfigurationSectiin? Is that what we are talking about knack

tardy delta
#

why isnt getInt returning an OptionalInt

young knoll
#

Ew

tardy delta
#

std::optional<int> better

#

java with their stupid primitive specialisations

compact haven
#

isSet is likely to be true if it’s set to null

#

and yet it will likely return 0 on getInt

#

my assumptions 🤷‍♂️

flint carbon
#

i guess this is pointless to do:

            val portValue = databaseConfig.getInt("port")
            if (portValue == 0) {
                throw IllegalStateException("Invalid 'port' value in config.yml")
            }
            portValue
        } else {
            throw IllegalStateException("Missing 'port' value in config.yml")
        }```

(for each config option)
compact haven
#

pretty sure kotlin has Optional<Int> which proves kotlin’s superiority

compact haven
#

lmfao

#

alright so my one liner works

tardy delta
#

gn

flint carbon
tardy delta
#

Int ew

compact haven
#

Republic the other way would be to use a Delegate which I highly recommend since it makes the code more organized. val port by ConfigOption.Int(key = “port”) for example

#

than replicating that one liner for how ever many ints you have

#

definitely if it was whatever that huge if you had tho, optional if it’s just the one line

compact haven
tender shard
#

Kotlin is so weird. Seems like I made it while being drunk.

„Lol name more important than type.
Lol i hate null, in dont know what it is????
Static bad. Companion object it is

#

Kotlin is just shit

flint carbon
#

idk why everyone in this server hates kotlin

tender shard
#

Because it is objectively shitty

compact haven
#

Alex you’re a hater of literally everything

young knoll
#

You should ask him about paper

compact haven
#

You don’t like kotlin, nosql, paper

tender shard
compact haven
#

no it’s completely true

tender shard
compact haven
#

and not only do you not like it, you have to make it known whenever someone uses it or brings it up 😭

compact haven
#

in my opinion, why

flint carbon
#

do you know if val config = ConfigFactory.load().getConfig("database")

would read this:

database:
    host: localhost
    name: database
    username: root
    password: password
    port: 3306
    hikari-cp-settings:
        minimum-idle: 20
        maximum-pool-size: 20
        connection-timeout: 30000
#

maybe this is not kotlin lol

#

but it is before i use the delegates

compact haven
#

that’s literally not a kotlin question lmao

#

considering I’ve never seen that class before ConfigFactory, no idea

tender shard
#

That is just my opinion

quaint mantle
#

Sup guys!
Any of you familiar with remapping with Gradle?

tender shard
#

Use maven if possible

#

It‘s way easier

young knoll
#

Ooh speaking of things Alex doesn’t like

tender shard
tender shard
young knoll
#

Use paper weight userdev

abstract mauve
#

how to add chunk hopper in shopgui+ ? please someone help me!

quaint mantle
tender shard
abstract mauve
#

how to add chunk hopper in shopgui+ ? please someone help me!

regal scaffold
tender shard
#

?

quaint mantle
# young knoll Use paper weight userdev

I'm trying, but getting:
paperweight requires a development bundle to be added to the 'paperweightDevelopmentBundle' configuration, as well as a repository to resolve it from in order to function. Use the paperweightDevBundle extension function to do this easily.

No idea how to add developmentBundle with groovy

tender shard
young knoll
#

All I use is

#

paperweightDevelopmentBundle("io.papermc.paper:dev-bundle:1.19.4-R0.1-SNAPSHOT")

#

as a dependency

tender shard
#

Maybe that’d even work, after waiting 25 minutes

#

Wait, no. Gradle doesn’t even check .m2

remote swallow
#

takes 3 min for me

tender shard
remote swallow
#

no untill the user dev is done setting up

tender shard
#

Where is that plugin supposed to come from? Its not on maven central

remote swallow
#

its on gradle plugin repo

#

that is default added to gradlew stuff

young knoll
#

It’s on maven central now

remote swallow
#

i thought its on gradle portal now

young knoll
#

Or whatever the default for gradle is

remote swallow
#

not their repo

quaint mantle
tender shard
remote swallow
#

the gradle plugin portal is on all projects

#

by default

tender shard
remote swallow
#

yeah

tender shard
#

Gradle gets more funny every day

remote swallow
#

how

tender shard
#

Gradle devs be like „lol we dont use maven central. Our builds should be reproducable without external depencencies“

#

3 years later:

#

„Yes“

remote swallow
#

we use maven central, but why would we put thousands of plugins on maven central

#

you can still put them on other repos its just more config for end users

tender shard
kind hatch
#

I set the background image to something I have on my PC and lowered the opacity. As for the color scheme, I downloaded one a long time ago and have kept it with every update since. You can however edit nearly everything you want in the Color Scheme Editor

tender shard
remote swallow
#

wat

tender shard
#

Yeah explain it

remote swallow
#

ive never heard of that

kind hatch
#

I think I chose the right setting to export that theme. Just go to File > Manage IDE Settings > Import Settings

tender shard
remote swallow
#

it uses a gradle plugin portal

#

which is gradle offical

tender shard
#

Remind me again - what‘s not official?

#

Oh, the shadow plugin- because gradle itself is a bit stupid

remote swallow
#

most gradle plugins

tender shard
#

Nvm lemme just create a new archetype

#

Oh dw, you won‘t get it. Gradle doesn’t know about that eithrr

#

Maybe i will just run apt to update to maven

#

Oooh i forgot, you guys need a 150mb wrapper in every repo instead, my bad

young knoll
#

I mean

#

You don’t

tender shard
#

Maybe that‘ll change in gradle 10

#

Or i forgot, your build files breaks on every update

young knoll
#

You can use a global install if you want

tender shard