#help-development

1 messages · Page 2291 of 1

quaint mantle
#

oh ok

eternal oxide
#

If you need access without loading teh world, yes

brave sparrow
#

YAML will likely be a tiny bit slower, but will be human editable

#

It really depends on what you want out of it

supple elk
#

right

#

speed isn't too much of an issue I don't think

eternal oxide
supple elk
#

human editable is nice

noble lantern
#

if you load yaml files on startup you wouldnt notice too much a difference tbh

#

and then save files from cache async every 5 mins + on shutdown

brave sparrow
#

There won’t be a ridiculous amount of difference either way

noble lantern
#

youll have overhead creating new files tho

#

thats all as long as you cache all config files you need starting up

eternal oxide
#

For the amount you are going to be accessing/changing yaml is perfect

brave sparrow
#

Even the overhead for that won’t be noticeable

#

Realistically

noble lantern
#

yeah it doesnt sound like it wont be much data

#

like 100 lines of yaml at max it sounds like

noble lantern
eternal oxide
#

Bukkit also has a getter for Location in yaml

noble lantern
#

especially if you async it

supple elk
#

it'll depend on exactly what the minigame is but it shouldn't be too much

noble lantern
#

^^

#

and you can serialize ItemStacks too into yaml configs

supple elk
supple elk
noble lantern
#

its aids

torn shuttle
#

oh no wonder, I forgot mavenLocal in my gradle

noble lantern
#

but can be useful

supple elk
#

if I made something like hunger games I'd need to store chest locations and spawn locations, that kind of stuff

brave sparrow
#

Although serializing item stacks is on the less human editable end of the spectrum

eternal oxide
#

However you are likely not going to be able to use it. Your worlds will not be loaded so creating an actual Location for an unloaded world will fail

noble lantern
#

LocationReferance with a Location Getter bam

supple elk
brave sparrow
torn shuttle
#

well folks it was a good run, 5 years of making plugins without ever touching NMS code but today I have to look at that because I need to mess with bounding boxes and hitboxes (I think hitboxes might be impossible but bounding boxes I must change for sure)

eternal oxide
brave sparrow
torn shuttle
#

yeah I thought something like that might be the case

#

I'll just cheat for the hitboxes

supple elk
#

If I try and load a location from YAML will it not work if that world is not loaded?

eternal oxide
#

no, it stores teh world name. When deserializing the Location object attepts to pull a World

lost matrix
brave sparrow
eternal oxide
#

Use Location.toVector and store that

supple elk
#

If it stores the world name then I thought it may not need the world to be loaded, then I can just set the world of the location to the one I want

supple elk
#

then turn that back into a world

#

so YAML can store vectors?

eternal oxide
#

yep

#

yes

supple elk
#

ok sick

agile anvil
brave sparrow
supple elk
#

👍

supple elk
#

vectors should be fine based on what Alex just said though

lost matrix
eternal oxide
#

worry about that after 🙂

supple elk
#

ah

#

yeah locations are kind of important

#

*rotations

brave sparrow
#

You can store the rotation separately though

#

Just 2 floats

eternal oxide
#

yep, just pitch and yaw

supple elk
#

kk

lost matrix
#

Then create your own pojo and let it implement ConfigurationSerializable

supple elk
#

pojo 🤔

tardy delta
#

plain old java object

lost matrix
#

plain old java object

supple elk
#

oh lol

tardy delta
#

smh not again

lost matrix
#

F

supple elk
#

hmmm?

eternal oxide
#

The new favourite acronym of the month.

torn shuttle
#

oops well this is a bad start, 5 seconds into trying to look into nms custom entities and I realize the guide I'm following is probably horribly out of date

#

classic

supple elk
#

👍 👍 👍

torn shuttle
#

certified hood classics

supple elk
#

NMS moment

torn shuttle
#

nms and malding, name a more iconic duo

lost matrix
# supple elk 👍 👍 👍
public record Position(Vector vector, float pitch, float yaw) implements ConfigurationSerializable {
  
  // TODO Constructor or static deserialize method
  
  @NotNull
  @Override
  public Map<String, Object> serialize() {
    Map<String, Object> map = new HashMap<>();
    map.put("vector", vector.serialize());
    map.put("pitch", pitch);
    map.put("yaw", yaw);
    return map;
  }
}
supple elk
#

ty

lost matrix
torn shuttle
tardy delta
#

immutable data class

#

java 16 thing or smth

brave sparrow
#

New Java thing

supple elk
#

right

tardy delta
#

imagine still being on java8

#

🥺

brave sparrow
#

Imagine being me

hybrid spoke
#

forcely

noble lantern
#

records are nice

supple elk
#

I think I'm on java 17 🤔

torn shuttle
#

it feels like being a blind person in a maze except the cane you have is red hot the maze walls are electrified and the maze layout changes every time mojang sneezes

supple elk
#

doesn't seem to know what record it though :<

lost matrix
#

Would add

  public Location toLocation(World world) {
    return new Location(world, vector.getX(), vector.getY(), vector.getZ(), pitch, yaw);
  }

As well

young knoll
#

Doesn’t include pitch and yaw

tardy delta
#

lmfao

young knoll
#

Well

rotund pond
#

Hello @lost matrix @hybrid spoke !
I have a little information for you about the thing I asked ↑

There's a way to get project informations inside YAML files with Maven himself !
Just use references as if you where using property refences, with "project" as base key.

For example, if you want your project version, use ${project.version}. For project name, use ${project.name} etc...

tardy delta
#

imagine tagging..

lost matrix
rotund pond
torn shuttle
supple elk
#

I'm on java 17

noble lantern
#

you would use maven shade plugins filtering for yaml variables

lost matrix
rotund pond
eternal oxide
rotund pond
# supple elk

If you're using intellij (idk for eclipse), I think you should look at your language level

rotund pond
quiet ice
#

The fact that the import is missing is the real cause of the issue

supple elk
quiet ice
#

hence it will not be able to understand the override annot etc

supple elk
#

yup that was the issue

#

understands now

torn shuttle
#

hey cool kids 😎 what's lit 🚬 anyone got some real cool 🏄‍♂️ build.gradle files with the remappings option they can share? I'll be over in the corner flossing while I wait 🕺

supple elk
#

.....

#

