#dev-general

1 messages · Page 31 of 1

brittle leaf
#

you could also use getClickedInventory, check the inventory type if its the player's inventory or not

#

i believe the player's inventory types are CRAFTING and PLAYER

#

also CREATIVE too

#

most gui plugins that exist like deluxemenus just outright prevent all item movement in menus including player inventory for the exact reasons of this is a pain in the arse and can cause items to get stuck in the other inventory

#

either deletion or duplication of items

fiery star
#

yes but if the player spams, the cancel event can be "bypass"

another question, I noticed that pressing a key such as &,é," (which is a shortcut to move the item under the mouse to location 1,2,3 etc. on my plugin that is considered as a click and therefore allows you to give the item in the inventory (not really because if you disconnect/reconnect you no longer have it)

but on other servers it is not considered a click. They use another event?

brittle leaf
#

that comes under NUMBER_KEY afaik?

distant sun
#

You have one job @ruby crater ffs

#

But yeah, there is a click type for numbers

fiery star
#

number_slot?

brittle leaf
#

a clicktype

#

so ClickType.NUMBER_KEY

fiery star
#

like right/left click?

brittle leaf
#

well yeah they come under clicktype aswell

fiery star
#

what event use deluxe menu for click inventory?

brittle leaf
#

InventoryClickEvent most likely

fiery star
#

for example with deluxe menu they are not taken into account

brittle leaf
#

and also InventoryDragEvent

#

tho they just cancel both events

fiery star
#

yes

#

but suddenly, why, when I press my & it is considered a click while deluxe menu is not, it is possible that this is no longer the case?

brittle leaf
#

so your clicking 7?

#

thats probably because they dont use all the click types for their commands

#

tho the generic click command would probably account for it

#

if you really want to see what dm does just open it with recaf or jdgui or smth

fiery star
#

Ah ok, and how can I fix it?

#

if I recover the type of click it will be right click, or left click?

brittle leaf
#

itll be whatever event.getClick says it is

fiery star
#

he'll probably say it's a left click

#

so with this event there is no way not to have this problem?

brittle leaf
#

well just print to console or to yourself the result of e.getClick.name() and find out

fiery star
#

okay i try

brittle leaf
#

well if you code it properly then you wont have any issues with it

#

make sure you using getClickedInventory and not just getInventory

fiery star
#

I think that allowing to move one inventory and not the other in a gui can be dangerous so I will avoidI prefer to avoid having duplication bugs

brittle leaf
#

if an inventory doesnt require you to put items into the top inventory then the bottom once should just not allow for movement of items just to prevent any cases of possible loss or duplication of items

fiery star
brittle leaf
#

every click will have a clicktype

fiery star
#

I was afraid it would be considered a basic left click

brittle leaf
#

well theres no point in doing that

#

might aswell have all clicks having their own type

fiery star
#

how?

brittle leaf
#

well spigot already does that

fiery star
#

the client can for example send the server a "potato" click

brittle leaf
#

it was a statement rather then an answer to a question

#

a potato click?

#

what

fiery star
#

oh no i misunderstood that

#

but so when the click event is called, I check if it's a NUMBER_KEY and if so I return as its no longer a problem (actually it was mainly a problem of desynchronization of the client's inventory)

brittle leaf
#

also make sure to use a switch statement for clicktypes instead of a long if statement

fiery star
#

what's wrong with an if?

brittle leaf
#

well instead of
if(e.getClick() == ClickType.NUMBER_KEY || e.getClick() == ClickType.SHIFT_LEFT || ...)
you can do

switch(e.getClick) {
  case NUMBER_KEY,SHIFT_LEFT -> e.setCancelled(true);
}
#

more so you dont just repeat yourself constantly

fiery star
#

