#help-development

1 messages · Page 140 of 1

eternal night
#

I mean, I am running fairly well with just a uuid on the item

#

and have a caffeine cache for my items

#

that way, my lookup is pretty damn fast anyway

#

compared to deserializing all data from the PDC

chrome beacon
#

Use Protocollib and replace the PDC with a UUID

#

Going to break stuff in creative mode though so keep that in mind

vivid skiff
#

Where can i find a good tutorial on how to save data in a yaml file?

visual tide
#

well
you can create a new YamlConfiguration with the name of your file (or the file object itself, not sure)
and the use it like you would use a config

chrome beacon
#

?configs

undone axleBOT
vivid skiff
modern maple
#

Why is event. going red?

#

I had this working yesterday 😢

#

shit

#

now get player is red

#

Player p = (Player) event.getEntity();

#

That worked

#

True

rotund pond
#

You'll get an error

tawdry python
#

Anyone who has used WorldCreator? I removed the water and it still creates a world with water

#

My code

WorldCreator creator = new WorldCreator("mine");
        creator.generatorSettings("{{\"coordinateScale\":684.412,\"heightScale\":684.412,\"lowerLimitScale\":512.0,\"upperLimitScale\":512.0,\"depthNoiseScaleX\":200.0,\"depthNoiseScaleZ\":200.0,\"depthNoiseScaleExponent\":0.5,\"mainNoiseScaleX\":80.0,\"mainNoiseScaleY\":160.0,\"mainNoiseScaleZ\":80.0,\"baseSize\":8.5,\"stretchY\":12.0,\"biomeDepthWeight\":1.0,\"biomeDepthOffset\":0.0,\"biomeScaleWeight\":1.0,\"biomeScaleOffset\":0.0,\"seaLevel\":1,\"useCaves\":false,\"useDungeons\":false,\"dungeonChance\":1,\"useStrongholds\":false,\"useVillages\":false,\"useMineShafts\":false,\"useTemples\":false,\"useMonuments\":false,\"useRavines\":false,\"useWaterLakes\":false,\"waterLakeChance\":1,\"useLavaLakes\":false,\"lavaLakeChance\":10,\"useLavaOceans\":false,\"fixedBiome\":1,\"biomeSize\":1,\"riverSize\":1,\"dirtSize\":33,\"dirtCount\":10,\"dirtMinHeight\":0,\"dirtMaxHeight\":256,\"gravelSize\":33,\"gravelCount\":8,\"gravelMinHeight\":0,\"gravelMaxHeight\":256,\"graniteSize\":33,\"graniteCount\":10,\"graniteMinHeight\":0,\"graniteMaxHeight\":80,\"dioriteSize\":33,\"dioriteCount\":10,\"dioriteMinHeight\":0,\"dioriteMaxHeight\":80,\"andesiteSize\":33,\"andesiteCount\":10,\"andesiteMinHeight\":0,\"andesiteMaxHeight\":80,\"coalSize\":1,\"coalCount\":0,\"coalMinHeight\":0,\"coalMaxHeight\":0,\"ironSize\":1,\"ironCount\":0,\"ironMinHeight\":0,\"ironMaxHeight\":0,\"goldSize\":1,\"goldCount\":0,\"goldMinHeight\":0,\"goldMaxHeight\":0,\"redstoneSize\":1,\"redstoneCount\":0,\"redstoneMinHeight\":0,\"redstoneMaxHeight\":0,\"diamondSize\":1,\"diamondCount\":0,\"diamondMinHeight\":0,\"diamondMaxHeight\":0,\"lapisSize\":1,\"lapisCount\":0,\"lapisCenterHeight\":0,\"lapisSpread\":0}");
        creator.createWorld();
#

Yes worldcreater is like that

pseudo hazel
#

I mean its just a json file cramped into a string

tardy delta
#

throw that in a json file lol

pseudo hazel
#

as for the actual problem, my WorldCreator never went further than creating new vanilla worlds

#

you might actually have a parsing error xD

#

since I think you arent closing with enough }

#