🤯 🔫

torn shuttle
#

thank you

#

I was starting to get tired

young knoll
#

Ha

#

Gradle remapping

#

Funny

quiet ice
#

I wouldn't use gradle to be honest

#

It's fucking trash - doesn't even support ftp OR sftp with key auth

torn shuttle
#

well I don't want to go back to waiting for 2 minutes on every compile

eternal oxide
#

Gradle touched me inappropriately.

torn shuttle
#

show me on the codebase where gradle touched you

quiet ice
torn shuttle
#

I don't want to waste my life messing with the build system, I want to waste my life resolving my own bugs

smoky oak
#

'perfect! A different error!'

torn shuttle
#

it is really annoying how everything is posted in a maven format

quiet ice
#

If you have issues converting between those two formats, you might be unsuited for gradle

eternal oxide
#

Maven is king for nms

torn shuttle
#

I usually get around it just fine, I've just never messed with a lot of the options remapping requires and was hoping I could just yoink them from somewhere instead of having to do something filthy like thinking

young knoll
#

I started doing the unspeakable

#

And remapping with paperweight

quiet ice
#

If you are using gradle, paperweight is the only option

torn shuttle
#

I'm going to have a fun time when I realize the remappings don't cover what I need anyway lol

young knoll
#

I’ve seen some GitHub projects that claim to do it with SpecialSource

quiet ice
#

Remapping anything yourself is a fool's errand thanks to tiny-remapper's hidden "features"

young knoll
#

Idk if they work

smoky oak
#

i think the remappings are global

#

what do you want to do anyways?

quiet ice
#

Probably using mojmap with nms

torn shuttle
#

fine whatever I'll go back to maven for this project

#

I want to create custom entities with custom bounding boxes

smoky oak
#

arent bounding boxes part of the spigot api

torn shuttle
#

mhm

#

can't modify them on existing entities as far as I can tell and have tested

#

which is a crying shame

smoky oak
#

no i meant, can you project a bounding box

#

just display an invisible armor stand with no collision thats immortal to hold your graphics, then project the box around that

torn shuttle
#

I need to utility that a custom bounding box gives

#

i.e. how it moves through the terrain considering the new size and where it suffocates and stuff

#

also ultimately this is going to lead into me downright creating my own behavior for these dudes which unless the api has changed is still not possible to do with the spigot api

smoky oak
#

eh fair point

torn shuttle
#

yeah I've not been holding back on this for 5 years for nothing

#

if there was any conceivable way of doing it through the api no matter how jank it would be I'd go that way instead

smoky oak
#

now im curious but i dont have the energy to try myself

#

on which version are you doing this anyways

#

19?

torn shuttle
#

yeah happened to be on 1.19 but it is probably going to target 1.16 and later

#

not much changed since in my estimation

#

maybe 1.14 if I am feeling spicy

quiet ice
#

Nah, I'd stick with 1.16+

#

But multi-version nms is a bit more difficult than you might thing

torn shuttle
#

reflections right

#

it's fine for this one because I just need one thing

#

mr oinkers with a custom bounding box in multiple versions

#

when I get to doing AI that's when I will probably reconsider my life

quiet ice
#

You need to have a multi-module project or a project with multiple source dirs

torn shuttle
#

I've not even really looked at it yet but if what I am looking to do is viable through the mappings is this going to save me any work?

plucky cliff
gleaming grove
#

is any possibility to send message after player click on hyper-click?

quiet ice
quiet ice
gleaming grove
#

meh, the problem under [click here] is value to copy, but player dont really see if something was copied

#

even mouse cursor not changing look

quiet ice
#

Ask mojang to change it, perhaps you'll get lucky

gleaming grove
#

hmm maybe there is some minecraft command which i can use to copy a value to player clipboard

#

so then i could both copy value and send message

minor garnet
#

is there any method that returns me what type the block is? example: BlockStairs, BlockLadder

crude charm
#

https://gyazo.com/cc427610ed7ee68ae52553b2e9eda98a

I get that I should add a cooldown but it should trigger straight away so there isn't a need for one but I will add one later to avoid double messages

            if (this.plugin.getSpawnController().getCuboid().isIn((player))) {
            if (outOfSpawn.contains(player)) {
                Vector vector;
                vector = player.getVelocity().subtract(new Vector(3,0,0)).multiply(-5);

                player.setVelocity(vector);

                player.playSound(player.getLocation(), Sound.NOTE_BASS, 100, 100);
                player.sendMessage(ChatColor.RED + "You can not go back to spawn");
            }

        }
quaint mantle
#

is there a way of uniquly identifying an item via a uuid, i looked at NBT but i cant seem to understand if it helps

quiet ice
#

What do you want to do in the first place though?

solid cargo
#

Would anything bad happen if i redirected 50 players each (together 100) to another server?

minor garnet
quiet ice
#

Though you'd need to use NBT for versions below 1.13, and there is some funky class for 1.14

quiet ice
solid cargo
#

So redirect 50 players to another server twice at the same time

quiet ice
#

Right now you have only proven me that those classes exist, but I do not know what those are nor whether you have an instance of those

#

Well you probably don't have an instance of that class, so go fetch one first

#

Then call .getClass and the issue is resolved

#

Though keep in mind that this method is private, so you may have a few issues

#

then what prevents you from doing blockNms.getClass()?

minor garnet
#

but then I wouldn't have the methods? outside that I shouldnt define what type the block is?, because in some classes there is no method y()? it's weird to think that way

crude charm
vocal cloud
#

Where is that code running? If you want to keep someone out I assume that's the player move event?

crude charm
#

there is nothing to hide here, it's just alot of unrelated code

#

!paste

#

?paste

undone axleBOT
crude charm
quiet ice
tender pond
#

Bump. Does anyone know how I can do this?

arctic moth
#

when the worldgen plugin almost works correctly but doesnt

torn shuttle
#

boys ngl

#

it seems like I have forgotten all about maven in the... 3 years I haven't used it

#

good old use it or lose it memory

plucky cliff
placid birch
#

Is it better performance-wise to write good skripts or bad plugins?

eternal night
#

Well you can go very very bad with plugins

torn shuttle
#

depends on how good the skript is vs how bad the plugin is

placid birch
torn shuttle
#