ok ok ok (so deluxe menu blocks key clicks) thank you for your help anyway (you're the only person I found who knew about it)

brittle leaf
#

deluxe menus blocks clicks from both inventorys

#

if you cancel the event it prevents the click from modifying the inventory

#

it just blocks every click of every clicktype

fiery star
#

yes, but even with the 2 inventories block if I don't lock the keys and it's a button that closes the menu, when closing, it won't cancel the event and for the client he will see the block in her hand

brittle leaf
#

which is probably a ghost item

#

tho ghost items show up more in creative

#

or on older versions

fiery star
#

yes because for the server, the client does not have this item and if he reconnects he will no longer see it

brittle leaf
#

thats what a ghost item is

#

which you can usually fix by calling Player.updateInventory()

pastel imp
#

Any recommendations on command annotation frameworks?

#

Was looking into ACF but it apparently doesn't support changing certain things yet.

#

Triumph-Cmds isn't prod ready either

fiery star
#

ah also, despite the cancel event, I noticed that by spamming clicks (when we have the bottom inventory activated)

we can lose items by placing them at the top, it's because of the double click?

brittle leaf
hard dagger
#

like what doesnt acf support changing

crude cloud
#

dn

inner umbra
#

What's your opinions on java 21 removing the requirement for class declaration?

rotund egret
#

Nice

solemn laurel
#

is it only for the main class or something?

rotund egret
solemn laurel
#

thanks

#

it looks pretty good - i wonder if IDEs will transition to auto-generating default programs like hello world with unnamed classes

#

I didn't know you could write methods without declaring them public/private xD that's not even new lmao

rotund egret
#

I dunno, I use kotlin. It's implicitly public unless notated otherwise

sweet cipher
cloud lintel
#

am i the only person who thinks this posting is stupid

#

they want a developer who also has to be familiar with configuring plugins (not any specific ones, just configuring)

#

blockbench

#

but can also code

#

and "make entities"

#

on bukkit

#

feels vague and silly or am i just stupid

#

"Knowledge of Blockbench, Server Configuration/Specs and being able to create working entities in Minecraft Java edition" like these feel like completely separated things that are not one job description

pastel imp
hard dagger
pastel imp
#

ty

hard dagger
#

its much better than acf and the current stable version of triumph imo

#

(i havent used it)

pastel imp
hard dagger
#

It should still be fine to use for for the most part

#

I doubt therell be any huge breqking api changes before it gets merged

fiery star
#

Hello, I would like to create my own placeholder, but I don't quite understand, do I do it from my plugin or do I have to make a jar that I put in the placeholder folder?

dusky drum
#

anyone here uses syncfusion and tried exporting datagrid to pdf and then addint template to that exported pdf? and that it worked? cuz for me it just adds new page and puts template there.

half harness
#

Which would be quite a lot compared to the normal requests in here

solemn laurel
fiery star
#

thanks

distant sun
#

wrong channel

#

dont just blindly copy and paste messages

hearty pier
#

idk but some of chanels got hidden for me

#

oh i found where nvm

heavy goblet
#

not really a plugin dev but i'd like to know something about:

in some plugins, directly editing the config and not properly typing the correct amount of ' symbols break the yml file
so when you enter it in their ingame editor, the proper placement of ' symbols are added to the config

what is that called? pls ping if you people know

#

it's for a specific purpose and mostly convenience mostly for myself when converting super long command lines to text-that-dont-break-yml-files

distant sun
#

what is "that"?

heavy goblet
#

i should retype my explanation

distant sun
#

Quotes around values (either single or double) are required when the value starts with some special characters suck as < & { and others, there's probably other cases when quotes are required

heavy goblet
#

here's a command
{CustomName:'{"text":"%math_0_(%bow_force%)%"}'}

i'm using ExecutableItems and when i put it in the ingame editor, it becomes
'{CustomName:''{"text":"%math_0_(%bow_force%)%"}''}'
placing the ' symbols correctly to not break the yml file

#

so i was wondering what method is that called

#

or is there already a website dedicated to positioning ' symbols?

distant sun
#

'' is escaping, used when the string has ' around it

heavy goblet
#

mmm
i'll just type something out and make some command converter that positions 2 ' start to finish and multiply existing ' symbols by 2

#

actually docs are better

#

i'm going to read it properly bc i just tested something on a smaller scale and it didn't read it properly

#

anyway ty for referring me to the docs

rose wing
#

how i can make a plugin with cross server?

#

what do i need to do? 😭

pastel imp
rose wing
pastel imp
rose wing
#

I want that, for example, users can be typed on other servers and so on

pastel imp
rose wing
#

which ways are?

pastel imp
#

at least use waterfall

#

and channels are one of them

#

you can also use redis

#

sockets

#

several options

rose wing
#

oh, I thought that inside the bungee waterfall would fit and all that

#

sockets is a good choice?

pastel imp
rose wing
#

what do you mean with plugin messaging channels?

pastel imp
rose wing
#

yep

pastel imp
#

should cover most if not all of it

rose wing
#

but that i need to add to the spigot plugin? or i need to create another plugin for bungee?

pastel imp
#

then you just gotta receive it and handle it however you wish

#

also, recommend using paper

rose wing
#

yes, im using paper

pastel imp
#

then use the paper-api and pog

rose wing
pastel imp
#

dies

rotund egret
#

You collect these pogs

#

And whoever collects the most

pastel imp
rotund egret
#

Is the pog champ

rose wing
pastel imp
#

ah

brittle leaf
rotund egret
#

I think they meant that the community doesn't use pog like the community you're in does.

brittle leaf
#

also pog is more an english term aswell, so ig if you dont speak english commonly it doesnt get used idk

#

maybe im just chronically online

rotund egret
#

True

pastel imp
#

if anyone that doesn't have it, you can use templates when generating getters and/or setters and I made a simple template for Paper style methods if anyone needs it:

Getter:

#if($field.modifierStatic)
static ##
#end
$field.type ${field.name}() {
return $field.name;
}

Setter:

#set($paramName = $helper.getParamName($field, $project))
#if($field.modifierStatic)
static ##
#end
void ${field.name}($field.type $paramName) {
#if ($field.name == $paramName)
    #if (!$field.modifierStatic)
    this.##
    #else
        $classname.##
    #end
#end
$field.name = $paramName;
}
half harness
#

im confused 🥲

#

ohhh is this for alt + insert?

pastel imp
#

with these templates, instead of generating the typical getters and setters, it will generate paper like methods, aka coolField() and coolField(String very)

prisma wave
#

aka slightly better/slightly worse accessors

#

Better because they ruin kotlin compatibility and have shorter names
Worse because uhh uhhhhh yeah

zinc egret
#

hey

#

i need help

compact perchBOT
#

There is no time to wait! Ask your question @zinc egret!

lavish notch
#

Does anyone know why Intellij complains about classes not being able to access other classes but the plugin compiles and runs fine?

hard dagger
#

because its wrong probably

lavish notch
half harness
#

¯_(ツ)_/¯

lavish notch
#

Thank you, that fixed it!

half harness
#

nicee

hard dagger
#

i was right!

#

intellij was wrong 🤯 🤯 🤯

forest pecan
#

What world generator do you guys prefer (Plugin)

static zealot
#

Minecraft 1.17+. It is just amazing.

half harness
#

CleanroomGenerator
I just use it to create a void world :))

forest pecan
#

Dkim do animals spawn in Generated worlds/

alpine shale
#

@forest pecan Scammed me

forest pecan
#

Perfect lets open

#

a Ticket

#

Scammed me,

#

Jezus.

#

I'm happy there many freelancers here ive payed and did a good job instead of you 😉

alpine shale
#

You asked for placement

forest pecan
#

Trying to earn some quick money, not with me.

alpine shale
#

Then you deleted

forest pecan
#

Open a ticket we talk there no problems.

#

Kiddo

alpine shale
#

I have to go sleep, tomorrow I open ticket

forest pecan
#

No time for you i swear ...

rose wing
#

using plugin messaging channel

#

how can i get the server of specific player?

half harness
#

You need some sort of server wrapper

#

For ex if the server crashes, then the mod will be crashed as well

#

@glacial barn

inner umbra
#

Can he even see this channel?

half harness
#

Ya

inner umbra
#

What is the lock for then?

glacial barn
#

either or

half harness
#

Level 0

inner umbra
#

Ah

#

Don't you reach lvl 1 by sending 1 message?

half harness
#

Idk

inner umbra
tacit stag
#

Hello, does anyone know what the variable to place the capacity bar of a server is like?

brittle leaf
#

to imgur

brittle leaf
#

i wonder if its worth looking into some online math courses

tacit stag
tacit stag
#

Hello, does anyone know what the variable to place the capacity bar of a server is like?

half harness
#

.....

tacit stag
#

Hello, does anyone know what the variable to place the capacity bar of a server is like?

half harness
#

Hi ivan!

oblique heath
#

hi dkim 😳

#

shh

half harness
#

i shhed

oblique heath
#

impressive

cerulean ibex
pastel imp
#

if it isnt better than triumphgui then me not using xd

#

but will check it

#

Hmm, from the quick look to the docs, it looks quite solid, although not so many features are added. But from what is added, I like how its structured.

cerulean ibex
#

what features are you looking for

pastel imp
#

Also, no way to handle the close event and open

cerulean ibex
pastel imp
#

so default features

cerulean ibex
pastel imp
#

well would setting buttons after override it?

cerulean ibex
pastel imp
#

Then yes, should work.

cerulean ibex
pastel imp
#

triumphgui has it :-:

cerulean ibex
cerulean ibex
pastel imp
cerulean ibex
#

actually i have a use case

#

for like /freeze menus where they stop you from closing it

sweet cipher
#

Just wondering, why did you make your own ItemType class?

cerulean ibex
sweet cipher
#

Didn’t you say it’s for Paper though?

#

Or are you going to expand to other platforms?

cerulean ibex
#

yes

pastel imp
#

Another cool feature would be to be able to update guis easily

#

(while opened)

cerulean ibex
#

you can

#

look at the example

#

like this works completely fine and you dont need to call any update method (i should prob document this since its actually useful)