or you typed a { too many at the start

tardy delta
#

just throw in a file and ask the classloader gently to give the contents

pseudo hazel
#

this is everything inside that string

tardy delta
#

no

pseudo hazel
#

why

#

so why not make an object

#

you can make a hasmap with target and a list of pairs that store sender and times

pseudo hazel
#

but even this is excessive

#

a pair is a single map element

tardy delta
#

<L, R>record Pair(L left, R right) {};

pseudo hazel
#

yeah or you can just use records

tardy delta
#

java should introduce record class

pseudo hazel
#

assuming you have atleast java 14

#

make a hasmap with UUID and a record of UUID and timestamp

#

thats all the info you need

#

for denying or accepting requests, you check by target , i.e key of the map, and for sending you add a new entry to the map

#

but if you want a target to be able to handle multiple requests, you need to store a list of player records

tardy delta
#

sometimes im wondering wth people are doing

pseudo hazel
#

just make a switch xD

hazy parrot
#

Or just valueOf :3

quiet ice
#

.equalsIgnoreCase != .equals

hazy parrot
#

valueOf(name.toUpper

pseudo hazel
#

I mean thats fine and all if you only have 1 worded names

tardy delta
#

looking thro all the code of my saved repos

quiet ice
#

You are on a thin line there

hazy parrot
pseudo hazel
#

)

mossy loom
#

Hello, I have a problem. I set the player's resource pack using the Player#setResourcePack method. Pack uploads without any problems. Unfortunately, for some reason it never returns SUCCESSFULLY_LOADED status. The other 3 statuses work without any problems. When it returns ACCEPTED, it never returns FAILED_DOWNLOAD. What is it caused by? How to solve it?

quiet ice
tardy delta
#

ToUpper cs moment

#

luckily they dont teach me cs in college

quiet ice
tardy delta
#

isnt that the point of a predicate lol

tardy delta
#

i had to

#

for database and visual stuff

#

had to create a whole application and it sucked

quiet ice
#

It's hard to mod most games without experience in C#

tardy delta
#

mmhh

quiet ice
#

I am currently attempting that but just went "eh who cares" and tried to edit the CIL directly

#

However for some ungodly reason there is no proper CIL assembler/disassembler

tardy delta
#

lmfao

#

we had out first lesson introductions to programming today, there were like people there who'd never touched a line of code and teacher started explaing bytecode 💀

quiet ice
#

I mean there are - 4 in fact - but one does not easily work on linux and the other three do not like generics or are not compatible with monos ilasm

pseudo hazel
#

I dont wanna spread hate but java and cs are pretty similar ngl

tardy delta
#

🥲

tardy delta
#

mwoa explaing oop first

#

and then how java code gets executed and stuff

#

i was like bored lol

quiet ice
pseudo hazel
#

you should start by explaining variables and functions

#

not OOP , bytecode or java code

tardy delta
#

she explained oop lol

#

ig those people who never programmed didnt understand anything of it

pseudo hazel
#

yeah

#

no wonder

tardy delta
#

she was like going crazy thro her explenation

#

same for databases dude

#

did 100 slides on hour n half

pseudo hazel
#

cuz you need to know what variables and functions are to know what objects are and why/how they exist in teh first place

quiet ice
# tardy delta i was like *bored* lol

I have been doing programming at school for a bit over a year now - and unless you are in uni I can say you will stay bored for the rest of your stay

tardy delta
#

smh

#

only thing that i'll learn that idk yet is awt stuff

#

well actually

#

she said we wont be coding graphical apps :/

pseudo hazel
#

isnt that just a library?

tardy delta
#

ok ill wont learn anything new then

#

idk

#

never touched it

quiet ice
#

AWT is standard java API

tardy delta
#

i saw some awt imports so i guess its called like that

quiet ice
#

Swing is a standard extension for java

tardy delta
#

mmh

quiet ice
#

You will ikely use that

tardy delta
#

this shit

quiet ice
#

JFrame is Swing (javax.swing.*), Frame is AWT (java.awt.*)

tardy delta
#

ug

quiet ice
#

Do note that AWT and Swing have rather large interop

fluid river
#

Swing is mostly just updated AWT

#

isnt it

#

and like you can use most of awt. classes when working with swing

quiet ice
quiet ice
fluid river
#

in school we studied PascalABC

#

On first HE grade c++

#

On second Java + Python

#

Still nobody on 2nd grade know anything about programming cuz they just copied + pasted code to pass exams

pseudo hazel
#

that just sounds like bad exams

chrome beacon
#

We've had one year of programming and one year of web dev

#

The people in my class can't do either

fluid river
#

contructor

#

and so on

pseudo hazel
#

yeah exactly, sounds like bad exams

#

on paper?

#

or on computer

fluid river
#

basically you have to convince examiners that you know what these things are

#

probably write some examples

#

but mostly just talk

#

But to get access to this exams you need to complete tasks

#

basically a solution with four-five .cpp and .h

#

which you can copy paste

#

the rest is done by simply memorizing what pointers/constructors/destructors/methods are

fresh timber
#

I am trying to see if the first character of a AsycPlayerChatEvent message is equal to "/" but im getting an error saying cannot resolve method

if (event.getMessage().charAt(0).equals("/") {}
#

how do I fix this?

fresh timber
#

;-;

#

uh ok

#

so

#

what do I do then

lost matrix
#

Depends

#

on what you are trying to do

quiet ice
#

However commands are not messages, and therefore this does not apply

fresh timber
#

I am trying to set the chat format to something different for different permissions so I would do for a quick example:

@EventHandler
public void onChat(AsyncPlayerChatEvent event) {
  if (first letter of message is not /) {
    if (the player has the permission for the highest rank format) {
      set the format to the highest
    } else if (has permission for the second highest rank format) {
      set the format to the second highest
    } and so on for all ranks then else {
      set the format to the lowest rank
    }
  }
}
lost matrix
fresh timber
#

tf

#

would a cmd do for that

#

I am setting the chat format

#

for each luck perm rank

lost matrix
#

Ah you are excluding the /

fresh timber
#

yea

quiet ice
#

Talking about brigardier?

fresh timber
#

cus tbh idk what it'll do for cmds or if I even need that

quiet ice
#

If so you'd need to use brigardier

fresh timber
#

whats that

quiet ice
#

Mojank's command framework

lost matrix
fresh timber
#

yea

#

exactly

quiet ice
#

OH

fresh timber
#

so do I need to exclude cmds or I dont need to do that

quiet ice
#

Then you don't even need to check for /

fresh timber
#

aho k

#

k thx

lost matrix
#

Do you have luckperms installed?

fresh timber
#

yea

quiet ice
#

Since all comamnds are automatically not messages

fresh timber
#

I use lp

#

for ranks

fresh timber
iron glade
#

??

fresh timber
#

xD

quiet ice
fresh timber
#

actually no

quiet ice
#

Even then it will not have an effect

fresh timber
#

I use the preprocess

#

I used to

#

but I cant cancel them ;-;

#

to remove the error msg

#

cus otherwise all my cmds are case sensitive

#

@fresh templetHandler
public void onCommand(PlayerCommandPreprocessEvent event) {
Player player = event.getPlayer();
if (event.getMessage().equalsIgnoreCase("/store") || event.getMessage().equalsIgnoreCase("/buy") || event.getMessage().equalsIgnoreCase("/shop")) {
event.setCancelled(true);
player.sendMessage("§fHere is our store: §bwildgames.tebex.io");
}
}

#

or operator breaking discord lol

quiet ice
#

codeblocks

fresh timber
#

forgot to use `

#

yea

iron glade
#

can still edit the message yk

fresh timber
#
    @EventHandler
    public void onCommand(PlayerCommandPreprocessEvent event) {
        Player player = event.getPlayer();
        if (event.getMessage().equalsIgnoreCase("/store") || event.getMessage().equalsIgnoreCase("/buy") || event.getMessage().equalsIgnoreCase("/shop")) {
            event.setCancelled(true);
            player.sendMessage("§fHere is our store: §bwildgames.tebex.io");
        }
    }
#

ok welp thx

#

yea ik

#

why do use java?

#

the green thing

#

uhh

iron glade
#

try it

kindred valley
#

It details the java words

fresh timber
#

m ok

#
    @EventHandler
    public void onCommand(PlayerCommandPreprocessEvent event) {
        Player player = event.getPlayer();
        if (event.getMessage().equalsIgnoreCase("/store") || event.getMessage().equalsIgnoreCase("/buy") || event.getMessage().equalsIgnoreCase("/shop")) {
            event.setCancelled(true);
            player.sendMessage("§fHere is our store: §bwildgames.tebex.io");
        }
    }
#

cool

iron glade
#

Don't you wanna send a clickable link?

fresh timber
#

they can click that

#

:)

#

idk why it just works

kindred valley
#

public class Fart extends Fortnite

fresh timber
#

;-;

iron glade
#

more like
public class Fortnite extends Trash

fresh timber
#

^

kindred valley
#

Is it possible to run the methods on onEnable(); method synchronized

hazy parrot
#

Any idea how if (and how if possible) to make third party library that is using slf4j as logger to use Bukkit logger format ? I successfully removed message with filters, but i wonder if there is any way to just make it in that format

fresh timber
#

so if I do this will it carry the color codes over to the players name and all or do I have to do smthin else?

event.setFormat("§c§lOWNER§c " + event.getPlayer() + ": " + event.getMessage());
hazy parrot
#

setFormat is using C style string formatting iirc

fresh timber
#

uh

#

whats that mean

iron glade
#

u wanna use event.getPlayer().getDisplayName() or smth probably?

hazy parrot
#

.setFormat("%s : %s"); where first s is name and second message

fresh timber
hazy parrot
#

you cant append player to string

fresh timber
#

ok

wind tulip
#

Hey, I want to add a dependency to my "depend" field in plugin.yml. Where can I find the name attribute for said dependency?

next plume
#

It's simply the other plugin name(s).

wind tulip
#

what

lost matrix
#

The name that comes up if you type in /pl

wind tulip
#

oh wait

#

oh alright

next plume
#

depend: [OnePlugin, AnotherPlugin]

wind tulip
#

ok nevermind

#

yea

#

I thought it was for dependencies not plugins for some reason

vivid skiff
#

How can i save data in a Yaml File?

lost matrix
#

Use the configuration api from bukkit

next plume
#

Start here. This is written for the default config.yml file, but later they tell you how to save other data in the file.
https://bukkit.fandom.com/wiki/Configuration_API_Reference

BukkitWiki

The Configuration API is a set of tools to help developers quickly parse and emit configuration files that are human readable and editable. Despite the name, the API can easily be used to store plugin data in addition to plugin configuration. Presently only YAML configurations can be used. The API however was designed to be extensible and allow ...

#

Note that the API has changes for comments, but you shouldn't be putting comments in a data file anyway.

#

And only use it for small-ish files, because big YML files take forever to save.

grim ice
#

anything to learn?

#

im kinda stuck now

#

nothing new to learn in java anymore

iron glade
#

weird flex

grim ice
#

thats not a flex but nice sarcasm

iron glade
#

How to be more efficient maybe

#

like not using equals on enums

fickle helm
#

how to get nms remapped jar for 1.16? when I run java -jar .\BuildTools.jar --rev 1.16.5 --remapped
I will get [WARNING] The requested profile "remapped" could not be activated because it does not exist.

wind tulip
#

1.16.5?

grim ice
fickle helm
#

I'm guessing remapped option only works with 1.17+ ?

ivory sleet
wind tulip
#

1.16.5 exists?

grim ice
#

aight

fickle helm
#

yup. it builds the regular jar file but no remapped

wind tulip
#

that's an oddly specific version

#

they probably didn't add a remap for it

#

try 1.16 or 1.16.2

fickle helm
#

I tried 1.16.1 and 1.16.3

wind tulip
#

oh

ivory sleet
#

2Hex on a deeper level even memory fences

midnight shore
#

how can i prevent a falling block to place himself? i'm launcing some blocks in the air but i don't want them to be placed when hitting the ground, i like them to be destroyed once they hit the ground

ornate mantle
#
name: MineFallsCore
version: '${project.version}'
main: dev.giorno.minefallscore.CoreMain
api-version: 1.19
authors: [ TheGiorno ]
description: Core API and functionality for MineFalls
website: https://giorno.is-a-good.dev
commands:
  spawnentity:
    usage: /spawnentity ENTITYNAME
    description: Spawns a custom entity with their name
depend: [ProtocolLib, LibsDisguises]
``` im getting a `org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml` error on this config
#

anyone have an idea on why this happened?

vivid skiff
#

How can i get all data saved in a YAML file like a list of team. Example: TEAMS LIST: team1, team2, team3

hasty prawn
#

?paste the whole thing

undone axleBOT
midnight shore
#

there's a method getList() this returns a List<?> so you can use that, if you are using other types of lists there are also string lists and int i believe

vivid skiff
hasty prawn
#

I don't know what you're trying to do. A command of what?

vivid skiff
hasty prawn
#

What does your config look like?

vivid skiff
hasty prawn
#

So something like

teams:
  test:
    #other stuff for test team
  anotherTeam:
    #other stuff for anotherTeam
  #etc

?

vivid skiff
#

yest

hasty prawn
#

Ah, use getKeys(false) then

#

Will return a Set<String> that would have {test, anotherTeam}

vivid skiff
#

ok

tall dragon
#

when they are not properly closed

vivid skiff
#

How can i create commands automatically?

iron glade
#

define automatically

vivid skiff
#

like i do /team create Test and it creates a command /Test

iron glade
#

iirc there's a thing called command map, could add it there. but can't help you further, don't have experience with it myself

vivid skiff
#

Ok, thanks very much i will serch it online, i didn' t know what search to find it.

uncut rock
#

Someone have faction booster update for 1.12?
And
Killstats

drowsy pawn
#

hello

#

can help

delicate lynx
#

I mean

#

yeah I can help

onyx fjord
delicate lynx
#

if you hover your mouse over the read line, it tells you the problem

#

also that too ^

#

using inventory names too ugh

tall dragon
#

its not a mistake to return a connection from a method

drowsy pawn
tall dragon
#

and regarding your other question. i think its best to just always use a pool

#

meaning get a connection from the pool, use it for a query, return it

onyx fjord
#

you must get the view

drowsy pawn
onyx fjord
#

bro

#

see what im saying

delicate lynx
#

activate your windows

onyx fjord
#

waste of money

drowsy pawn
onyx fjord
#

yeah?

delicate lynx
#

what context is this screenshot for

#

inventory does not have a getTitle()

#

please read what kacper is saying

onyx fjord
#

they aint believe in me

#

at least god did

tall dragon
#

i believe in you @onyx fjord PES_ThumbsUp

delicate lynx
#

yeah if you post a screenshot with zero context and don't get a reply instantly, you have to post it again duh

tall dragon
#

he did get a reply though...

#

a correct one

tall dragon
steady rivet
#

What would cause an event to just not be ran ever? I am registering the event WorldLoaded and it registers fine. The problem is, it seems that it is being blocked from ever getting called? Or at least it just doesn't call like at all. All my other registered events run fine. Just the world loaded event doesn't get called even once. I know its not being called because I built it with the entire method only saying in the console if the method was called or not and that message never gets called.

tall dragon
steady rivet
tall dragon
#

yea

#

load: STARTUP

steady rivet
#

I'll give it a shot

#

well it seems I'm just a dumbass lol

#

thanks for the help

tall dragon
heavy swan
#

Can someone explain to me how I can make it so that when I right click on an item created with the ItemStack method, it sends me to a crafting table and shows how to make the recipe for that custom item?

crimson terrace
#

PlayerInteractEvent has that covered

#

just tag the item and look for the tag every time someone right clicks

minor garnet
#

does anyone know if when spawning an entity using packetplayout it is possible to make it ride a player and it follows wherever the player walks?

tall dragon
#

are you using protocolLib?

minor garnet
tall dragon
#

thb idk what the default packet is. but i know there is a packet for it

minor garnet
tall dragon
minor garnet
tall dragon
#

ahh yikes

#

version?

minor garnet
#

old..

tall dragon
#

double yikes

minor garnet
#

k 1.8 for now

delicate obsidian
#

How can I change the color of a /title multiple times while is displaying? Like a command block chain with repeaters

fluid river
#

if in plugin, just send different titles

#

with a timer or something

delicate obsidian
#

ok

subtle folio
#

How do I forcefully make my data folder without making a config.yml?

eternal night
#

just mkdirs on the data folder ?

#

getDataFolder().mkdirs()

subtle folio
#

right right

#

dirs or dir

eternal night
#

doesn't really matter

subtle folio
#

tyty

eternal night
#

as the parent folder plugins exists anyway

lime crater
#

i'm having a bit of an issue when trying to use the NBTTagCompound#setString(x,y)

so how it is now:
crateItem is just a class in between the configs and the item,
it has my nbt i got from the config just fine

but every time i try to use the setstring , it seems to add an extra pair of quotes around the value (nbt) , causing the item to be invalid
even removed every quote in my nbt value to make sure it doesn't have any without succes , so wondering if i did anything wrong or how to solve it atleast

        net.minecraft.server.v1_16_R3.ItemStack nmsStack = CraftItemStack.asNMSCopy(stack);
        for(Map.Entry<String,String> nbt:crateItem.getNbt().entrySet()){
            NBTTagCompound compound = nmsStack.getOrCreateTag();
            compound.setString(nbt.getKey(),nbt.getValue().replace("\"",""));
        }
        stack = CraftItemStack.asBukkitCopy(nmsStack);```
fallen kayak
#

resource removed stars-pack

tall dragon
#

when PersistentDataContainer exists

lime crater
#

well persistentDataContainer likes to fail on me when i try to add nbt which it might not have set by default

tried looking into it,
but like the plugin is kinda gonna be used with pixelmon, where the sprites all have the custom nbt to make it unique, and couldn't find a way to alter the meta to make it add those anyway

#

and as it's from a config, i can't use like some item handler to try and get the meta another way

tall dragon
#

works very nicely

lime crater
#

alright, will take a look, thanks in advance 🙂

boreal python
#

Is there an event that detects when a player's potion effects change? Either added or removed?

boreal python
#

thats exactly what I needed, thank you!

quaint mantle
#

what's the best way of doing enchants?

#

like prison enchants

boreal python
#

addUnsafeEnchantment?

quaint mantle
#

nah, i need breaking multiple blocks

boreal python
#

AH

tall dragon
#

i think he is talking about custom enchantments

quaint mantle
#

like i have it down but i need a way to improve it

#
@EventHandler
    public void onbreak(BlockBreakEvent e) {
        Location block = e.getBlock().getLocation();
        Location loc1 = block.clone().add(50, 0, 50);
        Location loc2 = block.clone().add(-50, 0, -50);

        double minX = Math.min(loc1.getX(), loc2.getX());
        double minY = Math.min(loc1.getY(), loc2.getY());
        double minZ = Math.min(loc1.getZ(), loc2.getZ());
        double maxX = Math.max(loc1.getX(), loc2.getX());
        double maxY = Math.max(loc1.getY(), loc2.getY());
        double maxZ = Math.max(loc1.getZ(), loc2.getZ());

        new BukkitRunnable() {
            @Override
            public void run() {

                int amountOfBlocks = 0;
                for (double x = minX; x <= maxX; x++) {
                    for (double y = minY; y <= maxY; y++) {
                        for (double z = minZ; z <= maxZ; z++) {
                            Location loc = new Location(loc1.getWorld(), x, y, z);
                            Material mat = loc.getBlock().getType();
                            if (mat == Material.AIR) continue;
                            amountOfBlocks++;
                            Bukkit.getScheduler().runTask(plugin, () -> {
                                loc.getBlock().setType(Material.AIR);
                            });
                        }
                    }
                }

                e.getPlayer().sendMessage("Successfully broken " + amountOfBlocks + " blocks!");
            }
        }.runTaskAsynchronously(plugin);
    }```
#

kek

tall dragon
#

there are a multitude of ways to do this

#

you could store the enchantments & level on the pickaxe using pdc

#

then have a class for each enchantments

quaint mantle
#

i need the best way to loop all the blocks

tall dragon
#

that will contains its logic

#

ahh

quaint mantle
#

since it lags the server a bit

quaint mantle
#

it sucks ik xD

tall dragon
#

does this code not error out?

#

ur modifying blocks asynchronous

quaint mantle
#

nope

#

just lags a bit

quaint mantle
#

i change back to the main thread

tall dragon
#

oh lol

#

ur scheduling a task for every single block to break?

quaint mantle
#

yep

#

should i store it in a list

#

and loop the list?

#

instead of making a task every single time?

tall dragon
#

that would be an improvement

quaint mantle
#

👍

tall dragon
#

but you could do much more than that

#

just depends on how optimized you want it do be

quaint mantle
#

epic

#

thanks

raw sky
#

Anyone know why entity.setVelocity() isnt working on my phantom that has ai set to false

tall dragon
#

because that dont work on entities with ai on false

raw sky
#

How can I have the functionality of ai set to false while still retaining entity.setVelocity();

tall dragon
#

remove its pathfinder goals

raw sky
#

ok ty!

heavy swan
#

People, could someone give me a wiki or explain where I could create custom attributes? Is it that I want to create a Speed-type attribute that I can add to the armor and that armor gives me more speed?

quaint mantle
#

is there a way to wait in a loop?

hybrid spoke
quaint mantle
#

alrighty

quaint mantle
#

Anyone know how to make a kill counter + a death count on a tab scoreboard?

visual jungle
#

why isnt System.out.println("Hello World);" working

tender shard
#

if you would put the quotes correctly

visual jungle
#

ohhhh

#

i see now

#

tyty

tender shard
#

haha np

subtle folio
#

Am I able to add chatcolors to the chatcolor enum?

#

darn

#

alright

inland axle
#

how does one aquire the direction of a player?

vague oracle
#

player.getLocation().getDirection()

worn scaffold
#

Why do Class.getResourceAsStream() or Class.getClassLoader().getResourceAsStream() return null on BungeeCord?

#
val config: MutableMap<String, Any> = Yaml().load(
            dataFolder.resolve("config.yml").apply {
                if (!exists()) {
                    createNewFile()
                    appendBytes(this@Loader.javaClass.classLoader.getResourceAsStream("/config.yml")!!.readAllBytes())
                }
            }.inputStream()
        )
#

this is what Ive tried

#

and config.yml is supposed to be there

drowsy helm
#

Spigot and bungee are funky with resources

#

You have to use the api methods

worldly ingot
#

jfc, is this real Kotlin? this@Loader.javaClass

#

That's cursed as fuck

#

Kotlin CEO: "How can we make our dot separators stand out from Java?"
Random Intern: "What if we put random fucking characters in front of them!"
Kotlin CEO: "GENIUS!"

#

You can

  • Annotate your dot separators
  • Use ?. for null safety
  • Use !! for null assertion
#

TL;DR: nokotlin Not even once

tender shard
#

yeah kotlin is very weird at times

#

I really don't like it

#

it doesnt add anything useful for me, only makes things more complicated

jaunty crag
#

How do I make the head indicatirs from mcc?

quaint mantle
#

Whats the best thing to make a database with? Or should i just use json

worldly ingot
#

Depends on the data you're storing, how you want to store it, how you prefer to store it, and whether or not you're releasing something publicly or working on a private project

quaint mantle
#

Probably private

#

Any recommendations?

#

Mongo, Sql, ect

worldly ingot
#

I mean again, boils down to

the data you're storing, how you want to store it, how you prefer to store it

#

There's no one answer

quaint mantle
#

And im probably going to be storing. Strings, doubles, booleans, timestamps (long), maybe locations (so strings). Depends

#

And idk how i like to store it xD

worldly ingot
#

If you think it's something you can store in an SQL schema (e.g. tabular data) then opt for SQL. If you want some serialization/deserialization and just don't care how things are stored, Mongo is NoSQL and is basically just remote JSON storage lol

#

Local JSON files also works fine, but gets messy if you're storing data for each player or something

#

Ultimately between SQL and NoSQL, it comes down to preference

quaint mantle
#

I mean, its not like im going to edit the file alot.

#

I already have a json storage setup but i was thinking of using a database.

worldly ingot
#

No I know, but I mean more portability "messy". What if you have to move those files to a new system? You then might have thousands of files to migrate

quaint mantle
#

Yeah true

jaunty crag
#

is it possible to get the colors of each individual pixel on a players face

drowsy helm
wind tulip
#

Hey, I was wondering how I could cancel all active async tasks when reloading/disabling the plugin.

I tried:

  @Override
  public void onDisable(){
    Bukkit.getScheduler().cancelTasks(this);
  }

However this doesn't work. The task I'm running is:
https://pastebin.com/WE7F78WT
(Although keep in mind this is generated code, not hand-written so I would not recommend trying to read the inside of the bukkit task)

drowsy helm
#

they are disabled automatically iirc

#

also what is

#
        while(Repeat.invokeAction(ParamManager.formatParameters(new HashMap<>(){},
        new HashMap<>(){}, "REPEAT:Forever", localVars), "Forever", localVars, 85982394.571d + threadID)){```
#

are you just doing an infinite while loop

quaint mantle
#

They can be

#

I use longs for them

wind tulip
#

with a wait inside

#

I'm not doing anything typical and I would not like to explain

drowsy helm
#

thats why its not cancelling

wind tulip
#

ah

#

because of the wait?

drowsy helm
#

because it's an infinite while loop

wind tulip
#

why would that matter, if it'd need to reach the end to cancel then wouldn't it do that automatically?

drowsy helm
#

no?

#

all the cancel method does is not call the next run() call

#

there is no next run call if you have an infinite while loop

wind tulip
#

hold on a second, why would it call the run method multiple times? This isn't a repeating task

drowsy helm
#

ah

#

either waqy

#

the cancel method doesn't terminate the thread

#

if its an infinite while loop you will have to terminate it yourself

wind tulip
#

hmm

#

yeah I guess I could put that in loops

#

as a whole

drowsy helm
#

probs easiest to do while(whatever the infinite boolean is && !isCancelled)

#

then override the cancel method

wind tulip
#

oh I see so the cancel method fires even with the infinite loop?

drowsy helm
#

it should

wind tulip
#

okay, thanks

kindred valley
#

https://paste.md-5.net/eguqusoqat.cs I am getting this.

It says the custom_stack is null but i am defining it here

    public static CustomStack setMeta(String displayName, CustomStack custom_stack, ItemMeta meta, int pdcValue, String name) {
       custom_stack = CustomStack.getInstance(name);
       meta = custom_stack.getItemStack().getItemMeta();
       meta.getPersistentDataContainer().set(Keys.smithingItems, PersistentDataType.INTEGER, pdcValue);
       custom_stack.getItemStack().setItemMeta(meta);
       meta.setDisplayName(displayName);
       return custom_stack;
    }```
#

Their server does not support fuck it

#

Alex can take look huh

worn tundra
#

Then the CustomStack.getInstance might be returning null?

kindred valley
worn tundra
#

Surely you might've checked that already, but that's the only way such an error is appearing

#

Also as a sidenote, it seems that you change the meta once more after applying it, when you set its display name

worn tundra
#

The error is for when you try get the itemsadder itemstack

#

So idk how giving it to a hand may change that

kindred valley
#

I can give it to my hand by an event

#

But i cant put it on an inventory

#

@worn tundra

worn tundra
#

Show your code in the event

kindred valley
#

Which event

#

Giving to my hand or

#

The main event

worn tundra
#

The one that works

kindred valley
#
p.getInventory.addItem(SmithingTable.setMeta("Blabla", SmithingTable.itemsadderSwordGui, SmithingTable.itemsadderSwordGuiMeta, 500, "itemsadder:ruby_sword").getItemStack();```
worn tundra
#

Did you write that by hand? Why can't you paste code

kindred valley
#

I am not on pc🫥

worn tundra
#

Because you're using weird methods

#

Can't help you

kindred valley
#

Weird methods?

#

SmithingTable just contains differen CustomStacks

worn tundra
#

Yes, lile what is SmithingTable.setMeta and why does it take all of that as instructiond

#

Then apparently supplies a Itemsadder item id

worn tundra
#

So without proper code and context im unfortunately unable to help

kindred valley
#

setMeta is this

#

Alr thanks

worn tundra
#

You sure your using the same itemsadder ids in both cases?

kindred valley
#

Yes

knotty meteor
#

Someone know how i can drive my vehicle (armorstand) on water with the packetplayinsteervehicle event?
Because everything i try, gravity false and all those things wont work and if i put gravity on it will sink

lost matrix
knotty meteor
#

But isnt it possible to just let it float on water and drive normally as i do on the land?

lost matrix
#

And how do you expect the "let it float" part to happen?

knotty meteor
#

To let it float and stay on the water but that it is able to drive with WASD

#

Because now if i pit gravity false it will stay on the water but it is not able to drive

astral radish
#

hi i have an error when i try to put my 1.16.5 plugin in a 1.16.5 server

#

this is the error code

lost matrix
astral radish
#

this is the error 18:43:54] [Server thread/ERROR]: Fatal error trying to convert MyFirstPlugin v1:com/georgemushroom/MyFirstPlugin.class
java.lang.IllegalArgumentException: Unsupported class file major version 62
at org.bukkit.craftbukkit.libs.org.objectweb.asm.ClassReader.<init>(ClassReader.java:196) ~[server.jar:3096-a-Spigot-9fb885e-af1a232]

lost matrix
echo basalt
#

Having a very weird issue with mongodb

#

Invalid BSON field name datauuid

#

Makes no sense

lost matrix
lost matrix
astral radish
#

i typed wrong

echo basalt
#

Fetch is safe

lost matrix
#

"use sql instead of storing them"... lol

echo basalt
lost matrix
echo basalt
#

Just trying to abstract away mongodb

#

I should probably just write a Map<String, Object> -> Bson document

#

🤦

#

Evan I know what I'm doing

#

uuids are 2 longs, or about 16 bytes

lost matrix
echo basalt
#

brb gotta mix my spaghet

glossy venture
#

and database abstraction

lost matrix
echo basalt
#

I basically just need this

glossy venture
#

how are mongodb codecs gonna be of use

lost matrix
#

Go do your homework. You have no idea what you are talking about.

echo basalt
#

Evan

#

MongoDB is a suitable database in my use-case scenario

glossy venture
#

with this abstraction i can use SQL too

echo basalt
#

So can I

glossy venture
#

just map key name to column id

echo basalt
#

Ehhhhhhhhh

#

depends

#

You gotta flatten your map

#

because the value can be a collection

glossy venture
#

yeah

echo basalt
#

then get the appropriate data column

#

I have some code for that

#

Thing is I'm not really messing with relational data

#

MongoDB makes more sense

#

and I can cluster it easier

glossy venture
#

yeah

lost matrix
glossy venture
#

exactly

echo basalt
#

kotlin how fun

lost matrix
#

You can easily translate it. No fancy stuff happening here.

glossy venture
#

i tried upserting it but it was throwing shit

#

like

#

invalid field name

#

bson

lost matrix
echo basalt
#

So this?

#

brb my spaghetti breakfast is done

lost matrix
#

If you pass only one parameter to .eq then its referring to the primary id field.
Which should be of type ObjectId. What data type are you using for the primary id field?
Because you can also use UUIDs for that.

echo basalt
#

I see I see

#

Should be this then

#

I just gotta optimize the codec a bit more

#

but I'm pretty much out of time for the morning

lost matrix
#

If you look at the write method you can see how you can insert objects and provide an arbitrary object as the primary field.

    fun write(key: K, value: V) {
        val filter = Filters.eq(key)
        val options = ReplaceOptions().upsert(true)
        mongoCollection.replaceOne(filter, value, options)
    }
echo basalt
#

it really looks like your value is just a POJO

lost matrix
#

K is in most cases an int or UUID for me

echo basalt
#

that isnt a method

#

I gotta wrap it into a document

lost matrix
#

Nope

echo basalt
#

DROP <table>

#

does it

lost matrix
#

You can also have a MongoCollection<WhateverYouWant>

echo basalt
#

Ah fun

#

I see what you did

lost matrix
#

😄

echo basalt
#

ehhhhhhhh

#

I already serialize everything to a map

#

so I might just make it a MongoCollection<StoredData> and move on

lost matrix
#
open class TypedMongoStorage<K, V>(
    mongoCollection: MongoCollection<V>,
    valueClass: Class<V>,
    private val keyFunction: (V) -> K
) {

Im passing a typed MongoCollection to my accessor class.

echo basalt
#

simple enough

#

I really gtg now

#

gotta eat breakfast, shower and go to school

#

got mf programming class

lost matrix
echo basalt
#

gonna learn php or something stupid

lost matrix
#

oof

echo basalt
#

Thanks for your help

#

I still gotta pack my bags n such

tardy delta
#

Hah school Starts at 11am here

lost matrix
#

And then you have to be there until its dark... meh

echo basalt
tardy delta
#

Til 4:15 today

#

Not much lessons

#

And today is boring

echo basalt
#

Got like 2 hours with the most psychopathic teacher

tardy delta
#

Hehe

proper notch
proper notch
#

wym?

echo basalt
#

Not sure about how complex it is for mongodb

#

But not only is the code easier to read, it's also logically easier to comprehend

tardy delta
#

Always Fun when i have no fucking clue where to be

proper notch
#

I mean it's just collection.deleteMany(new Document());, or for me I have an EMPTY_DOCUMENT constant.

echo basalt
#

so I just turned in a blank paper

proper notch
#

Oh wait Filters.empty() exists, so just that then.

#

So collection.deleteMant(Filters.empty())

echo basalt
#

creating the collection might have more overhead than deleting the records

#

perhaps

#

I just find it simpler

proper notch
#

Also if u have any indexes in the future idk how that'll affect you with recreating

echo basalt
#

it should just delete pointers in the filesystem

proper notch
#

might do some experimentation to actually see how long it takes with recreating vs remove with no filter

#

actually cba whatever

echo basalt
#

They said it themselves

proper notch
#

hmm damn.

echo basalt
#

time to flex for eternity

proper notch
#

the way i've done my indexes would be a bit of a pain to recreate but i'll change it in the future

echo basalt
#

you could just listIndexes, drop, createCollection, createIndexes

#

and move on

sleek moon
#

Guys, would you mind lending a hand? I can't figure out where I've gone wrong. Even if i type PLAINS, DESERT and etc, it always puts "SNOW".

https://hastebin.com/ecahuxewor.php

grim ice
#

e

sleek moon
rough drift
eternal oxide
#

um if(String.valueOf(snow) != null) {

lost matrix
#

You should drop this approach because the cleanup will never come.
What you should do is add debug messages and see which lines of code are being run.
The error is clear to me but you need to understand the code you are writing.
And adding debug messages helps you understand the code flow.

grim ice
#

Wtf??

#

bro wtf did u just say

#

lmao

lost matrix
#

PS: String.valueOf(...) never returns null

#

I think what you mean is Biome.valueOf

#
                        } catch(Exception e) {
                            p.sendMessage("Could not find Empire");
                        }

And exceptions are not meant to be used as a code flow element.
They are used for error handling.

grim ice
#

EO says no

sleek moon
grim ice
#

eo suggests that to have robust code, it needs to be fragile

sleek moon
# lost matrix I think what you mean is Biome.valueOf
        SNOW,
        JUNGLE,
        DESERT,
        PLAINS,
    };
    
    public static ArrayList<String> snowList = new ArrayList<String>();
    public static ArrayList<String> jungleList = new ArrayList<String>();
    public static ArrayList<String> desertList = new ArrayList<String>();
    public static ArrayList<String> plainsList = new ArrayList<String>();
    
    public static HashMap<String, ArrayList<String>> playerListMap = new HashMap<String, ArrayList<String>>();
    
    public EmpirePlayerList() {
        playerListMap.put("snow", snowList);
        playerListMap.put("jungle", jungleList);
        playerListMap.put("desert", desertList);
        playerListMap.put("plains", plainsList);
    }```

I'm reading them from another class and putting them in a config
lost matrix
honest brook
#

Hello I am making a plugin for a bit of fun. When I try put it into the server it gives me the error org.bukkit.plugin.InvalidPluginException: Cannot find main class
The plugin is 1.18.2. Help appreciated.

lost matrix
eternal oxide
#

your entry in plugin.yml is wrong

grim ice
lost matrix
lost matrix
grim ice
#

No, i mean the set of principles

lost matrix
grim ice
#
Elegant Objects

Object-oriented programming philosophy that refuses to use getters-and-setters, static methods, NULL references, type casting, implementation inheritance, and similar misconcepts.

#

??

#

what?

#

what are you talking about

#

wtf

#

???

#

do you have the wrong person or what

#

lmao

#

wtf are you talking about

#

???

#

i legit have no clue what youre on

#

lmao what

#

how does me suggesting a set of principles to 7smile7 result in stealing codes then obfuscating then reselling

#

lmao

#

????

#

what does that have to do with anything?

#

and i never stole code

#

@lost matrix do you get whats happening here

#

because i have no clue wtf this guy is saying

eternal oxide
#

No clue here

grim ice
#

i never stole code lmao

#

i dont need to, in fact

lost matrix
grim ice
#

???

#

are you trolling

#

ill just ignore you

#

it is true that i cant obfuscate because i never did that in my life

#

lmao

lost matrix
# grim ice Lol

Hmm this really looks like a decent set of rules. I agree with most of them like no code in constructors.
Is there a sonar code analyzer for this?

eternal oxide
#

I'm bad for that. I often put code in constructors

lost matrix
grim ice
#

Yeah? that was a few days ago of me trying to learn how to obfuscate

eternal oxide
#

Evan you sound angry. Time to take a break from the Internet.

grim ice
#

wtf?

#

I never succeeded so I never did it. (I actually gave up after frostalf told me to not obfuscate)

twilit bear
#

ok wtf that word was uncalled for this is 2022 not 2012

grim ice
#

I never did.

#

it wasnt a plugin eitherway

#

now time for your lovely ban or mute

#

@ancient plank

#

we have an angry kid here

#

???

#

how did you assume im a theif from this..

#

wtf

#

lmao

lost matrix
#

Guys dont feed the troll. Important rule of the internet.

eternal oxide
#

@boreal seal You've proved nothing. Stop being so anrgy or we will summon a mod.

grim ice
#

yeah im just gonna ignore him

#

Dude i was confused because you made absolutely no sense.

lost matrix
#

And dont be too harsh. He might have a condition.

#

Or is very young

kind hatch
#

What's the importance of this screenshot? It just looks like an accusation was thrown and nothing came of it.

grim ice
#

hes talking about you

chrome beacon
grim ice
lost matrix
#

2Hex doesnt have a single premium plugin...

grim ice
#

Lmfao

#

I quit making plugins ages ago

#

and I dont use MCM

#

check my mcm profile

eternal oxide
#

Everyone here knows 2Hex. He joined over two years ago and we taught him the basics. He's a good dude

grim ice
#

bro do you actually think i stole a plugin and sold it for 300$?

#

exposed me?? lmaooo

vocal cloud
#

Jeez what's with the cat fight

grim ice
#

LOL

eternal oxide
#

Evan I've known 2Hex for over two years now.

grim ice
#

i never sent you the jar

#

and it was never a plugin

#

???

kind hatch
#

I think someone else is using Evan's account. Either that or the dude is having a mental breakdown.

eternal oxide
#

You are making a mistake

grim ice
#

send me the jar i sent you then??

lost matrix
vocal cloud
#

That's not proof

eternal oxide
#

Yes we saw that. it shows nothing

grim ice
#

Yes i never did because i was trying to learn how to obfuscate

eternal oxide
#

I was here for teh obf discussion

grim ice
#

and i gave up because frostalf told me to

grim ice
#

LOL

sleek moon
#

Jesus christ, he still keeps on going

grim ice
#

bro just ruined the chat then went on

#

💀

#

welp

grim ice
#

e.g instead of String#toLowerCase()
they want you to have a decorator LowerCaseString

lost matrix
grim ice
#

Lol this guy made a thing that stops your project from building if it has null

lost matrix
#

Its called kotlin

grim ice
#

LOL

ivory sleet
#

Myeah wel EO goes under the extreme assumption that our objects are living organisms

#

Which is the main pro and con

dim palm
#

Its better using DI or creating a new Instance of the class

#

like: new Class();

tawdry python
#

Does anyone using FactionsAPI know how I can change the attack time?

lost matrix
proper notch
# dim palm like: new Class();

Maybe i'm tired here, but if it's a situation where you can just instantiate the class every time it can just be a utility class.

You tend to use DI where you can't just instantiate it every time. E.g you can't just create another instance of your plugin class. Basically what smile said above.

floral drum
#

hoyaahhhh

ivory sleet
#

You can essentially have to use DI sooner or later as well as the new keyword

#

They’re not equivalent and not interchangeably equivalent

lost matrix
#

Just make everything static and only use functional style. Abandon the new keyword.

tender shard
#

I literally wrote a blog post about it @grim ice

#

but you should just ignore that idea

#

obfuscating is not worth it

tender shard
#

once you reach like 500 downloads on spigot, someone will put DAYS into cracking your stuff anyway and then you can't help it anymore anyway

eternal oxide
#

The only point in obfuscation is when you are legally required to make a "best effort" in protecting your IP.

tender shard
#

well it also helped me in not having leaks everywhere when I still had this "Too many IPs use this copy" stuff

#

but eventually someone cracked that ofc and since then it's pointless

#

anyway, I never argue against people who want to obfuscate their stuff, I'll explain to them how I did it, and then it's up to them whether they also wanna do it or not :3

eternal oxide
#

I just don't bother at all. If people are willing to pay for something they will. If not, they will get a hacked version. Nothing will force them to become customers.
Then again I don't sell anything, I give it away for free and make zero monies.

tender shard
#

you're lucky because that means you have an actual job that earns you money 😄 I for example dont have any other income 😢 (at least not right now)

eternal oxide
#

The only time I ever made any money was from Essentials advertising on its wiki

kindred valley
#

?paste

undone axleBOT
kindred valley
tender shard
#

Nothing will force them to become customers.
actually my verification thing is quite effective. sometimes people join my discord and ask for support. then I ask them to verify their purchase. 5 minutes later I got a paypal notification that they now actually bought it haha

eternal oxide
#

Each month the team divvied up the income from advertising to whoever had contributed that month.

eternal oxide
#

it paid for my internet for a few months

tender shard
#

I love this idea

#

but most people probably won't get anything from ads on their wiki

#

maybe 0.3€ per months 😄

eternal oxide
#

Yep Ess had a LOT of hits on its wiki

#

back then it was on a few hundred thousand servers.

tender shard
#

my blog also has a few thousands hits per day but I guess I'd still rather keep it ad-free

lost matrix
#

Just make you plugin ambigous and hard to use

tender shard
#

Life Steal cough

#

how to craft hearts

#

I remember when Ike put a "Join the Discord for questions" text into his plugin page, then people kept joining THIS discord to ask questions haha

#

he got like a million downloads in a few months

fickle mist
#

hi all! I am doing an anti-cheat in my plugin, and I have a question how to make it so that in case of an effect, for example, a jump boost, the rights are given at which the plugin will not be able to ban the player by mistake

lost matrix
fickle mist
tender shard
#

by inspecting how vanilla works

#

anti cheats are very annoying to code

lost matrix
tender shard
#

^

#

I do spigot plugins since 5 years or so now and I wouldnt bother in writing any anti cheat myself

eternal oxide
#

leave it to an anti-cheat plugin

tender shard
#

I rather spend my time on other things and let other people do the anti cheat plugins 😄

flint coyote
#

Just add a timed parcour/course that tracks the path that players used.
I catched so many cheaters by simply checking the best scores and their path.
Best half automatic anticheat.
/s in case it's needed

tender shard
#

lmao

#

the best anti cheat is still "having enough staff that spectates everyone" 😄

flint coyote
#

With even a few staff members you could still create your own anticheat that just tells staff to check on a player.
If it leads to false warnings due to jump potions or similar things you can improve it continuously.

tender shard
#

true

flint coyote
#

A good way to dive into that topic without "hurting" innocents

tender shard
#

"innocents"

flint coyote
#

I mean they might be

tender shard
#

I'd rather assume that everyone is cheating haha

#

except for @jagged quail

#

his PC couldnt handle running BOTH, a cheat and minecraft

flint coyote
#

lmao

#

Most players cheat so obvious that your anticheat doesn't even have to be good to catch them

#

that was more of a /s statement tho

#

To joke about people that just activate their flyhack/flymod and fly through space.
I'm very aware that anticheats are hard to do.

#

It will require a lot of testing. Also a lot of try and error. And lots of bugfixes if you didn't think about everything that can affect a players velocity

#

I'm aware of all that. No need to tell me about it.
An anticheat will be a very tedious project and a starter will probably lose motivation not even halfway through

#

Yeah that was more of an exaggeration 😅

#

I mean as long as you don't run the server on everyones router you will never have 0ms for everyone xD

echo basalt
#

drop a payload bomb that's just an anticheat smh my head

grim ice
#

it was a forge mod, so your blog better be in gradle :o

#

im not even talking to you

#

so sit down

eternal night
#

lay down

#

stand up

#

hmm

#

fair point

tender shard
#

I only know the basics 😄

#

barely enough to make it create a shadowJar

grim ice
#

LOL

eternal night
#

I mean proguard has a gradle dep

#

like

tender shard
#

gradle probably also has some thing equivalent to the maven-exec-plugin

#

soooo yeah it'd work with any build tool

#

but as said, obfuscating is a shit idea anyway

#

I only do it because I did it a year ago already 😄

#

you realize that zelix costs money, while proguard doesnt, right?

sullen wharf
#

👀

grim ice
#

What

#

💀

#

bro you have memory issues

#

wow

#

bro check a doctor

tender shard
#

please discuss your personal issues in DMs instead

grim ice
#

its 1/6 of that price

grim ice
#

hes been harassing me the whole day

#

💀

tender shard
#

I can't change that, all I can do is to ask both of you to stop

grim ice
#

wow

#

please reverse and pubblic it

#

pls

#

lmao

#

this is so funny

sullen wharf
#

engineering

grim ice
#

i cant believe it

#

reverse and public!!

tender shard
#

can you please both shut up about this now

grim ice
#

oh no

grim ice
#

so true

tender shard
#

it's just annoying for people who have actual questions in this channel

grim ice
#

no one is asking anything

tender shard
#

someone wrote something a minute ago but then never sent their message

sullen wharf
#

where the mods at

tender shard
grim ice
#

you will definitely reverse and public it

#

lmao sorry i just had to say that

vocal cloud
#

Holy crap are we back at this again

sullen wharf
#

Evan, please

eternal night
#

the spigot api has a yaml api

grim ice
#

im dying

sullen wharf
#

crack Denuvo

eternal night
#

you can just use that

tender shard
#

oh cmon please discuss your personal issues in DMs

sullen wharf
#

ik you can

grim ice
#

oh god

eternal night
#

Possibly

grim ice
#

how is this not funny to yall

#

im dying

eternal night
#

but what is your point

#

you are certainly not doing anything too complex in yaml

tender shard
eternal night
#

for which snakeyaml should be fine

grim ice
#

neither was lynx

eternal oxide
#

I was, Evan has been harassing 2Hex all day

grim ice
#

yeah that's a conclusion

eternal oxide
#

I am always here

grim ice
#

he was 💀

#

actually yes

eternal oxide
#

pretty much

grim ice
#

elgarl is pretty much here all the time for all the 2 years ive been in here

#

why would you

#

what

eternal night
#

imagine if at least one of the two of you were mature enough to just drop it and leave the chat

#

what a world we'd be in

#

mate

grim ice
eternal night
#

snakeyml is fine

eternal night
tender shard
#

how is snakeyaml bad

grim ice
eternal night
#

shading another yaml library for doing "give me the string at a.b.c" is pretty meh

knotty meteor
#

How can i mute the armorstand making walk sounds if i drive it with the packetplayinsteervehicle event?

tender shard
#

for real I'll ping some staff member if you don't drop your stupid discussion, it's 100% useless and only annoys everyone else. Why don't you just DM yourselves instead

eternal night
#

what are you talking about

knotty meteor
#

Isnt ir possible without texturepack because other plugins does have no sound then driving armorstand

tender shard
#

a texture pack?!

#

this doesnt make any sense

eternal night
#

generally, you should be able to setSilentit ?

#

some sounds are clientside however

#

at which point

#

not much to do

knotty meteor
#

But walking sounds like grass will be muted then?

tender shard
#

didnt they say "make it silent" and not "make it invisible"?

knotty meteor
#

1.12.2

eternal night
#

iirc the fall sound of armorstands should be server side

#

so making it silent should work out

#

just try it tho

fluid river
#

im back

#

where are noobs

#

show me

tender shard
#

hello back

fluid river
tender shard
#

hyd

fluid river
#

first time on practical philosophy course

#

in university

tender shard
#

damn that sounds... boring

fluid river
#

kinda

#

At least it's not as boring as maths

#

I go to university for English, Java and Philosophy

#

basically

#

skip everything else

#

actually the only one guy in a group who even knows philosophy and studied it before

#

-> the only one who answers all of the questions

#

still up to discuss why humans are different from every other animals

#

yes

#

nobody except my school friend who i tought java, know it

#

he got to the same university

#

but we were in different groups first year

#

this year groups were joined

#

so now i'm with him

#

And basically my engrish is the best in group too

#

teachers basically make me auto-pass end-year exams

#

why tf i use basically in every sentence

#

What's wrong with me today

#

But still

#

it's like saying "like" after every word

#

parasites

#

?

#

I never touched snakeYaml, but i can help with YamlConfiguration directly

eternal night
#

YamlConfiguration uses snakeyml under the hood

#

which I guess is what they are on about

fluid river
#

I mean ofc but yamlconfig is a wrapper