I'm getting unsupported class file major version 61 when compiling with maven even though supposedly I'm targetting 1.8

#

the hell

eternal night
#

are you shading ?

torn shuttle
#

yeah

eternal night
#

make sure you have the latest shade plugin

crude charm
delicate lynx
#

latest shade version is 3.3.0

eternal night
#

who asked you kekw

torn shuttle
#

fuck me that is what was wrong

#

I was on 3.2.4 or smth

#

thanks

eternal night
#

3.3.4 ? xD living in the future lol

delicate lynx
#

how did that even resolve

crude charm
torn shuttle
eternal night
#

🙏

torn shuttle
#

disgusting 1.4s build time

#

ew

#

icky

#

not at all hot

vocal cloud
#

Switch to a better language like JS. Never compile again hes_UwU

torn shuttle
#

🤘

crude charm
quiet ice
#

So don't be all too disgusted by 1.4 seconds

eternal oxide
#

You clearly are not spending enough time writing code if you worry about a few seconds compile time. Write better code, compile less often 😉

#

Just stop coding bugs... simples

torn shuttle
#

my main project is several hundreds of classes large, last I tested maven on that it took several minutes

quiet ice
#

From experience I can tell that actually compiling something takes not that long

eternal oxide
#

Yeah, Maven hates you for being a traitor

torn shuttle
#

yall just jealous I can compile >60k lines in .1 seconds

eternal oxide
#

She's a jilted lover. You still use her repositories but you never come by to say hi anymore.

torn shuttle
#

I left her for her cool, younger, more hip daughter too

torn shuttle
#

gradle babyyy

hybrid spoke
quiet ice
#

I assume you have never written anything beyond the bare minimum of gradle buildscripts

torn shuttle
#

also not 15 minutes that's for sure

hybrid spoke
quiet ice
#

Oh yeah, the initial build times with gradle are humongus for some projects

torn shuttle
#

I mean the whole point is that you only compile what you need once you do the initial one

#

how many initial builds are you doing a day

#

for massive projects

quiet ice
#

Afaik paper's build time is also in the tens of minutes despite them using gradle

hybrid spoke
#

a few actually

#

8 mins for normal builds

iron glade
#

Does anyone know if it's possible, and if so, how to get the added enchantments from the EnchantItemEvent ?

quiet ice
#

?jd-s

undone axleBOT
iron glade
#

There's a method #getEnchantsToAdd which returns a map

#

yeah

#

Those are the enchantments that could be added if I'm not wrong tho

quiet ice
#

If you just want the enchantment inoke .keySet on it

arctic moth
#

any way to detect when a player has loaded into a world after sending them there?

eternal night
arctic moth
#

or do i just have to use a runnable

#

basically im trying to display a title after the loading screen disappears

quiet ice
#

It's only other plugins that can add those

iron glade
#

No I mean you have like 3 enchantments

#

I need which one exactly was added

quiet ice
#

That was the event

eternal oxide
iron glade
#

#getWhichButton() and then that int from #getEnchantsToAdd() ?

quiet ice
#

The int is the level

#

It's a hashmap - there is no order

#

And that map stores the enchantments that will be applied

iron glade
#

So basically there's no way to see which enchantment was added in that event?

quiet ice
#

Get map of enchantment (levels, keyed by type) to be added to item
Why do you believe that it does something else?

quiet ice
iron glade
#

Alright, thought it lists all enchantments available in the table

quiet ice
#

That would be nonsensical

iron glade
#

ikr

quiet ice
#

Even from a design perspective - why would you want to know what could've been?

iron glade
#

idk

round eagle
#

how do i transfer a player to another server? (bungeecord is installed)

eternal oxide
#

pluginmessagingchannels

#

google

iron glade
#

How to get an enchantments name? enchantment.getKey(). ??

#

as #getName() is deprecated

quiet ice
#

.getKey.getKey

iron glade
#

damn okay

quiet ice
#

Then you might want to do some magic to bring them from the fire_aspect format to the Fire Aspect one

iron glade
#

yeah already taken care of that

#

just had no idea how to get its name

#

ty!

quiet ice
#

(though with translated components you might be able to get away with that)

solid cargo
#

Will anything bad happen if i redirect 100 players at once?

solid cargo
#

Who will get the key of the key of the key?

lilac pier
#

hey guys some french here ?

solid cargo
quiet ice
#

Well any available bandwidth will be gone if you do that

quiet ice
solid cargo
lilac pier
#

so i can write in english don't worry

quiet ice
#

(though in spigot spaces you should stick to the english language)

lilac pier
#

i need help for some plugin someone can help me ?

solid cargo
lilac pier
#

so i try to do some custom tab and scoreboard and on the every plugin i can found i can't place my logo on the both and on scoreboard i don't find how to remove the number in red

solid cargo
#

Can someone unfrench this pls?

#

I dont understand the last part

lilac pier
#

xD

eternal oxide
#

You can;t remove teh number, that is the score

solid cargo
#

Ohhh

lilac pier
#

ohhh

solid cargo
#

He means that

#

Yeah you cant

lilac pier
#

xD

eternal oxide
#

you can set them all to zeros

lilac pier
#

ok so why on a french serv where i play he don't have the number ?

solid cargo
#

Packets/resource pack is my guess

lilac pier
#

ohhhhhh

#

so if i want to put my logo on the scoreboard and the tab i need to to ressource pack or packets ?

solid cargo
#

Yeh probably. Dont get into packets. It will ruin ur liking of coding for minecraft

lilac pier
#

xD

#

@solid cargo can i ask u a favor ?

eternal oxide
#

show a pick of this scoreboard with no numbers

lilac pier
#

i can't on this chat :/

eternal oxide
#

!verify

undone axleBOT
#

Usage: !verify <forums username>

solid cargo
#

Oui

lilac pier
#

!verify L3onis

undone axleBOT
#

A private message has been sent to your SpigotMC.org account for verification!

lilac pier
#

i try to do this thing

solid cargo
#

Thats a resource pack

eternal oxide
#

definitely

lilac pier
#

for the rank too ?

solid cargo
#

Ye

#

There was a plugin ItemsAdder tho

lilac pier
#

how i can do it i never do custom texture pack

solid cargo
#

They might be using that

solid cargo
lilac pier
#