final Button counter = Button.of(ItemType.DIAMOND)
        .onClick((click) -> click.clicker().sendMessage(click.button().name()));

scheduler.runTaskTimer(plugin, () -> {
    counter.name(Component.text("Counter: " + count.incrementAndGet()));
}, 20, 10);

final Gui gui = Gui.chest()
        .title(Component.text("Counter"))
        .rows(3)
        .button(Slot.of(1, 4), counter)
        .build();

vision.open(player, gui);
pastel imp
#

tbh, if you add the events thing, fill and paginated guis, might switch from triumph to this

cerulean ibex
#

you should start it 😉

pastel imp
cerulean ibex
pastel imp
cerulean ibex
#

lol ok

pastel imp
#

I assume it wouldn't be wise to use configurate for data storage right?

hard dagger
hard dagger
long dagger
hard dagger
#

well it has an update method but thats it

long dagger
#

It updates automatically

#

Doesn't need an update method

#

I don't remember what use case the update method is for.

#

Oh wait

#

I forked it and added my own code

#

I might have added the auto update feature

#

Idk

hard dagger
#

💀

ocean quartz
wintry plinth
#

PlusOne to this, Sparky build the library what suites your needs. Then, if others use it - great! If they don’t it doesn’t matter

#

It seems really nice what you’re building

#

IMO it’s better to be simple and nice, than abstraction everywhere

pastel imp
#

that is true, I wouldn't personally use it because of not having the features I need, but otherwise, I would def. use it.

wind patio
#

yeah I'm just yokin, just the classname Gui seemed familiar

cerulean ibex
#

lol

wind patio
#

no it's not an api it's a library 🤓 ☝️

cerulean ibex
pastel imp
#

frameworks, apis, libraries

#

choose

cerulean ibex
#

And the Gui apis are both have the same name

wind patio
rotund egret
#

Bro there isn't any books in here, hardly a library 🤓

cerulean ibex
wind patio
#

yes yes

#

just wondering why didn't you name the class GraphicalUserInterfaceInventory or smt 🥱

pastel imp
#

need help @eager fern ? xD

eager fern
#

IDK WHAT I am doing wrong

#

oh

#

I see

wind patio
#

what

eager fern
#

I put a typo

pastel imp
#

Serivce

#

lol

eager fern
#

I dont wanna talk about it

#

shush

pastel imp
#

xD

#

how many tries was that? 5?

eager fern
forest pecan
#

Somebody knows how to remove prefix FactionsUUID (Faction name) in chat.

crude cloud
#

im sure factionsuuid support does

potent nest
distant sun
slate elk
#

Not sure how that faction thing was written

crude cloud
#

alternatively you could properly configure your plugins

slate elk
#

Dev chat no?

crude cloud
#

people misuse channels

#

shocking

potent nest
#

dev chat doesn't mean come up with the most stupid ideas

slate elk
#