for custom texture pack ?

solid cargo
#

Yes

lilac pier
#

ok thx i gonna check

solid cargo
#

Np

lilac pier
#

i see itemsadder cost 20€ xD

solid cargo
#

Yeah…

iron glade
#

How would I go about getting the amount of levels the enchantment cost?

#

Or is it always level 1: 8 lvl, Level 2: 10 lvl, Level 3: 30 lvl?

quiet ice
#

what exactly do you mean?

iron glade
#

Ah got it

#

even though it's description is kinda irritating

vivid cave
#

i'm in 1.19, what do i need to activate chat preview?

#

just in the settings file

quaint mantle
#

?peint

vivid cave
#

or is there sth else i need to add in code of a plugin

quaint mantle
#

?paste

undone axleBOT
torn shuttle
#
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /C:/Users/Name/IdeaProjects/FreeMinecraftModels/src/main/java/com/magmaguy/freeminecraftmodels/customentity/CustomEntity.java:[3,34] cannot access net.minecraft.world.entity.EntityType
  bad class file: C:\Users\Name\.m2\repository\org\spigotmc\spigot\1.19-R0.1-SNAPSHOT\spigot-1.19-R0.1-SNAPSHOT-remapped-mojang.jar(net/minecraft/world/entity/EntityType.class)
    class file has wrong version 61.0, should be 52.0

huh how does this even happen

#

is that a java version issue?

quaint mantle
#
java.lang.IllegalStateException: Duplicate recipe ignored with ID minecraft:snow
        at net.minecraft.world.item.crafting.RecipeManager.addRecipe(RecipeManager.java:93) ~[?:?]
        at org.bukkit.craftbukkit.v1_19_R1.inventory.CraftShapedRecipe.addToCraftingManager(CraftShapedRecipe.java:58) ~[paper-1.19.jar:git-Paper-58]```
#

the code ```package deepsmp_plugin.deepsmp_plugin;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.event.Listener;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.ShapedRecipe;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;

import java.util.ArrayList;
import java.util.List;

public class ShooterDesign {

public static ItemStack SnowBall;
public static void init() {
    createSnowBall();
}

private static void createSnowBall() {
    ItemStack Ball = new ItemStack(Material.DIAMOND_HOE);
    ItemMeta meta = Ball.getItemMeta();

    meta.setDisplayName(ChatColor.WHITE + "Snow Shooter");
    List<String> lore = new ArrayList<>();
    lore.add(ChatColor.GRAY + "Shoots Snow Balls");
    meta.setLore(lore);

    Ball.setItemMeta(meta);
    SnowBall = Ball;

    ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.minecraft("snow"), Ball);
    recipe.shape("SSS","SHS","SSS");

    recipe.setIngredient('S', Material.SNOWBALL);
    recipe.setIngredient('H', Material.DIAMOND_HOE);
    Bukkit.getServer().addRecipe(recipe);
}

}

torn shuttle
#

ah yeah guess it requires java 17 or smth

#

hm

quaint mantle
#

@noble lantern yo i think your a good support guy can you help i will really appreciate it

delicate lynx
#

you need to use your plugin for the NamespacedKey, not minecraft

#

ask that already exists

quaint mantle
#

how can i fix

quaint mantle
#

i'm not using main class to do that

torn shuttle
#

let me sing to you the song of my people

quaint mantle
#

??

#

any support ?

slate delta
slate delta
#

look img

quaint mantle
#

hmm

#

i dont think so

#

am still a beginner

delicate lynx
#

as stated, ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.minecraft("snow"), Ball); is the problem

#

minecraft:snow is already being used

quaint mantle
#

so do i need to change it ?

delicate lynx
#

do not use NamespacedKey.minecraft

#

you use your plugin instead

quaint mantle
#

the plugin was working but when i added the Bukkit.getServer().addRecipe(recipe); it starts givin me this

quaint mantle
#

this will give me red line

delicate lynx
#

pass it your plugin's instance

quaint mantle
#

search in youtube you will find many videos

ashen quest
#

hey guys, does anyone know that glitch when you are on an edge and when you break the block, (the block break error is cancelled)

but you get teleported to that block y level, basically if u keep mining down and down you are floating on an invisible edge

i want to cancel this

quaint mantle
digital rain
#

Hey, I have an issue, I'm calling an EntityDamageByEntityEvent using public static void ninjaHit(EntityDamageByEntityEvent e, int time) { Main.instance.getServer().getScheduler().runTaskLater(Main.instance, new Runnable() { public void run() { ((LivingEntity)e.getEntity()).setNoDamageTicks(0); Bukkit.getPluginManager().callEvent(new EntityDamageByEntityEvent(e.getDamager(), e.getEntity(), e.getCause(), e.getDamage())); } },time); } and it actually triggers, but for some reason the damage is not executed

#

basically im trying to do like that when smbd hits someone it hits him twice

quaint mantle
ashen quest
#

.

delicate lynx
#

he cut off his error, but his error is from using the same namespace as another recipe

quaint mantle
delicate lynx
#

you need to put your plugin's instance there

quaint mantle
#
public class ShooterDesign {

    public static ItemStack SnowBall;
    public static void init() {
        createSnowBall();
    }

    private static void createSnowBall() {
        ItemStack Ball = new ItemStack(Material.DIAMOND_HOE);
        ItemMeta meta = Ball.getItemMeta();

        meta.setDisplayName(ChatColor.WHITE + "Snow Shooter");
        List<String> lore = new ArrayList<>();
        lore.add(ChatColor.GRAY + "Shoots Snow Balls");
        meta.setLore(lore);

        Ball.setItemMeta(meta);
        SnowBall = Ball;

        ShapedRecipe recipe = new ShapedRecipe(NamespacedKey.minecraft("snow"), Ball);
        recipe.shape("SSS","SHS","SSS");

        recipe.setIngredient('S', Material.SNOWBALL);
        recipe.setIngredient('H', Material.DIAMOND_HOE);
        Bukkit.getServer().addRecipe(recipe);
    }
}
#

i have 4 classes

#

lol

delicate lynx
#

?learnjava

undone axleBOT
quaint mantle
#

bro

#

Bro can u send me the code to fix ?

delicate lynx
#

?spoonfeed

#

bruh I cannot type commands

#

I am not going to write code for you that you won't understand

quaint mantle
#

Bro give me something easy to understand

delicate lynx
#

?di

undone axleBOT
delicate lynx
#

read that

river oracle
#

Static abuse 💀

delicate lynx
#

yeah...

#

I was gonna comment on that, but I highly doubt they will understand

quaint mantle
#

Hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

chrome beacon
undone axleBOT
#

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

delicate lynx
#

there it is

quaint mantle
#

some day i will come back

#

or maybe after a minute

ornate mantle
#

im acc gonna kill myself

#

i keep getting IllegalArgumentException

#

but the arguments are perfectly within the java laws

river oracle
# quaint mantle ikr

If you don't wanna be open to learn feel free to stop trying to code it requires code 🥲

river oracle
chrome beacon
#

^

ornate mantle
#
    public List<PotionEffect> getEffectsFor(int deathNumero){
        potionEffectList = new ArrayList<>();
        this.config.getList("deaths." + deathNumero).forEach(__effectList -> {

            List<Object> effectList = (List<Object>) __effectList;


            potionEffectList.add(
                    new PotionEffect(
                            PotionEffectType.getByName((String) effectList.get(0)),
                            Integer.MAX_VALUE,
                            (Integer) effectList.get(1)
                    )
            );
            LivesMain.getInstance().getLogger().log(Level.INFO, effectList.get(0) + " is the effect name, and " + effectList.get(1) + " is the amplifier");
        });



        return potionEffectList;
    }```
ornate mantle
#

the config is

chrome beacon
#

Use di ;/

#

?di

undone axleBOT
ornate mantle
#
deaths:
  '1':
  - ["speed", 12]
  - ["haste", 10]
#

this is the config

#

no its formatted wrong

chrome beacon
#

A section with a list of lists

#

Ok

river oracle
#

Also a better format would be like haste:10

ornate mantle
#

no thats just gonna be confusing

eternal oxide
#

we already did this yesterday with Maps

digital rain
#

&callEvent problem

ornate mantle
river oracle
#

Wait now that you've changed the format a map is better

#

String int map

eternal oxide
# ornate mantle alr

Explain what you are trying to achieve. End goal. As you seem to be changing your approach every day

#

You seem to just be getting all the effects in all the sections under "deaths" and adding them to a Big old List

quaint mantle
#

ok am back

kind tusk
#

the player cannot write to the chat, while an error is displayed in the console

#

"sent message with invalid signature"

#

I use the plugin Chatty

ashen quest
quaint mantle
eternal oxide
#

?paste

undone axleBOT
opal juniper
#

Thats not the whole error

quaint mantle
#

ok wait

#

the whole error

ashen quest
#

minecraft:snow already exists

river oracle
ashen quest
#

haha Y2K_ remember the time u beat me in trivia cause u typed faster

small current
#

guys if an inventory gets closed for everyone and not saved in any list or hashmap, will it cause any memory leak if i have some player objects in it's holder ?

quaint mantle
#

?

river oracle
quaint mantle
#

means

#

.

river oracle
ashen quest
river oracle
#

this guy is an idiot and unwilling to learn properly

ashen quest
#

^^

river oracle
#

I guess those two are the same thing

ashen quest
#

they are

quaint mantle
#

my pc sucks

ornate mantle
quaint mantle
#

its takes ages to open google

ashen quest
delicate lynx
#

if it takes ages to open google, how are you playing minecraft

ashen quest
#

^^

river oracle
quaint mantle
delicate lynx
#

recipes cannot overlap with names

quaint mantle
#

i play on 30 - 20 fps

ashen quest
#

i actually learnt all the countries the trivia bot asks

river oracle
ashen quest
#

ok my g go #bot-commands

#

update: this guy is godly

small current
#

how can i change the title of an inventory in 1.17.1 api

delicate lynx
#

you can only set the inventory name when it's created, you can't update it after

ivory sleet
#

re open a new inventory with another title might work

#

Atho hacky

river oracle
#

though u could use nms and packets

small current
#

ok but which packet

river oracle
#

no clue just know its possible

ivory sleet
quaint mantle
#

;)

river oracle
#

what are you doing

eternal night
#

you open an inventory with the same menu id

#

but different title

#

horribly hacky

#

but oh well

ivory sleet
#

Wonder if that resets the cursor’s position on the screen

eternal night
#

if it is the same menu id it should not

#

but like

#

hackssss

ivory sleet
#

Hacker 0shinymunch

eternal night
ashen quest
dusty herald
#

SO SHE SORRY DO SEE STILL A SAIDHUH

river oracle
# ashen quest wdym

there is a massive delay between the break and regeneration no way your not using something besides e.setCancelled for that

ashen quest
#

I am using e.setCancelled

#

I am using HIghest priority as well

river oracle
#

whats with the lag?

#

I've never seen lag that bad from it

dusty herald
ashen quest
ashen quest
#

wait

dusty herald
#

or just set their gamemode to adventure when you don't want them to build

ashen quest
#

wont lowest make it go last?

dusty herald
#

nope

#

Monitor is ran first, then highest is ran last iirc

ashen quest
ashen quest
dusty herald
#

not really?

#

it makes a lot of sense

ashen quest
#

why is highest in the bottom?

#

if highest means highest priority, it should be on the top no?

dusty herald
#

oh my bad monitor is last lowest is first

ashen quest
#

thats even more funny

#

so it goes
low
lowest
high
highest
monitor?

dusty herald
#

yes

small current
dusty herald
#

This pretty much explains it tho

#

HIGHEST -> "Event call is critical and must have the final say in what happens to the event"

river oracle
eternal night
dusty herald
#

read the javadocs

small current
#

Cast to craftinventory

#

GetInventory

#

And then

dusty herald
#

is that Lego Batman

small current
#

My pfp?

dusty herald
#

yes

small current
#

Thats general kenobi

dusty herald
#

Don't lie to me. I can see it's Lego Batman.

#

I'm so thirsty bro but I don't wanna get up

eternal night
small current
#

Can you tell me what to do pls?

eternal night
#

this is NMS

#

you gotta dig yourself dude

small current
#

ahhhh

small current
eternal night
#

its mojang mappings

#

dunno what you are using

small current
#

im using gradle

#

and could not find

#

a good way to use mojomap

ivory sleet
#

Paperweight userdev

#

Altho that adds paper api to your classpath

#

But you get access to cool stuff

small current
#

its net.minecraft.world.inventory.Container

ivory sleet
#

Like a dev env with a runnable server inside your ide

#

And a remapper

small current
#

ok how can i use this Container thing

eternal night
#

basically easiest is nms's Player.containerMenu.containerId. Returns the current open inventory container id

ornate mantle
#

ok

#
test:
  - i_love: lean
  - asd: abc```