also better thing to do AsyncChatEvent .getHandlerList().unregister(Bukkit.getPluginManager().getPlugin("popfaction”)…

#

Maybe there some typo it’s via my phone

#

Also make it soft depend on the popfaction

#

So it will launch after only+++

distant sun
#

Bukkit.shutdown()

long dagger
#

If someone wants to raise a players ping when it gets below 20 because "it's bad" and "you never see people below 20 on Hypixel", what do you say?

#

They also want to change the know back based on ping, higher ping = higher knockback

#

I asked why, and they said "because Hypixel does it", and I asked if they knew why Hypixel might do it, and they couldn't tell me.

#

They want to copy something because a successful server did it, not because it improves gameplay (they don't even know how it improves gameplay if it does at all)

sweet cipher
#

I mean if you're getting paid and they aren't listening to you, you might as well do it

rotund egret
#

There's an argument to be made for degrading a players connection to give the appearance of "good connection"
I think it's unethical and only serves to frustrate the userbase for an overall negative experience.

I don't know the technicals for knock-back in correlation to ping, but that seems like a reasonable request for an equitable PvP experience; assuming that's a focal-point of the server. If not, that seems execssive for avg players.

#

You really gotta stop doing that dkim 😩

hard dagger
#

are there any specific abstractions that you think are unnecessary?

#

ig ItemType

crude cloud
#

itemjoe

ruby dew
#

whole bukkit abstraction is unnecessary. Everything should be handled in packets

distant sun
#

Good thing someone invented smth just for you, Minestrom or w/e

ruby dew
#

damn someone did it before me

brittle leaf
#

isnt everything already just a responce to packets either client server or vice versa?

#

also i didnt know that bukkit was abstraction

prisma wave
#

ofc it is

#

it's hiding all the messy details of the server internals

brittle leaf
#

oh yeah, its legit the definition of abstraction

prisma wave
#

pretty much lol

brittle leaf
#

ngl bukkit and craftbukkit remind me of a clean, organized front end and a backend that can get you tied up in seconds and lost till the end of time

prisma wave
#

you're not wrong

#

though with a bit of experience the internals arent too hard

#

just takes practice

ocean quartz
#

Except that both are classic spaghetti

drifting aspen
#

saying that bukkit api is a clean organized front end is quite an overstatement

potent nest
#

well it's quite impressive considering its age and all the changes to minecraft

drifting aspen
#

that's true ig

slate elk
distant sun
#

ok

agile galleon
#

whats minestrom and whats minestorm

quiet depot
#

i think they mean minestom

agile galleon
#

probably

distant sun
#

yeah minestom

crude cloud
agile galleon
#

lmao

#

no way somebody did that

distant sun
#

🤣

brittle leaf
brittle leaf
agile galleon
#

no?

brittle leaf
#

tho id assume that both are talking about minestom and just misspelled it

agile galleon
#

im on 2nd page google and minestorm as in offline mode botter wasnt mentioned anywhere

brittle leaf
#

yeah nots really around anymore afaik

#

ohhh

#

its mcstorm

#

not minestorm

#

a simple case of minus brain kekw

crude cloud
#

the api itself is held together with duct tape

#

so many things that should have been changed a decade ago and 5 years ago and still haven't

#

the api has not adapted to how minecraft works today

brittle leaf
#

ig the whole point of the bukkit api being how it is today is probably caused by backwards compatibility

#

its like they only want to add, never change

#

if it is added fucked up then it stays fucked up till the end of time

crude cloud
#

one thing is attempting to preserve backwards compatibility as a pinky promise rather than a guarantee
another thing is literally rewriting the plugins' bytecode to make it compatible with newer versions and trying to not introduce any breaking changes ever because that's considered a cardinal sin

brittle leaf
#

something else that kinda bugs me is how it can take many minor version till a piece of api is added, like with the goat horns

#

well, the goat horns instument itemmeta wasnt added till 1.19.3 i think

drifting aspen
#

rewriting the plugins' bytecode to make it compatible with newer versions
Where does Bukkit do that?

prisma wave
#

legacy material & sound conversions

#

for pre 1.13 plugins

drifting aspen
#

omg

#

where exactly does it do it?

#

I want to educate myself

forest pecan
#

Whats best RTP plugin?

oblique heath
#

they each have their charm 😌

#

some tp you into empty chunks, others take 15 seconds to cook up

#

you simply cannot go wrong

forest pecan
#

Perfect thankyou they all the same to edit them? @oblique heath

oblique heath
#

they are all equally different

slate elk
slate elk
#

its ❤️ . ❤️

drifting aspen
#

Why didn't they just keep the old Materials and deprecate them?

crude cloud
#

oh they also do that but they are renamed to LEGACY_blahblah

#

it's comical

drifting aspen
#

just why

crude cloud
#

so old plugins don't end up using the new materials by accident or smth

drifting aspen
#

this could have worked perfectly okay while maintaining backwards compatibility

drifting aspen
crude cloud
#

thing is that, they are effectively two separate systems

#

the legacy one and the """""modern""""" one

#

mashed into a single one 😃

#

and they are meant to work completely independently

#

they could have done it far easily if they renamed the old Material to LegacyMaterial, rewrite the references of old plugins, and keep the "new" Material clean of the legacy crud

slate elk
#

any anticheat devs in the chat ;p?

lavish notch
crude cloud
#

yep

forest pecan
#

Best auction house?

#

Without any dupes

#

plugin?

distant sun
#

Wrong channel

forest pecan
#

Wrong channel?

brittle leaf
#

tho a plugin with dupes couldnt exactly be classed as best, its basically in the description that best means functions correctly without exploits

forest pecan
#

I'm just curious if i need a premium one or not.

brittle leaf
ocean quartz
half harness
#

How could I get the latest minecraft version via a web request?

#

maybe theres something in paper api

#

hmmm I'd have to do json parsing

#

is there any other api thing that I can use to get the latest version?

#

wait

#

aha

#

maybe?

#

aaaaaaaaa it returns html

#

NEVERMIND

#

bam

#

and then I can just regex

#

actually I could've just regexed paper's api

distant sun
half harness
#

ah i was looking for a fabric api but couldn't find one 🥲
ty gaby

#

oh wow this one has snapshots as well

distant sun
half harness
distant sun
#

Why does discord decide to change your pfp randomly lol

half harness
#

💀 interesting

#

I didn't change anything from my side

distant sun
#

It happened before too xD

prisma wave
#

probably bug with server-specific pfps

half harness
#

I know there is/was a bug where if I ping someone on mobile without nitro it still keeps server profile in notif

#

too many bugs with server-specific pfps

#

🥴

distant sun
#

Too many bugs on discord

prisma wave
#

i remember there was a bug ages ago where mobile notifications for messages would be in the language of the user that sent the message, not your language

#

was very odd

#

not the actual message content obviously

#

but i think it was join messages specifically

#

and theyd be localised in the wrong language

distant sun
#

Poor indie company

#

They should team up with microsoft

half harness
#

🤨

distant sun
#

Probably a mirror

#

Since it gets downloaded when you start the server for the first time to be patched?

#

Though idk why 1.7.10 🤣

half harness
#

but the thing is... it's only 1.7.10

#

🥲

distant sun
#

Then idk haha

oblique heath
#

maybe it's there for some legacy reason

distant sun
#

Has anyone used svelte with ts? Does it work nice?
I need a js framework for my bachelor's degree project and I was originally looking at react. Despite its popularity, it is a bit scary for a beginner ngl, with all those useState and such.
Svelte on the other hand looks more beginner friendly.
The thing is, I would LOVE to use TS over JS. While I do like JS for its dynamic structure which makes it a great language for some things, it also makes it a pain in the ass 😵‍💫

cinder flare
#

honestly, React is not that hard to get into

#

it looks scary, but Svelte does basically all of that just hidden from you

#

everything in React is just functions, your props are function parameters

#

you want to use a state value that changes? you use the useState hook, which gives you a reactive getter and setter

oblique heath
#

class components in react are what's scary

cinder flare
#

yeah that shit is a no-go

#

but modern react super nice

cerulean ibex
#

I wouldnt say super but its def nice

cinder flare
#

i love it man

#

vue templating is awful imo

#

and svelte is pretty okay

#

i just really like composing functions and jsx and everything

#

it just feels so cozy

cerulean ibex
#

yeah i like jsx and components too

#

and the ecosystem is alr

#

but its annoying to setup

#

and chunky

#

and slow

cinder flare
#

the ecosystem is like the best part lol

#

most popular frontend framework in the world by a large margin comes with some perks

#

it's also a lot better to setup with vite, etc.

#

and yeah it's kinda slow i'll give you that lol

half harness
#

or does one use the other

cerulean ibex
#

react

cerulean ibex
#

isnt vue like only slightly less popular

cinder flare
#

stack overflow 2023

#

oh no

cerulean ibex
#

oh

cinder flare
#

it's not even close

cerulean ibex
#

stack overflow survey has some bias

cinder flare
#

yeah, but you'd see the same kinda trend anywhere

#

React is huge and that's one of the best things about it

cerulean ibex
#

vue is popular in china i think

cinder flare
#

huh

#

the more you know

wintry plinth
#

React and Vue are the popular ones typically, StackOverflow thing aside

long dagger
half harness
#

Is it possible to download/generate gradlew, gradlew.bat, and gradle-wrapper.jar without a current installation of gradle (via code)?
Currently my idea is to download a 100+ MB gradle installation and run gradle.bat wrapper/./gradle wrapper :/

crude cloud
#

and what's the problem with that?

#

it's 120 MB, not 3 GB

#

and you only need to download it once and run wrapper for other versions too, not just the current installed one

half harness
pastel imp
static zealot
#

At some point someone mentioned here in HelpChat an alternative to Vault. It was supposed to be an improvement because it supported multiple economies and stuff but it wasn't as widly addopted. Anyone remember the name? I've only found Reserve which has been discontinued for 3 years now.

distant sun
static zealot
static zealot
cinder flare
#

yuh

#

let me know how it is if you end up using it

#

i've been thinking about using it in some custom plugins

#

the async support is what i really care about

static zealot
#

I'm just thinking of adding support in my GiveAll plugin as I already support Vault. Don't plan to implement an economy or do anything crazy really.

cinder flare
#

ah okay

half harness
#

if this does become in use I wonder how long it'd take for it to make vault go poof

#

since both economy plugins and anything that uses the economy would have to adapt to it

static zealot
#

It will take a long time. When something is as widly addopted as Vault it is pretty hard to move on. One big reason is unmaintained plugins which are also closed source so no one can do the migration. I mean, it seems like the API has been on Spigot for over a year now and it still seems to be very slowly addopted.

half harness
#

maybe someone could create some sort of bridge so that vault plugins can interact with treasury

static zealot
#

Sounds like pain

obtuse gale
#

Does anyone know where I can find those average Minecraft Server artists?

pastel imp
#

but yeah it was treasury

slate elk
#

how many screen texts are possible to send at once

#

i know actionbar is 1 txt , in hand text , title msg

#

iiis there somethng i'm missing?

distant sun
#

boss bar

brittle leaf
#

scoreboard could be classed as one aswell

#

same with chat

crude cloud
#

subtitle too

slate elk
slate elk
crude cloud
distant sun
#

which can be hidden with texture packs

crude cloud
#

they can be sent independently

slate elk
#

i was thinking to make HUD of somethinig using that hecky option via texturepack to display like a water bar

crude cloud
#

there's a funny bug depending on in what order you send title/title times/subtitle, suddenly one of the two will disappear lol

slate elk
#

but i use most of those things often

crude cloud
#

or it will be "queued" to appear when you send the other, i don't remember

distant sun
#

you can combine normal action bar messages with your custom UI though

#

I think you can listen to packets and append your UI before/after the messages

slate elk
#

nah i dont need to listen because i send my packets only no 3rd plugins.

#

so i can just write like an implement

distant sun
#

even better

slate elk
#

but screen revo woulnt make it broken in one hand?

#

because im not sure how people did those HUD's

distant sun
#

I think as long you don't go too close to the margin, it will look fine

#

@ocean quartz confirmation?

slate elk
#

i will make it like a single picture that will be like X X X (space < ---- > )

#

so it will be above food bar

#

and ill have about 20 diff pictures so only 1 symbol is required per a time

crude cloud
ocean quartz
slate elk
#

what company worked liike this i dont remember

#

rockstar?

crude cloud
#

rockstar, ea, bethesda

#

something about the /title command only being able to show either title or subtitle at a time, so if you wanna show both you need to send the subtitle first, lmao

slate elk
#

nah i wont use subttitle or title

#

because i already use both for somehing else pretty common

#

ill just stick to action bar

distant sun
#

didn't they fixed like MC-14 in 1.20? 🤣

pastel imp
#

can't you in theory also have a 2nd actionbar? You can send packets of name change in an item in your hand, it will display below the action bar and act as a secondary action bar no?

distant sun
#

what is the player is not holding any item

slate elk
#

because i already use it to display something else.

#

but thanks afonso.

pastel imp
#

tony saying thanks is out of this world

pastel imp
#

since there is not really an item changing the name

tidal chasm
#

are mc plugins

#

same as ark plugins

pastel imp
#

no, not at all

tidal chasm
#

wym

#

aren't both using java

oblique heath
#

GTA 5 and Sims 4 are both written in c++

#

but it's foolish to think you can use GTA 5 mods in the sims 4

crude cloud
#

what are you talking about?

#

theyre literally the same game

tidal chasm
#

I am confused

#

lmfao

#

So what code does ark plugins take

crude cloud
#

just because they're written in the same language doesn't mean the modding platform is the same

tidal chasm
#

hmm

#

still don't get it

#

lol

#

thats why I would like to be directed to a place I can hire someone to do that

prisma wave
slate elk
#

breh

half harness
# tidal chasm still don't get it

Minecraft and ARK have very different code
plugins work by modifying that code by either adding, removing, or changing it
But because Minecraft's and ARK's code are very different, even though it's in the same language, you can't assume that they both use the same code
ex if you want to modify the minecraft's Ender dragon... how would that work in ARK?

agile galleon
#

It's like saying "can I play Fortnite on my toaster? they both work with electricity"

half harness
#

yessssss

oblique heath
#

we're not too far away from a future like that tbh

inner umbra
solemn laurel
#

was probably with doom

slate elk
#

now fridges got i5 and shi

#

liike wf

#

wtf

#

1,8GHz quad core CPU, 2,5GB RAM, 8GB flash storage, Tizen 4.0 operating system. < fridge

#

easily runs many games

gusty prawn
#

hello, does any1 know any plugin that can help me make custom ores? i tried Custom Ore Generator but it aint working for me and they have like no support, pls help

pastel imp
sweet cipher
#

Hey, I'm looking for some advice on the best way to set up a database and/or if I'm doing something wrong (SQLite).
Basically, I'm storing the layers that certain blocks are on so that when the chunks get loaded, I can load the blocks into memory.
I don't want to store each individual block because that required a lot of memory, and this way each chunk only has around 7 entries to mark the y layers
that blocks are on that I need to store.

Right now I'm using a cached thread pool with 4 threads to read the data from the database every time a chunk loads, and then the locations are located and stored in memory.
A section update packet is then sent to update the blocks that were found.

The issue is that the chunks don't load fast enough to send the data, so sometimes it takes a while for the updated blocks to be sent because the data hasn't been loaded from the database.

This is called for every chunk, but at the moment the entries are empty so it should be irrelevant:https://github.com/HibiscusMC/HMCLeaves/blob/b3f0d124596730b58896773061d0406ff06a86a0/src/main/java/io/github/fisher2911/hmcleaves/data/LeafDatabase.java#L494

This is what loads the y levels in each chunk, each chunk only has ~7 layers at most, and many don't have any:
https://github.com/HibiscusMC/HMCLeaves/blob/42e91615f1e71cdfa7c1b4512932c307147630bf/src/main/java/io/github/fisher2911/hmcleaves/data/LeafDatabase.java#L568

This is where the database methods are called to load the data and then send the packets to the player:
https://github.com/HibiscusMC/HMCLeaves/blob/42e91615f1e71cdfa7c1b4512932c307147630bf/src/main/java/io/github/fisher2911/hmcleaves/listener/WorldAndChunkLoadListener.java#L99

ruby dew
#

thats a very underrated plugin ngl, thumbs up

#

i have only checked your third source code (the one that locate data and send packets to player)
I dont really work on sql that much to give professional opinions, but in the third one you are doing the queries multiple times (once to see whether the chunk exist and multiple times in the loadnewchunk/loadchunkfromdatabase

i mean searching for UUIDs plus coordinates should be a huge workload for the sqlite and you may want to reuse the result set and update the values from it instead
so 1. try to reuse the resultset more because redundant search operations wont scale well (i think)

#
  1. also you can try preloading chunks in surround regions of the player (configurable radius?) instead of just passively loading the chunk whenever its loaded because search operations may get expensive and slow as i said
#

oh you seem to be saving data in separate tables and loaded chunks in separate table
thats a lot of search operations
i mean you can just pretty much put everything in one table tho and reuse the same result set

#

having each table with each block type is also a very heavy load to load from

#

like you should only have one table to store everything (i think its possible)
and it will be much faster depending how willing you are to optimize it in expense of readability

#

so 3. you shouldnt be separating different blocks for different tables (readability in expanse of optimization)

try to store everything in one table including even loaded chunks (not even loaded chunks is needed since you are gonna have to go for the actual block anyway if it is found)

#

block types , block ID and booleans can be achieved by bitmask and thus saving all the 5 extra tables created
like in the block type field, 11011 (first byte is leave, second byte is ageable block) etc

#

each takes one field as one byte

#

block ID may take a big int if you worry that 32 bytes integer may not store every block ID for every block type

#

for the block ID you can do it like
group 32/64 bytes into groups, the first 4-5 bytes for leaves, the next for ageable blocks, etc

#

so everything including loaded chunks then can be stored in a block

#

instead of probing 5 tables having to go thru the search operation for same chunk coordinates and block coordinates

#

thats like 5 times more speed taken

#

I know its easier said than done it probably sound stupid but thats one way to aggressively optimize your underrated plugin, cuz custom textures trees and glasses would be cool

#

hey the layer database might also be useless cuz after all you are looping from result set right

sweet cipher
#

Well the problem is I’m not saving default leaf data already in the world because that massively increases the database size, so I need a way to check if the chunk has been loaded

sweet cipher
#

The only data at the moment is mostly from the layers table

sweet cipher
ruby dew
sweet cipher
#

If I don’t use that, I have to loop from y = -64 to the max world height

#

The default layers are for blocks already in the world not placed by players

ruby dew
#

i just glanced at your code so i might not understand everything immediately, but i guess you can just add a generated boolean flag to your block record?

i mean all the blocks in the database are pregenerated right, sothat makes no difference cuz you are gonna loop over the pre generated blocks anyway you are not looping by the layer indexes

#

yeah the plugin is pulling data from 7 tables every time a chunk is loaded

#

i think thats a very big deal if you want to make sure it loads super fast

#

but yeah if any of my suggestions too stupid to implement then you might want to just index your database

#

like index the records by chunk coordinates at least

#

so the database can pull up the records faster

ruby dew
sweet cipher
ruby dew
#

like dont you have to send all the packets in the result set blocks anyway

#

whether or not its 1 layer or 255 layers

ruby dew
sweet cipher
loud badger
#

I've been looking into having organised colour theme for rarities of items in a GUI.

For Example:
Legendary = Gold
So the items background in the GUI would be Gold.

Does anyone know how to do this with resourcepack and DeluxeMenus.

dusky drum
#

anyone here ever played around with platformio and has experience with dealing with libraries on it? for me its downloading them but not loading them when i try to build project

sweet cipher
worthy violet
#

I am working on a docker-compose project where I create a few containers for development and am currently looking for a way to edit the hosts /etc/hosts file to add the containers ip address and hostname for easier access. I couldn't find a way to automatically update the hosts file after the containers started

obtuse gale
#

Texture pack question, is it possible to add a DOESN'T/NOT include nbt.display.Lore.*= in a .properties file with mcPatcher?

obtuse gale
#

Basically a != but for this type of configuration

remote goblet
#

is the start to a chest shop plugin (objects, data saving system etc) being done in the span of 2 hours decently fast?

#

i feel like its okay

crude cloud
#

shut the fuck up

#

no-one likes you

pastel imp
#

@eager fern ^^

#

(sorry for pping but only one online)

west juniper
#

With what method i can disable all commands for normal players (even though they have permission to use them), and allowing them use only a selective few? I have a plugin MyCommands if that helps. How would I'd like it to work exactly is whenever a player enters the denied command in chat, a custom message would pop up, denying the use of it.

pastel imp
#

can't you just modify the commandmap?

#

oh wait

pastel imp
remote goblet
#

[im assuming that wasn't directed at me]

#

[im hoping]

#

[please like me]

crude cloud
#

yes

#

NFT bro

ocean quartz
#

Huh, which tier are you? Decide woman!

wintry plinth
queen saffron
#

lmao

brittle leaf
#

wouldnt shadowjar strip out the minecraft server jar stuff including craftbukkit,spigot,paper and then have nothing to go off to run remapped jar?

static zealot
brittle leaf
#

agree

#

its fun when it bugs out and you dont have access to some channels for days

static zealot
#

tru

static zealot
#

in the task you want to run after

wintry plinth
# brittle leaf wouldnt shadowjar strip out the minecraft server jar stuff including craftbukkit...

Ah eek really? I think in the fabric discord, you've got to do shadowJar -> prepareRemappedJar -> remapJar. Just the loader doesn't like my jar, so feel like i've done something wrong..

tasks.named("shadowJar", ShadowJar::class.java) {
    configurations = listOf(project.configurations.runtimeClasspath.get())

    relocate("it.unimi", "io.tebex.plugin.libs.fastutil")
    relocate("okhttp3", "io.tebex.plugin.libs.okhttp3")
    relocate("okio", "io.tebex.plugin.libs.okio")
    relocate("dev.dejvokep.boostedyaml", "io.tebex.plugin.libs.boostedyaml")
    relocate("org.jetbrains.annotations", "io.tebex.plugin.libs.jetbrains")
    relocate("kotlin", "io.tebex.plugin.libs.kotlin")
    relocate("com.github.benmanes.caffeine", "io.tebex.plugin.libs.caffeine")
    minimize()
}

tasks.prepareRemapJar {
    dependsOn("shadowJar")
}

// get shadowjar archive file
var shadowJar = tasks.shadowJar.get()

tasks.named("remapJar", RemapJarTask::class.java) {
    inputFile.set(shadowJar.archiveFile)
}

Just not sure if this is right with Fabric, as I get:

Caused by: net.fabricmc.loader.api.LanguageAdapterException: Class io.tebex.plugin.TestPlugin cannot be cast to net.fabricmc.api.DedicatedServerModInitializer!

And ah yeah, thanks Blitz

brittle leaf
wintry plinth
#

got it working, didn't need any dependsOn, shadow jar was screwing up

#

Hurray

ruby dew
#

anyone knows any plugin that renders realistic particles with custom textures

#

like with texture pack but custom texture in particles

#

and custom properties

agile galleon
hollow sail
hollow sail
#

Fair

brittle leaf
hollow sail
#

Oh shit ok

crude cloud
pastel imp
#

ngl someone should do a list of all the events not working in folia, would save time potentially

#

might do it idk

tame compass
#

Could someone test out the events in PR 129 for Folia?

ruby dew
#

i asked that question in #minecraft for so long ago

#

nobody answers my question

brittle leaf
#

thats probably because you cant

#

you cant have custom textures for particles without replacing an already existing particle

ruby dew
#

oh ok thx

#

im so happy rn

#

woohooooo

#

thx a lot for your answer lol

regal locust
distant sun
#

Link?

crude cloud
#

no longer maintained. any version after 1.19.4 will not be supported! use paper's particlebuilder

DANCEEEEEEEE

#

i don't see anything about custom textures, spawning particles for a block/item is not a novelty tho

distant sun
#

I thought they added some item particles, can you not supply your own item with meta and everything?

#

block_marker

#

welp looks like it accepts only a type, huh?

crude cloud
#

yes, it's for block types

distant sun
#

yeah rip

crude cloud
#

so you'd need to replace the texture for the whole base block

#

or, you know, go server&client modded

distant sun
#

I wonder how this looks like

crude cloud
#

probably the item break particles?

distant sun
#

yeah

Eating, thrown eggs, splash potions, eyes of ender, breaking tools.

F, I didn't see breaking tools, though I wonder if it does anything for other items that are not listed

still portal
#

you could use item displays with billboarding or snowballs with custom modeldata and some math to make particles

crude cloud
#

yeah display entities are probably the most you can get to "display anything"-custom

distant sun
#

I'm working on a java project where I need some data from a website. I've tried to scrape it by myself, it worked well, but rn I get blocked by cloudflare. I've found some js lib that kinda does what I need but here comes the problem: I can not combine js with java 🤣
I was thinking about creating some small rest api with a js project that I then use it on the main project. Is there any way I can start the api with java?
This is the js lib I'm talking about https://github.com/dajk/hltv-api, it doesn't do anything special aside from what I do - or well I think it doesn't.

crude cloud
#

you can combine js with java if you try hard enough

#

have you learned NOTHING from the js expansion??

distant sun
#

I will probably re-write the project in ts, too much hassle to use 2 languages

snow hare
#

Hello, is it possible to have an order recognized in the game? Because with the DeluxeMenu plugin, for example, I have a menu that opens with a /Example command and the game displays it as an unknown command, but it still works

distant sun
snow hare
#

Oh srry

pastel imp
#

Yo @cerulean ibex is vision ready for prod? I would assume not since from a quick look in the github it looks like you still have several things planned

cerulean ibex
#

therell just be a chance of some stuff breaking before 1.0.0

cerulean ibex
#

well idk yet

#

if i feel like breaking stuff ill just do it

pastel imp
#

bruh

#

well me forking it and going to mess around with it

#

see if I implement the fill

cerulean ibex
pastel imp
cerulean ibex
#

not yet

pastel imp
#

oki

#

might do some modifications to add more fill types

#

like fills around the chest, bottom fill, top fill for example

#

might be useful?

#

@cerulean ibex here's the thing, the way you did it only allows for a full inv fill, might need to create a filler class and use that instead?

opal lion
#

I'm wondering if anyone knows why
https://paste.helpch.at/
is offline? Or its status?

brittle leaf
#

the website might be down

obtuse gale
#

anyone a join counter skript?

#

like Welcome blabla (#1)

sly sonnet
#

?

#

you need it made?

obtuse gale
#

I tried some config from essentials

#

And the server placeholder didnt work 🤷‍♂️

sly sonnet
#

essentials literally has that feature

#

make sure you typed them correctly

distant sun
#

it is {UNIQUE} or smth like that

hallow torrent
#

EZRanks is not for 1.20?

wind patio
#

idk, is it

cerulean ibex
# pastel imp <@1103438313202929674> here's the thing, the way you did it only allows for a fu...

u can now do

.border(Button.of(ItemType.GRAY_STAINED_GLASS_PANE))

theres also methods for doing only some borders
jd: https://javadoc.jitpack.io/me/sparky983/vision-gui/vision-api/main-v0.1-gca0b100-108/javadoc/me/sparky983/vision/Gui.Builder.html#border(me.sparky983.vision.Button)

also if u wanna use it run gradle with --refresh-depdenencies cuz even though its a snapshot, gradle still caches it for 24h iirc

pastel imp
#

hmm ok tyty

tame bane
#

hey

#

does anyone want to help me with simple DNS routing in my DMS

#

it's very confusing to me since im new

#

im running it through Cloudflare it would be nice to get a tutor

distant sun
#

I remember doing that before and it worked 😦

distant sun
pastel imp
#

actually wanted to see where I can customize that

#

I wanted to do my own theme

distant sun
#

there gotta be some options on the javadoc task

distant sun
remote goblet
agile galleon
#

pls use build.gradle.kts in the future

#

so much better

remote goblet
#

thats a

#

really nitpicky thing to point out

agile galleon
#

yeah

#

just the first thing i saw

#

not required or bad or anything

#

i just know from experience a strongly typed dependency management system will be more pleasent to use

remote goblet
#

probably but within the scope of a silly little side project, thats never really my focus as it essentially functions the same universally

#

the only thing within that plugin i dont like is the way signs are handled but its so wack

#

to be honest i could probably create the sign on the blockface that was interacted with and just store the direction instead of that silly checking a 360 degree angle around it

agile galleon
#

aight haven't had tons of time but I like the simplicity of the main class, no silly uses of static, actual utility functions in utils and clean commands. the structure is also nice as well as many guard clauses and priority definitions in the event handler and beautiful dependency injection.
what could be improved is the constant catching of exceptions, and catching any exception while then just printing its stacktrace. the user will have no idea what happened, so why catch it?
also using the SurpressWarnings annotation for deprecated stuff makes sense, but I personally don't use it since it's pretty much useless.

in my opinion it's pretty good (although i didnt have much time to look through) and well above the Spigot standard, with the project being on GitHub and open source. keep up the good work!

glossy crane
#

Does anyone know all the font for at codes for a motd? I would like on like mcci

wraith timber
#

how can i play a sound to everyone on a server so everyone hears it wherever they are? like thunder for example

sly sonnet
wraith timber
#

ty, and what would the ingame command be for this in vanilla minecraft? i use a plugin that uses vanilla commands only for some reason

sly sonnet
#

/playsound @a smth smth

#

there sould be auto completion for that in game

#

but the command is /playsound iirc

#

yes, it is

wraith timber
#

my friend said he didnt hear anything when we tested, he said he only hears it if he is near me

sly sonnet
#

hmm

#

weirrd

sly sonnet
sly sonnet
#

try this

wraith timber
sly sonnet
#

cchange the @p to @a

#

sorry xd

wraith timber
#

that seem to have worked, thanks

sly sonnet
#

np man

#

👍

wraith timber
ionic gust
#

imma first take a look at other apis actually

#

but still, glowapi is super simple to use and i recall having issues with these other apis imma try pepe_love

ionic gust
#

one of them has a discord support server that is literally in a completely different language 😭

sinful geyser
#

Is standard practice to have everything under one listener? Like I have multiple onBlockBreak events right now is it worth my time to try and make it all into one?

wind patio
#

unless they interfere with each other logic-vise, then there's no real point to merge them

valid finch
#

does anyone know why teams and skript expansions are gone for papi?

wind patio
#

cuz skript is ass

valid finch
wind patio
#

not verified

#

hence only manual download

glossy crane
#

does anyone know how to implement like logos into holographic displays and into ranks?

wind patio
#

no I dont

misty galleon
#

PS E:\Project\java\Guilds> gradle build

Task :checkLicenseMain FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':checkLicenseMain'.

License violations were found: src\main\kotlin\me\glaremasters\guilds\api\events\challenges\GuildWarPlayerJoinEvent.kt

  • Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
Get more help at https://help.gradle.org.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.2.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD FAILED in 885ms

can someone help me? I cloned this project from gitub and tried it with gradle build but it gives me error like this, I looked through the file but I don't see any problem in it? How to fix it? I haven't edited anything yet!

#

This is a GUILDS project, sorry I didn't mention it in my previous message

wind patio
#

it tells you exactly the error

License violations were found: src\main\kotlin\me\glaremasters\guilds\api\events\challenges\GuildWarPlayerJoinEvent.kt

look here

misty galleon
#

package me.glaremasters.guilds.api.events.challenges

import me.glaremasters.guilds.guild.Guild
import org.bukkit.entity.Player
import org.bukkit.event.Event
import org.bukkit.event.HandlerList

class GuildWarPlayerJoinEvent(val challenger: Guild, val defender: Guild, val player: Player, val side: String): Event() {
override fun getHandlers(): HandlerList {
return handlerList
}
companion object {
@JvmStatic
val handlerList = HandlerList()
}
}
this is what i see in it @@

wind patio
#

when you check another file, you'll see the license header

#

it's missing this part, hence the error.

#

the file it's telling you, does not have it.

slate elk
#

ii have just seen an server where it says

#

it can process everything at 40TPS

#

how its possible iif sofwtare works 20 tps only?

wind patio
#

not possible

wind patio
#

also, you CANT process everything at 40 TPS, but I've heard it's possible? (need fact check, might also be a false claim) to modify the server so it runs movement or combat stuff to run twice as fast, but that's about it. changing EVERYTHING would break EVERYTHING

slate elk
#

but claiming there such a thing in his duel server

wind patio
#

well Im not an expert to tell whether it is really possible or not, some say it's somewhat possible with heavily modified server jar, some say its a load of bullcrap

half harness
#

Btw u can also do gradle licenseFormat

#

To automatically apply all licenses

misty galleon
crude cloud
#

TPS catch-up is a thing but 40 is most certainly not something you'll see because of it lol

half harness
#

Also doesn't the server do some player movement handling too?
Since for ex if someone is running on 20 fps, their player still moves smoothly

#

Idk

#

So it might be funky with player movement

pastel imp
snow oriole
#
function getValue(material){
    var text;

    if (material == ""){ 
        text = "ID EMPTY";
    } else {
        let material16List = ["ender_pearl", "snow_ball", "egg", "bucket"];
        // how can i add to list material contains `banner`
        if (material16List.includes(material)){
            if (args[0] == "nhan") text = "16";
            if (args[0] == "tong") text = "576";
        } else {
            if (args[0] == "nhan") text = "64";
            if (args[0] == "tong") text = "2304";
        }
    }
    return text;
}
getValue("%deluxemenus_meta_deluxeShop-item_STRING%");
// %deluxemenus_meta_deluxeShop-item_STRING% can be 1 of these: love_banner zombie_banner white_banner
distant sun
#

what @snow oriole ?

#

if includes doesn't work, try indexOf(material) !== -1 - index -1 means it is not present in the array

snow oriole
distant sun
#

Im confused by what you are asking

ionic gust
#

original maintainer seems to have abandoned it

wind patio
#

DIY

ionic gust
mental trench
cedar jolt
#

@quartz lake check DM's please.

slate elk
#

its not about fps u can be on less fps and move smoothly

slate elk
#

it*

#

more tps the better for some of my tasks

#

anyone who is intersted its what u need to accses and change ```MinecraftServer.class.getDeclaredField( "nextTick" );

#

changing this field will allow u more TPS how ever i would still reccomend rewriiting a.l and some regular stuff towards /2 (so it will work same)

#

(/2 in scenario where u gonna put 40tps as limit)

crude cloud
forest pecan
#

When would you ever need 40 tps lmao

#

Do you like playing your game twice as fast 😂 😂 /s

crude cloud
#

YESS yesss

#

hyper mode

inner umbra
#

Probs for plant/crop growth but you can use randomTickSpeed for that.

slate elk
#

its about other tasks u can use it in

#

for example fixing interact event which executs only every 4 ticks

#

make it execute every tick instead

#

oh nah

#

its client packet

#

nvm

#

hmmm

inner umbra
#

Was gonna say its not based on ticks lol

#

Check the source code of gun plugins to see how they do it.

slate elk
#

i did it already...

#

without checking their code

#

i just made an custom class event "HoldingInteract" when ever player returns interact twice in in 8 ticks so it will run event every tick later.

#

till player returns once false.

inner umbra
#

👍

ruby dew
#

from negative resource pack

"split" and "nosplit" concepts removed as space providers are "nosplit" only.
Introducing the newlayer character that fixes certain rendering problems that were previously solved with the "split" mode. Just add it wherever you want to create a new layer and everything after will render on top.

so is split supported or not?

still portal
#

yeah

#

split is a positive number in the space provider and nosplit is a any negative number

slate elk
#

u literally have to do a whole research to find an function / class to see how it was done

potent nest
#

that doesn't mean they are written like shit, that means you're lacking skill

viscid knot
#

someone who can help me a little with voteparty

#

i need to enable the bedrock support

#

because bedrock votes are not giving items ingame

distant sun
eternal island
flint bluff
#

Could someone tell me how to setup the basics of a placeholder expansion without a plugin? I'm using IntelliJ.

brittle leaf
flint bluff
ruby dew
#

The best plugins are usually open source for better bug tracking unless it’s almost premium and solely proprietary plugins like mythicmob?

crude cloud
#

dude never seen the code of closed source plugins 💀

static zealot
#

🤣

drifting aspen
#

Literally

#

LiteBans 💀

sly sonnet
#

???

#

literally the only good available ban plugin?

pastel imp
#

LibertyBans is also cool tbh

ruby dew
crude cloud
#

what

#

i wasn't talking about you lol

ruby dew
#

Ok my head is doing stuffs to me again

alpine shale
#

@obtuse gale You're welcome

radiant basalt
#

If anyone is in the need of a developer for any type of server feel free to dm me for my portfolio aswell as prices and previous projects.

sweet cipher
#

Does anyone know why IntelliJ can't find dependencies from separate gradle modules in a mult-module project?
It was working before, but after I tried pulling from git it stopped working, I tried invalidating caches and restarting IJ.
The project builds fine, it's just IntelliJ not wanting to find the dependencies for some reason

sweet cipher
#

Ok so I think I figured it out, I have to delete this module, but it won't let me for some reason

#

Nothing happens when I click the minus symbol, and I don't see a folder in IntelliJ for it

snow oriole
#

what was wrong ?

const main = [ { 
      prefix: "&cMainPrefix",
      mItem: "something here...",
      mMoney: "something here..."
} ];

function callValue(){
  var value = args[0];

  if (value == "prefix") return main.find().prefix;
  if (value == "item") return main.find().mItem;
  if (value == "money") return main.find().mItem;
}

callValue();
snow oriole
sweet cipher
inner umbra
snow oriole
#

maybe it not support placeholder inside, i put some placeholder inside mItem and mMoney

inner umbra
#

I have never used javascript so I can't say for certain. In java however... you're missing what I listed above.

half harness
sweet cipher
crude cloud
#

yeah so uh

#

set the toolchain

sweet cipher
#

I thought I did that, did I do it wrong?