#

lets say i dont know what the values inside test are

ashen quest
#

#DehyradtedButStillBinging

ornate mantle
#

how would i get both "i_love" and "lean"

#

into one string

ashen quest
#

get the key, and then get its value

dusty herald
#

.get keys(true)

small current
eternal oxide
ornate mantle
#

i changed the yaml

eternal oxide
#
deaths:
  '1':
    speed: 12
    haste: 10```
ashen quest
#

btw guys, how does one make an array of objects in yaml

ornate mantle
#

I DID

ashen quest
eternal oxide
#

so long as your effect name is correct that code is fine

ivory sleet
#

or

  • a
  • b
ashen quest
#

how would u add props to a?

dusty herald
#

props?

ivory sleet
#

Wym props?

dusty herald
#

what is this gmod?

ivory sleet
#

Lol

ashen quest
#

properties

dusty herald
#

what kind

ivory sleet
#

key:

  • epic: zhom
    Dodo: [a, {d:c}]
#

Or sth

dusty herald
#

brains.

#

gone.

ivory sleet
#

Reduced to atoms >:)

dusty herald
#

Reminds me of the async repo

ivory sleet
#

Hehehehe

ashen quest
#
arr:
  - myObject:
    dingus: yes
  - objectNumberTwo:
    dingus: no

smth like this

ivory sleet
#

Yes

ashen quest
#

a list of objects with have properties in them

ivory sleet
#

List<Map<?,?>>

#

Basically

tardy delta
#

my eyes

eternal night
ashen quest
ivory sleet
#

Or if you want it more compact

ashen quest
#

yep

dusty herald
ashen quest
#

yea

#

json obj arrays are better tho

ivory sleet
#

[{k1:v1},{k2:v2}]

dusty herald
#

Ok then just store java in yaml

ashen quest
ivory sleet
#

Json is yaml basically

dusty herald
#

I mwan

#

Jdon

#

json

ivory sleet
#

So go for json if you want to

tardy delta
#

lets store json in the database

ivory sleet
#

Yaml accepts that

dusty herald
#

I store json into MySQL / Sqlire

tardy delta
#

good

ashen quest
ashen quest
#

speed? we dont have that

small current
#

in paper

eternal night
#

no

#

that is a PR

#

I am telling you to look how that PR is doing it

#

and reading

eternal oxide
#

You will also need to increase those values as those are in ticks

ornate mantle
#

theyre the amplifiers

small current
ornate mantle
#

for some reason

#

it gets the speed

eternal oxide
#

ah yep, using max int for duration

ornate mantle
#

but not the haste

eternal oxide
#

haste is not a valid effect

ornate mantle
#

oh for fucks sake

#

NO WAIT

eternal oxide
#

Haste is SPEED

ornate mantle
#

im using getByName

eternal oxide
#

yes, still needs a valid name

oblique wigeon
#

trying to make always-visible nametags, with a negative sized slime and an armorstand (they are visible purely for testing purposes)
how can I make the name closer to the head of mob, perhaps even adding multiple lines?

lost matrix
#

Isnt haste DIG_SPEED ?

small current
#

yes it is

ornate mantle
#

yeah but

#

wait no listen

eternal oxide
#

so SPEED and FAST_DIGGING

ornate mantle
ornate mantle
#

the name is "haste"

eternal oxide
#

no, the in game name is probably haste

ornate mantle
#

bruh

ornate mantle
eternal oxide
ornate mantle
#

do i need to make it caps too

oblique wigeon
eternal oxide
#

^ That table covers every effect

lost matrix
# oblique wigeon 1.19

You can do a lot of different things with different entity hitboxes.
One entity can have multiple mounts at once.

slate delta
#

Why?

        NamespacedKey key = new NamespacedKey(this, "bottttle");
        ItemStack itemStack = new ItemStack(Material.BOTTLE);
        CampfireRecipe recipe = new CampfireRecipe(key, itemStack, Material.MAGENTA_BANNER,100);
        Bukkit.addRecipe(recipe);

Cannot resolve constructor 'CampfireRecipe(NamespacedKey, ItemStack, Material, int)'

lost matrix
oblique wigeon
ornate mantle
#

ok it works

slate delta
ornate mantle
#

no errors too :O

oblique wigeon
#

i'm not connecting the dots ahah

lost matrix
river oracle
slate delta
#

I am new in the dev java with spiggot

lost matrix
slate delta
#

that it ? (float) 100);

lost matrix
#
CampfireRecipe(NamespacedKey key, ItemStack result, RecipeChoice input, float experience, int cookingTime)
CampfireRecipe(NamespacedKey key, ItemStack result, Material source, float experience, int cookingTime)
slate delta
#

oh sorry

vivid cave
#

i'm in 1.19, what do i need to activate chat preview?
only in the settings file
or is there sth else i need to add in code of a plugin

oblique wigeon
oblique wigeon
#

oh, i see

#

so i would make the hitbox of the armorstand smaller

lost matrix
#

It should be a marker anyways. So the hitbox will be 0

vivid cave
# lost matrix Isnt this a client setting?

pretty sure it's a server thing too, the true reason mojang added that was that so servers can't modify messages after they are sent, they could only modify it while the message is being typed (and the player would see the preview live), so that mojang can sign the message (goes along their report system too)

oblique wigeon
oblique wigeon
#

because I don't see how to do that

#

would it require another nms implementation?

lost matrix
#

.setMarker(true)

oblique wigeon
#

armorstand

#

into a marker

#

i thought marker was a seperate entity ahah

ivory sleet
#

Believe that was the initial implementation plan for mojang

#

But they altered it to that

digital rain
#

is it possible to make zombies target passive animals?

ivory sleet
#

Most likely need to mess with the target selector

#

or well if an api exists for it

lost matrix
#

I would try Mob#setTarget(LivingEntity)
If that doesnt work then nms ai tinkering

digital rain
#

yeah it doesnt work

ornate mantle
#

why cant i give a player an effect when they respawn

crimson terrace
eternal oxide
#

you can, at teh correct time

lost matrix
ornate mantle
eternal oxide
#

ie, not in the respawn event

crimson terrace
#

its the one tick, for respawn things it is 99% of the time

ornate mantle
#

doesnt playerrespawnevent run right after player has

#

you know

#

respawned?

crimson terrace
#

is it cancellable?

ornate mantle
#

dont think so

crimson terrace
#

nvm its not

eternal oxide
#

During the respawn event you are neither dead nor respawned. You are not even in the getOnlinePlayers().

lost matrix
#

Events are generally called before something happens. Unless its phrased as in the past.
For example PlayerChangedWorldEvent

#

Because the event can alter the outcome.

ornate mantle
#

oh yeah the delay works

ornate mantle
#

that means the event is triggered after the stuff has happened?

lost matrix
#

Doesnt matter. You could still change parameters.

ornate mantle
#

i should give up programming and become a bakery owner

eternal oxide
#

Generally, if it is cancellable it fires before the actions. However the respawn even it not cancellable ut does happen before you respawn, so you can alter the respawn location.

ornate mantle
#

oh

#

yeah that makes sense

#

but thats generally not the case?

eternal oxide
#

generally no

lost matrix
#

Events are always fired before something actually happens.
Unless the phrasing implies otherwise. Eg
PlayerChangedWorldEvent

worldly ingot
eternal oxide
#

Kinda. PlayerBreakBlockEvent actuall yfires after the action, but before the server processes it.

worldly ingot
#

cc @vivid cave because I didn't ping in the reply out of habit

ornate mantle
#

its fired when the client actually breaks it

lost matrix
#

So its still fired before something actually happens.

worldly ingot
#

In the BlockBreakEvent specifically, it's actually called after iirc and the result of the event is updated on the client after the fact

#

I'll double check that, but yeah, generally it's before the action occurs

lost matrix
eternal oxide
#

Mojang

worldly ingot
#

because of all the various edge cases and conditions that occur when breaking a block

lost matrix
#

I think it prevents the breaking server side and then sends the client an update based on the outcome

ornate mantle
#

lmao

#

all this because some fish decided to come out of the water

zenith gate
#

Does anyone have a resource for world generation. Im ready to dip my toes in the ocean. Google no help

raw sky
#

thoughts on using vim/vsc instead of intellij/eclipse?

worldly ingot
#

I knew it was handled differently than most

worldly ingot
#

but yeah, it's called mostly after

lost matrix
small current
#

@eternal night the inventory is empty

raw sky
#

I just like how vsc is so minimal, but love the features of intellij

small current
eternal night
#

you did not

steel swan
#

hey so i have a question.
I have 2 different classes.
In each class, i have a command called /ns
in each of them, i create like a different thing happenning for each args.
Ex : in class 1 i say what happens for /ns test
ans in class 2 what happens for /ns create.
How do i import BOTH of them in my main class (in the onEnable thing).
Will having that command in 2 classes create a problem?

eternal oxide
#

you don't

delicate lynx
#

why are you splitting them?

lost matrix
small current
eternal oxide
#

you use one registered command handler per command, then farm out args as you want

steel swan
eternal oxide
#

no

#

you don;t register args

#

you register ns

lost matrix
zenith gate
#

?jd-s

undone axleBOT
eternal oxide
#
onCommand(... ) {
    if (args.length > 0) {
        switch (args[0].toLowercase()) {
        case "test":
steel swan
#

ok so if this is my first class

package template.uhc.uhctemplate.roles;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class RoleN1 extends JavaPlugin{

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        Player player = (Player) sender;

        if(command.getName().equalsIgnoreCase("test")){
            player.sendMessage("test passed");
        }

        return false;
    }
}

do i implement it like this in my main :

package template.uhc.uhctemplate;

import org.bukkit.command.CommandExecutor;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
import template.uhc.uhctemplate.roles.RoleN1;

public final class UhcTemplate extends JavaPlugin implements Listener {

    @Override
    public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);
        this.getCommand("test").setExecutor(new RoleN1());
    }



}

#

?

eternal oxide
#

I thought your command was /ns

lost matrix
#

You cant have two JavaPlugin classes

#

None of this should compile. You IDE should yell at you.

steel swan
eternal oxide
#

none of that code will work, but you are only registering a command called test. nothign like what you asked

steel swan
steel swan
eternal oxide
#

sorry but.

#

?learnjava

undone axleBOT
lost matrix
torn shuttle
#

what's dabbin kids 🖖 anyone have a cool 😎 guide that is up-to-date on a sane 🤯 way of doing nms with mappings 🗺️ plus probably reflections 🪞 for multiple minecraft server versions that doesn't make me want to 😃 🔫 game end myself?

eternal night
#

?ban

lost matrix
#

?expel

eternal oxide
#

mbaxter has an example on github for a multimodule nms

torn shuttle
eternal oxide
#

I've not seen that

torn shuttle
#

I also really do not envy people trying to compile this garbage from source considering it seems like it would require running buildtools with mappings for every single version I deem fit to support

eternal oxide
#

you can do that with a simple script though

torn shuttle
#

yeah I can 😎

#

guess maybe I'll play nice and give people the script in the source

#

alright well

#

off I go on an adventure

eternal oxide
#

yes

steel swan
#

ok so :
if i have 2 classes
first one :

package template.uhc.uhctemplate.roles;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;

public class RoleN1 implements CommandExecutor, Listener {

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        Player player = (Player) sender;

        if(command.getName().equalsIgnoreCase("test")){
            if(args[1].equalsIgnoreCase("test1")){
                player.sendMessage("test1");
            }
        }

        return false;
    }
}

second one

package template.uhc.uhctemplate.roles;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;

public class RoleN2 implements CommandExecutor, Listener {

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        Player player = (Player) sender;

        if(command.getName().equalsIgnoreCase("test")){
            if(args[1].equalsIgnoreCase("test")){
                player.sendMessage("test");
            }
        }

        return false;
    }
}

what do i put in my onEnable

lost matrix
steel swan
#

so this ?

@Override
    public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);
        this.getCommand("test").setExecutor(new RoleN1());
        this.getCommand("test").setExecutor(new RoleN2());
    }
lost matrix
lost matrix
steel swan
#

so its not possible to have those 2 classes?

#

i need to put that command on 1 class?

eternal oxide
#

a command of /ns xxx is one command

#

/ns is the command

#

xxx are arguments

steel swan
#

i know

#

but i want to put some arguments in a class and some in an other

eternal oxide
#

you have ONE class registered to handle /ns

#

then use teh code I showed you to pass off arguments to any class you want

steel swan
lost matrix
eternal oxide
#

that goes in the class you registered as the CommandExecutor

undone axleBOT
trail oriole
#

you could make a basic constructor to switch it

#

like if true put false and otherwise

#

idk if ! would work

#

like put the opposite ?

#

what's the line containing ! ?

#

i mean you could try it out

#

no

#

getBoolean gets a value

steel swan
#

ok so

trail oriole
#

i'd say yes

#

and you need a playerConfigMap.set to change a value, you can't change one through a get

#

Is it possible to make a yml file variable both a parent path, and a variable holder ?
like slot: 1 player:someone

ivory sleet
#

Thats invalid

ivory sleet
#

the value cant be both a config section and an integer

trail oriole
#

then should I make slot1, slot2... then get the last character of slot, and toInteger() it ?

#

or something like that

#

you put your scheduler in the BlockBreakEvent

steel swan
vivid cave
worldly ingot
#

Correct

#

Doesn't exist

vivid cave
#

but my client (1.19) does have this setting

eternal oxide
#

F3+F4 breaks after a skin change

vivid cave
#

ah

#

i see, i quit this project anyway, too many complication, but thanks!

eternal oxide
#

ah 🙂

steel swan
vivid cave
#

animated skin won't be on mc for a while i guess 😄

eternal oxide
#

I did try a few tings, like sending an update packet for their profile, but that kills the client as it only accepts it during login

vivid cave
#

oh good try

trail oriole
#

make the scoreboard on a seperate class/function, not the BlockBreakEvent one. During the BlockBreakEvent, change the value you need changed, and call them from the config afterward in the scoreboard function

vivid cave
eternal oxide
#

yeah, nightmare

vivid cave
#

What would still be very possible to do though is animate only the head
With a player head worn as helmet its just about updating the player's equipment tbh
I have already done that in a previous project (animated rainbow armor project with customizable color stops & durations) and it worked successfully

sage patio
#

whats wrong?

vivid cave
#

So the program would split in two parts, uploading the frames to mineskin (so each frame are signed) and updating the helmet every 100ms

sage patio
quaint mantle
#

Click on the textcomponent arg

#

ctrl + alt + shift + left arrow

eternal oxide
#

did 1.8 support action bar?

tardy delta
#

1.8 oh god

#

cant find chatmessagetype in 1.8.8

quiet ice
#

I do not think so

solid cargo
#

is there any like event on bungee that does "ah a new player is connecting but not connected yet"

eternal oxide
#

yes

ivory sleet
#

Very much yes

eternal oxide
#

?jd-bungee

ivory sleet
#

?jd-b

eternal oxide
#

?jd-b

ivory sleet
#

Wait

#

?jd-bc

solid cargo
#

oh right i forgot about javadocs

eternal oxide
#

eff you words

quaint mantle
#

?jd-bcc

hollow beacon
#

?jd-bcc

solid cargo
#

ServerConnectEvent??

#

oh no thats server not proxy

solid cargo
#

thanks

#

bruh the ign is not known then yet tho

#

PostLoginEvent it is then

eternal oxide
#

of course not

solid cargo
#

idk ig this might work just fine

hollow beacon
#

use tenery operators

solid cargo
#

oh

#

PlayerHandshakeEvent

hollow beacon
#

so

ServerInfo info = ProxyServer.getInstance().getServerInfo(c == 0 ? "lobby1" : "lobby2");

solid cargo
#

🤝

#

okey

ivory sleet
#

You dont have to use it

#

But yeah can be nice

hollow beacon
#

no its a tip

ivory sleet
#

Sometimes if the expression is small it might add readability

hollow beacon
#

yes true

solid cargo
#

i dunno i like the not so efficient way

#

easier for me to read

hollow beacon
#

or u can do

ServerInfo info = ProxyServer.getInstance().getServerInfo("lobby" + c+1);

ivory sleet
#

Another way lol

solid cargo
#

bro im coding on an autobahn while going back to the home country

#

its quite cool

ivory sleet
#

Sounds like a true programmer

eternal oxide
solid cargo
#

yeeee

ivory sleet
#

If you dont have any problems, just make some PepeHappy

solid cargo
#

hmmm

#

delete the whole building championship plugin code that took me like 100 hours or so to make

swift ingot
#

anyomee use google cloud

solid cargo
#

github >>>

#

she's a 10/10 but uses google drive to save code

ivory sleet
#

-100 /s

solid cargo
#

wdym /s

#

no sarcasm needed

ivory sleet
#

🥲

quaint mantle
#

Can anyone send me tutorial to learn java fast ?

solid cargo
#

?learnjava

undone axleBOT
tardy delta
#

fast af

quaint mantle
#

U have video?

solid cargo
#

there was 1 guy i liked

#

alex lee

quaint mantle
#

Breh

solid cargo
#

Alex Lee makes great java tutorial

#

*made

tardy delta
#

im looking thro geekforgeeks for the whole day now, nothing better to do :(

lost matrix
#

Doesnt get much faster

ivory sleet
#

Videos are hard

#

It becomes messy when you wanna go back

quaint mantle
ivory sleet
#

And look at something referentially

solid cargo
#

one day they be like printing hello world and the other day they make a video on how to make a self driving car from scratch

quaint mantle
ivory sleet
#

Truth be told, you cant learn Java in 1 day

hollow beacon
#

i learned java with PogoStick29Dev

ivory sleet
#

Thats impossible, anyone who says or claims that lies

quaint mantle
quaint mantle
ivory sleet
#

If that was so easy people wouldnt tell you the secret of how to learn X thing in Y minutes

quaint mantle
#

I will check it out tmr