#help-development

1 messages · Page 1872 of 1

wet breach
#

however given that unix sockets are in Java 16 and 17, it might not be necessary to need a connection pool anymore to communicate effectively with MySQL 😛

tardy delta
#

i dont know anything about nms

winter mesa
#

i don't even know this abbr

#

XD

#

abbreviation

#

NMS

wet breach
#

unix socket is far more efficient then TCP connection pooling if both server and DB are on the same system and even more secure

young knoll
#

Turns out it gives you a proxy that implements the Connection interface.

#

You are meant to close said proxy after use

#

Which doesn’t actually close the jdbc connection

wet breach
#

sounds more like it lol

#

maybe I should create a new SQL lib for people that makes use of native unix sockets in java 🙂

tardy delta
winter mesa
#

ok ty

#

do u know a way to make Player entities not using nms?

tardy delta
#

u trying to make npc's?

winter mesa
#

Yesss

winter mesa
#
private void createObara(BlockPlaceEvent e) {
        double x = e.getBlock().getX();
        double y = e.getBlock().getY();
        double z = e.getBlock().getZ();
        float f1 = e.getBlock().getLocation().getPitch();
        float f2 = e.getBlock().getLocation().getYaw();
        Location loc = e.getBlock().getLocation();
        Server server = Bukkit.getServer();
        World world = e.getBlock().getWorld();

        MinecraftServer nmsServer = ((CraftServer) Bukkit.getServer()).getServer();
        WorldServer nmsWorld = ((CraftWorld) e.getPlayer().getWorld()).getHandle();
        GameProfile gameProfile = new GameProfile(UUID.fromString("a62fbd6e-6f55-11ec-90d6-0242ac120003"), "micobar69");
        EntityPlayer mobara = new EntityPlayer(nmsServer, nmsWorld, gameProfile);
        Player mobaraGolem = mobara.getBukkitEntity().getPlayer();
        mobara.teleportTo(nmsWorld, x, y, z, f1, f2, PlayerTeleportEvent.TeleportCause.PLUGIN);
        Entity mobaraEntity = mobara.getBukkitEntity();
        System.out.println(mobaraEntity);
        world.getEntities().add(mobaraEntity);
        mobaraEntity.teleport(loc);

    }

I'm trying to do so with nms

young knoll
#

I would recommend citizens

tardy delta
#

ah shit

#

createObama

#

ah yes

winter mesa
#

XD

#

what?

#

wdm

tardy delta
#

check the link i sent

#

^^

winter mesa
#

Ok

tardy delta
#

i stopped with creating nps's as it is a pain

winter mesa
#

I need it very simply

#

oh

#

no

#

i didnt mean that

#

i need very specific behavior

#

but for very simple cause

#

i don't need to do it simply XD

#

i miswritten

tardy delta
#

what are you looking for?

winter mesa
#

Do you know how to cast it to EntityHuman? that's what PacketPlayOutNamedEntitySpawn take as an argument

tardy delta
#

why does it needs to be a player and not an entity?

winter mesa
#

hm

#

i don't really see a difference. I need some kind of "Steve" to do at least wandering around, writing chat, and simple interaction events

#

and really trying to do it with nms

chrome beacon
#

Another NPC plugin?

winter mesa
#

noo

#
EntityHuman mobaraHumanEntity = mobara.getBukkitEntity().getHandle();
#

ok got it

#

getHandle

tardy delta
#

a "steve" is just an entity without a skin

winter mesa
#

i need it with

tardy delta
#

its the default skin

#

check out the gameprofile

winter mesa
#

mobara01

#

the nick there is wrong

#

Sorry for all the confusion

tardy delta
#

i think you are trying to add a skin to an npc?

winter mesa
#

At first im just trying to even make this npc spawn and be visible

#

then i'll worry about the details

tardy delta
#

if you check the link i sent you with the #showTo method that's all you need ._.

winter mesa
winter mesa
#

do i need to build it?

#

oh ok

#

i see

#

nvrmnd

tardy delta
#

just copy that method ._.

winter mesa
#

yes sorry

tardy delta
#

i think you need a playerinteractmanager too

winter mesa
#

it's needed for movement etc.? or to spawn too?

tardy delta
winter mesa
#

u know maybe how to maven add this dev.jcsfotware?

tardy delta
#

what

chrome beacon
#

Are you trying to add his project via maven

winter mesa
#

i need to use
import dev.jcsoftware.asdasd

#

no

tardy delta
#

thats his package name

#

you could download the jar and build it maybe idk

#

or just copy stuff

#

._.

winter mesa
#

ohhh never mind he wrote sth like

chrome beacon
#

Why not just use Citizens or zNPCs

#

If you're stuck

tardy delta
#

because he wants to write his own

#

oh

winter mesa
#

public class asd implements dev.jcsfottware.npcs.NPC {}

winter mesa
#

and he created interface

#

before

chrome beacon
winter mesa
#

my fault

tardy delta
#

true i'm bad :kekw:

#

but he should atleast know how to add the npc to the world and make it visible

chrome beacon
#

NPCs and NMS is not what a beginner should be messing with

#

Use other plugins and their apis if you need npcs

#

Many servers will have things like Citizens and Protocollib

#

So just use them

left swift
#

I can show u full code on dm if u want, and as for those markers, it was enough for me to delay their setting by 1 second.

winter mesa
#

If it's so painful to you to answer in channel help-development u don't need to do so, im just trying to learn this

#

I know i can use shortcuts like citizens

chrome beacon
#

Shortcuts aren't bad. You can comeback to this later when you have more experience

winter mesa
#

this tutorial will help me a lot thank you @tardy delta

analog prairie
#

How can I get Block name for different language?

#

event.getBlock().getBlockData().getAsString()

left swift
#

It is possible to lower the entity on the y-axis, but that it still walks on the blocks as if it was not lowered? For example, a pig lowered by 1 block on the y-axis, but behaves as if it was not lowered, so it keeps jumping on blocks, walking, etc. I don't want to use packages here.

young knoll
#

Afaik the server doesn’t have any language data

analog prairie
#

got it

winter mesa
vagrant edge
#

hello there, i was trying to filter one or more item in a player inventory, but i can't find the method. I was trying to use the #stream().filter, with no success. Help?

ping me in case

winter mesa
#

How to add citizens api or any external lib to developing a plugin? (maven)

vocal cloud
winter mesa
#

It was created automatically with Inteliij

vagrant edge
winter mesa
#

where to find information about this dependency? (group id artifact id repository url etc)

proud basin
#

on their github probably

winter mesa
#

than kyou 🙂

round elbow
#

java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper this happens when trying to instantiating ObjectMapper even though it is implemented as dependency in my gradle file


repositories {
    mavenCentral()
    maven {
        url = uri("https://papermc.io/repo/repository/maven-public/")
    }
}

dependencies {
    compileOnly("io.papermc.paper:paper-api:1.18.1-R0.1-SNAPSHOT")
    testImplementation("org.junit.jupiter:junit-jupiter-api:5.8.2")
    testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")


    implementation("org.mongodb:mongo-java-driver:3.12.10")
    implementation("com.fasterxml.jackson.core:jackson-databind:2.13.1")
    implementation("com.googlecode.json-simple:json-simple:1.1.1")
}

chrome beacon
#

Use the library loader or shade it

round elbow
#

and how can i do that?

chrome beacon
#

Which one

round elbow
#

lib loader

#

or shading

#

the easier

#

one

chrome beacon
#

Read the 1.17 release post for how to use the library loader

#

Basically add this to the plugin.yml

libraries:
    - com.fasterxml.jackson.core:jackson-databind:2.13.1

round elbow
#

okay

#

thats'

#

that's it?

chrome beacon
#

Yeah

round elbow
#

oh

#

that fixed it

#

thank u so much

timber dove
#

Hello I made maps look like Xbox edition but there are shadows under the cursor, I am using map initialization event

chrome beacon
#

You mean the black lines

#

If so show your code

#

?paste

undone axleBOT
timber dove
kindred valley
#

what plugins do you guys recommend to use on intellij

misty current
#

how can I add lines above the player? I've tried putting an armorstand riding the player but the lines are too far from the name

vagrant edge
misty current
#

IIrc you can do some tricks with slimes can't you

chrome beacon
#

Small armor stands

young knoll
#

Doesn’t change the name height last I checked

#

AreaEffectClouds

chrome beacon
#

Ah

spiral light
#

well... EntityPlayer extends some stuff that extends other stuff but at least it extends EntityPlayer too ^^

torn crescent
#

Hey, I am trying to write a Chat Input API for me with an automatic check if the correct datatype was written.

If I want a String Input for example I use this:

                new ChatInput<String>(String.class)
                        .message(Message.SKULL_INPUT_ENTER_URL.get())
                        .title(Title.of(Message.SKULL_INPUT_ENTER_URL_TITLE.get()))
                        .response((input, canceled) -> {
                            // Abfrage, ob die Eingabe abgebrochen wurde
                            if (canceled) { // <-- This should be noticed as Boolean
                                
                            }
                        })
                        .start(player);```

But the variables in #response are only comming back as <Object,Object>, even though they should be <String, Boolean>.

The ChatInput Class is on https://pastebin.com/9ttXjgM4, can you help me with that?
misty current
misty current
chrome beacon
#

Try small slimes then

#

Or you know update

misty current
#

i've managed to do something like this lol

#

the line is pretty close to the name

#

the armorstand is marker and is above the slime

spiral light
#

because thats wrong ^^

tardy delta
#

what happens when i wrap a method that returns something in a CompletableFuture.supplyAsync?

#

where the storage.load returns a D object

chrome beacon
#

It will return an uncompleted future

#

So you will need to complete it somewhere

spiral light
# tardy delta i stopped with creating nps's as it is a pain

its not pain ... you can just spawn a other mob (villager for example) and define its pathfinder-goals/targetgoals ... if a packet with that entity id to spawn is send you just send your player with that entity id .... and all other packets automatically will update your player ...

tardy delta
ancient plank
tardy delta
#

i'm following conclure's code which he suggested lol

chrome beacon
#

Wrong channel

spiral light
tardy delta
#

so to solve that issue i would need to save my user cache in the same class as the mysql storage logic 😳

#

and just put the retrieved user inside the cache instead of returning it

spiral light
tardy delta
#

wha-

chrome beacon
#

?xy

undone axleBOT
dense geyser
#

not without reflection, but it wouldnt actually change the variable name

#

and no, you cant name a variable a number anyway

chrome beacon
#

Why do you want to change the name

#

It doesn't matter

tardy delta
#

i dont understan your poblem

#

typing aids smh

dense geyser
#

poblem

tardy delta
#

my fingers are dead

dense geyser
#

mine are just frozen from walking about college

tardy delta
#

i think you want to append the data to the string

#

instead of returning the first line of the file

#

oh also possible

#

take a file object or file name as parameter?

#

also dont make your stuff static

round elbow
#
    public <T> void setJsonValue(T t) {
        try {
            writer.write(mapper.writeValueAsString(t));
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

this is how i saved it

// onEnable method
JsonManager manager = new JsonManager("database");
manager.setJsonValue(new DBJsonSettings("dbname", "PASS", "CNCTSTRING"));

this is the file from the inside atm
{"connection_string":"CNCTSTRING","databaseName":"dbname","password":"PASS"}

is there a way to make the json format intended? it looks trash as a single line

tardy delta
#

i'm struggling with the code you sent me 😄

ivory sleet
#

fourteen brush you should know the difference between:

Runnable runnable = () -> System.out.println("hi");
//and simply
System.out.println("hi");```
tardy delta
#

a runnable is something that can be run in a thread

ivory sleet
#

well

tardy delta
#

maybe some other purposes tho

ivory sleet
#

the former is only declaring the instruction (and storing it into a variable)

chrome beacon
#

?learnjava

undone axleBOT
tardy delta
#

what to do when running that runnable, yes

ivory sleet
#

crying about it wont get you any further

#

best of luck

tardy delta
#

i was thinking the opposite

ivory sleet
#

well

tardy delta
#

too bad to play mc, lets start coding

ivory sleet
#

its interesting because things like:

Supplier<? extends T> x = () -> new T();
//and
Runnable runnable = () -> T.doStuff();

dont actually run any code or well not the instructions declared within them

#

similar to when you just declare a method

#

so learning when an instruction is simply declared and conversely when it is actually performed (would be crucial)

tardy delta
#

yea i understand

#

also i'm having trouble with placing the code to get users in the class which is responsable for the db stuff 🙄

#

?paste

undone axleBOT
ivory sleet
#

yeah

#

well

#

send da code

tardy delta
#

md5 paste broken brr

ivory sleet
#

pastebin

tardy delta
ivory sleet
#

well

#

you probably want to separate the cache (the map) and the actual database itself

tardy delta
#

yea

#

i have changed the load method to let it actually return an object (bad) so i could store the retrieved object somewhere and get rid of the map in that class

ivory sleet
#

no you dont

#

or well

tardy delta
#

what I shouldn't have done

ivory sleet
#

what am I saying

#

nvm

#

thing is

#

you want to separate the cache for one sole reason

#

or 2 actually

#

first it makes stuff a lot simpler and easier to reason about

#

and

lavish hemlock
#

They call an invokedynamic that refers to a bootstrap method returning a Supplier for that set of instructions.

ivory sleet
#

yes but that wasnt my point

lavish hemlock
#

:)

ivory sleet
#

its easier to substitute to another impl fourteenbrush

tardy delta
#

i was thinking of taking an usercache object through the constructor to add the retrieved users instead of saving it locally

#

like
public MySqlUserStorage(MBNPlugin plugin, UserRepository userRepository) {

ivory sleet
winter mesa
#

I have small problem. I'm trying to use Citizens API. I have plugins on server: Citizens-2.0.29-b2446.jar ProtocolLib.jar And they are loading perfectly fine.
However an error "Citizens 2.0 not found or not enabled" keeps throwing when

if (getServer().getPluginManager().getPlugin("Citizens") == null || !getServer().getPluginManager().getPlugin("Citizens").isEnabled()) {
            getLogger().log(Level.SEVERE, "Citizens 2.0 not found or not enabled");
            getServer().getPluginManager().disablePlugin(this);
            return;
        }

Like it doesn't see the plugin even though MC versions are fine and Citizens logs Loaded.

spiral light
#

check what /plugins prints out

chrome beacon
#

Might not be fully enabled yet. Also add it as a depend in plugin.yml

spiral light
#

also your plugin probably loads before citiziens

chrome beacon
#

Try adding it as a depend first then remove the enabled check

winter mesa
#

if i don't check anything it still doesn't work.

java.lang.IllegalStateException: no implementation set
at net.citizensnpcs.api.CitizensAPI.getImplementation(CitizensAPI.java:79)
#

Like it doesn't see the plugin

winter mesa
#

At least in console

analog prairie
#
[15:05:00 ERROR]: Could not load 'plugins/Spigot-ExpTech-Release-Candidate.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
        at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:186) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:158) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_18_R1.CraftServer.loadPlugins(CraftServer.java:422) ~[paper-1.18.1.jar:git-Paper-117]
        at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:285) ~[paper-1.18.1.jar:git-Paper-117]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1202) ~[paper-1.18.1.jar:git-Paper-117]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.18.1.jar:git-Paper-117]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.util.zip.ZipException: zip file is empty
        at java.util.zip.ZipFile$Source.zerror(ZipFile.java:1598) ~[?:?]
        at java.util.zip.ZipFile$Source.findEND(ZipFile.java:1382) ~[?:?]
        at java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1477) ~[?:?]
        at java.util.zip.ZipFile$Source.<init>(ZipFile.java:1315) ~[?:?]
        at java.util.zip.ZipFile$Source.get(ZipFile.java:1277) ~[?:?]
        at java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:709) ~[?:?]
        at java.util.zip.ZipFile.<init>(ZipFile.java:243) ~[?:?]
        at java.util.zip.ZipFile.<init>(ZipFile.java:172) ~[?:?]
        at java.util.jar.JarFile.<init>(JarFile.java:347) ~[?:?]
        at java.util.jar.JarFile.<init>(JarFile.java:318) ~[?:?]
        at java.util.jar.JarFile.<init>(JarFile.java:284) ~[?:?]
        at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:174) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
#

What's wrong with this?

chrome beacon
#

?paste use this next time

undone axleBOT
analog prairie
#

Not api problem?

chrome beacon
#

No you messed up your plugin.yml

winter mesa
#

i did?

chrome beacon
#

No

winter mesa
#

ok

chrome beacon
winter mesa
winter mesa
#

that it perfectly [Citizens] Loaded 0 NPCs.

chrome beacon
#

People who say newest or latest are almost never on latest

winter mesa
#

and commands from

#

citizens work too

#

Paperspigot (git-Paper-117) : v1_18_R1 (Minecraft 1.18.1)

mortal hare
#

i don't get the people who use packets for scoreboards actionbars and tablists

#

sure i used packets for glow coloring, but i hooked it up to scoreboard API back

#

people say its more performant

#

THEN JSUT DONT USE THE FUCKING API at all

#

IT WOULD BE PERFORMANT

misty current
#

what is the packet to make an entity ride another?

chrome beacon
misty current
#

i did and i wasn't able to find it

chrome beacon
#

It's there

winter mesa
#

h3lp

mortal hare
#

for me, packets are used whenever API doesnt have the implementation (for example 1.8 bukkit api doesnt provide method of sending actionbars, thus you use packets to send it yourself)

chrome beacon
mortal hare
#

not even gonna mention how many conflicts sending packets for scoreboard cause

misty current
#

i am trying to make sort of an api to add lines on top of the player's name and i'd rather not have real entities for that

spiral light
#

i use scoreboard packets in 1.18 for a playerteam that is for an custom entity and should not stay in memory at all

mortal hare
#

but what if player via api creates a team for that entity

#

it would be broken

winter mesa
misty current
#

the entity is not even real server side

#

so the server won't know about it

chrome beacon
winter mesa
spiral light
rough drift
#

can you do smt like

command:
  name:
    permissions: [plugin.a, plugin.b]
mortal hare
chrome beacon
spiral light
mortal hare
#

Yea

#

Using player nicknames instead of UUID

#

is just dogshit

winter mesa
mortal hare
#

you can have multiple NPC's

#

with the same name

#

and apply the same team, just because client thinks thats the same dude

mortal hare
#

even if UUID is different

misty current
#

so anyways whats the packet

analog prairie
chrome beacon
#

Using the CitizensAPI

spiral light
#

i set the Npc-Name based on the UUID with § as seperator to make in insisible at all ... so (i hope for a long time) the names are unique

chrome beacon
mortal hare
#

i myself use negative entity ids both for spawning and

spiral light
mortal hare
#

for NPC names

tardy delta
ivory sleet
#

I usually do it

#

but it depends on design

mortal hare
#

since Notchian server increments entity id from 0

#

and negative entity ids in notchian server vanilla is impossible

spiral light
mortal hare
#

Team packet

#

to hide nicknames

#

inside the team

#

and create another packet entity

#

or rideable

#

to simulate nickname

#

that's just shitty way to do this

#

but now i hooked it up to NMS like you do with PlayerTeam

#

just because i want to be synced with server

tardy delta
misty current
#

so what is the packet to make an entity ride another

mortal hare
#

@misty current

#

iirc

misty current
#

sec lemme try to find the class

tardy delta
#

only thing here is that i'd would to get a future with the retrieved object in here

#

instead of a void

misty current
#

oh i've found it thanks

mortal hare
#

woah

#

i suggest you guys try out

spiral light
mortal hare
#

light craft modpack

mortal hare
#

i get 450 FPS

#

on 1.18

#

via this modpack

#

with 32 chunks

#

and fancy graphics

spiral light
mortal hare
#

nametag is invisible completely

#

although i know there was a bug with 1.8* client

#

where the prefix or suffix were visible

#

when the players vanish

winter mesa
#

?paste

undone axleBOT
dark arrow
#

I have created a gui so how can I make it so that if the use it , it will telephone to another world which I created using multiverse?

spiral light
#

dont know telephones exists in minecraft

tardy delta
#

let it execute a command when clicking a particular slot

#

"teleport" i guess

dark arrow
#

*teleport

#

My bad sorry

mellow edge
#

how can I set firecharge that it destroyes more blocks

#

for now I have this code: e.getPlayer().launchProjectile(Fireball.class);

dark arrow
late sonnet
quaint mantle
#

anyone know why this doesnt do anything? supposed to change the damage done to a player from whatever to 100

public class Main extends JavaPlugin implements Listener {

    @EventHandler
    public void onPlayerDamage(EntityDamageEvent a) {
        if(a.getEntity() instanceof Player)
            a.setDamage(100.0D);
        }
}
mellow edge
#

did you register it

tardy delta
#

that depends on your gui implementation, but executing a command is java Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "your command")

#

@dark arrow

dark arrow
#

Yes?

quaint mantle
#

how do you register a listener

mellow edge
#

but to set the entity launch speed I must do setvelocity?

dark arrow
young knoll
dark arrow
torn crescent
#

Hey, I am trying to write a Chat Input API for me with an automatic check if the correct datatype was written.

If I want a String Input for example I use this:

                new ChatInput<String>(String.class)
                        .message(Message.SKULL_INPUT_ENTER_URL.get())
                        .title(Title.of(Message.SKULL_INPUT_ENTER_URL_TITLE.get()))
                        .response((input, canceled) -> {
                            // Abfrage, ob die Eingabe abgebrochen wurde
                            if (canceled) { // <-- This should be noticed as Boolean
                                
                            }
                        })
                        .start(player);```

But the variables in #response are only comming back as <Object,Object>, even though they should be <String, Boolean>.

The ChatInput Class is on https://pastebin.com/9ttXjgM4, can you help me with that?
tender shard
#

ugh wtf

#

why doesn't PlayerPickupItemEvent extend EntityPickupItemEvent

chrome beacon
#

It doesn't?

#

;/

tender shard
#

no lol

visual tide
#

kekw

young knoll
#

It’s deprecated anyway

gritty sand
#

is there a way to save an object that extends ConfigurationSection into a yml file such that it retains the object-mapping for when it is read back?

#

currently when i save this it's being saved as raw yml, so it's failing to read back

spiral light
#

iirc you have a serialize and deserialize method that should exactly do that ^^

#

of course you have to implement those methods and reset your stuff too ... but it should be possible

gritty sand
#

there's no ==:GameConfiguration

#

at the top

misty current
#

can I modify an entity's hitbox? I'm making sort of an api to add lines to player names and i have a slime on top of the player and i'd want to remove its hitbox

gritty sand
#

so I'm getting an error when I read it 😦

spiral light
misty current
#

yup

#

the idea is playing a spawnentity packet for the slime, a packet to make it ride the player, another one to spawn an armorstand and a final one to put the armorstand on top of the slime

spiral light
#

why armorstand at slime ?

misty current
#

because if i put a stand on top of the player head the line is not placed on the spot i want

#

if the stand is marker it clips in the head

#

if it is not it's too high

#

even with small stands

#

this is the result with a slime

spiral light
#

update to 1.18 and use areaeffectcloud 😄

misty current
gritty sand
#

here's my problem:

misty current
misty current
gritty sand
#

because my GameConfiguration object extends MemoryConfiguration it's not serializing like a normal ConfigurationSerializable

#

any ideas for how to fix that?

misty current
#

the stand has not hitbox already because of the marker flag so its fine

#

what if i use bats, theyre kinda small

#

hmmm

spiral light
#

the problem is the slime hitbox clientside maybe

eternal oxide
worldly ingot
#

I was going to say.. extending MemorySection is not the way to go about doing this

misty current
gritty sand
misty current
#

yea that'd be an issue

gritty sand
#
  public GameConfiguration(Map<String, Object> data) {
        extractData(data, "");
    }

    @Override
    public Map<String, Object> serialize() {
        return getValues(false);
    }
#

all the requiresment are there, and this class worked fine before

#

however it now extends memoryconfiguration

#

and now it no longer works

tardy delta
#

👀

eternal oxide
gritty sand
#

i added it in and ran it again in that test method, this is part of a much larger project

#

i know it's registered

eternal oxide
gritty sand
#

i just did?

eternal oxide
#

No you didn't. You just said it is

gritty sand
#

i said i reran the test to make sure

misty current
#

yo rabbit is perfect

tardy delta
#

is he sitting on you?

misty current
#

it's mounting me yes

spiral light
#

but you would need to make it invisible ... which also removes the name ?

eternal oxide
# gritty sand

Don;t extend MemorySection as thats basically a wrapper for a Map. Implement COnfigurationSerializable only

tardy delta
#

kinda cute

misty current
#

lemme try to add another one on top lol

misty current
#

lemme try rq without packets

gritty sand
#

maybe i should just recap what I've already done -- this class has been in operation in my code for a little while and worked, but during refactoring i have now altered it to extend memory configuration directly rather than wrap it (it makes sense based on how the object works to gain full memory configuration rather than wrapping every method). now that i extend memoryconfiguration directly, all my serialization code broke

#

trying to see if there's a 'simple' solution that doesnt involve recoding all my file managers

tender shard
# young knoll It’s deprecated anyway

I know but way too many shitty plugins (EcoEnchants, I am talking about you!) are listening only to this and not the "new" event (which exists since like 5 years...)

gritty sand
#

maybe i dont need the wrapper at all and should just use memory configurations natively? what my wrapper adds are two primary methods:

#
    /**
     * apply a set of configuration values to this GameConfiguration
     * <p>
     *     any config settings already set for a given key will be overwritten. This
     *     is particularly useful for applying per-game/per-arena configuration changes
     *     to a set of defaults by simply applying the default settings first and then
     *     applying the customization settings on top of the defaults
     * </p>
     * @param data the data values to apply to this GameConfiguration
     * @param ignoreNulls if keys with null explicitly set should overwrite existing
     *                    config values (false) or if null values should be ignored (true)
     * @return a reference to this (the edited configuration) for chaining
     */
    public GameConfiguration applyConfiguration(Map<String, Object> data, boolean ignoreNulls) {
        for(Map.Entry<String, Object> entry : data.entrySet()) {


            //skip sections that have further sub values
            if(entry.getValue() instanceof ConfigurationSection) continue;

            if(ignoreNulls && entry.getValue() == null) {
                //skip
            } else {
                set(entry.getKey(), entry.getValue());
            }
        }
        return this;

#
    /**
     * get the configuration value for the given key
     * @param key the (case-sensitive) key for the config value
     * @param expectedType the expect type of the config value
     * @return the config value stored for the given key or null
     * @throws ClassCastException if the expected type does not match the actual type of config value
     */
    public <T> T get(String key, Class<T> expectedType) {
        return expectedType.cast(get(key));
    }

    public <T> List<T> getAsList(String key, Class<T> expectedType) {
        return (List<T>) getList(key);
    }

    public GameConfiguration clone() {
        GameConfiguration clone = new GameConfiguration(getValues(false));
        return clone;
    }
#

clone and applyConfiguration (essentially a way to overwrite values)

#

does memory configuration support this natively in a way that i missed?

winter mesa
#

I have Citizens-2.0.29-b2446.jar on my spigot 1.18.1 server with all libs. Loading just fine.
I have added depend: [ Citizens ] to my plugin.yml HOWEVER
this: ```java
NPC npc = CitizensAPI.getNPCRegistry().createNPC(EntityType.PLAYER, "mobara01");

Produces error:

Caused by: java.lang.IllegalStateException: no implementation set
at net.citizensnpcs.api.CitizensAPI.getImplementation(CitizensAPI.java:79) ~[?:?]
at net.citizensnpcs.api.CitizensAPI.getNPCRegistry(CitizensAPI.java:111) ~[?:?]

Like citizens didn't load. (commands from citizens works etc)
i tried changing citizens version
spiral light
#

only thing that has still a name in invisible is armostand iirc

tardy delta
#

map.forEach is less brr than Map.Entry

tardy delta
#

i guess

misty current
#

bat + stand

winter mesa
tardy delta
#

thats what it says

chrome beacon
#

Doubt it

tardy delta
#

thats what i find on the dev page

chrome beacon
#

Yeah we've tried

wild cedar
#

Does PlayerPortalEvent get fired even if the nether and end is disabled?

#

I was trying to but it's not firing

tardy delta
#

please

wild cedar
frosty tinsel
#

Okey

tardy delta
chrome beacon
#

No

minor garnet
#

some1 know how get the vector from a armor stand headpose?

spiral light
#

direction ?

#

or do you rly wanne get Location#toVector ?

minor garnet
#

no not necessary

winter mesa
tardy delta
#

yes ._.

minor garnet
winter mesa
modern vigil
#

for some reason when i call getPluginConfiguration() it retuns YamlConfiguration[path='', root='YamlConfiguration']

winter mesa
#

I have citizensapi in pom.xml imported dependency

tardy delta
#
API

Citizens has an extensive API that can be used for making your plugins work with NPCs or even for adding a brand new character that can be attached to an NPC. Make sure you always are using an up-to-date build of the CitizensAPI to ensure that your plugin works with the latest release of Citizens.

modern vigil
#
public final class Badbox69 extends JavaPlugin {

    private final FileConfiguration config = new YamlConfiguration();

    @Override
    public void onEnable() {
        getServer().getPluginManager().registerEvents(new BlockBreakListener(this), this);

       this.loadConfig();
    }

    private void loadConfig() {
        File configFile = new File(getDataFolder(), "config.yml");
        if (!configFile.exists()) {
            configFile.getParentFile().mkdirs();
            saveResource("config.yml", false);
        }

        try {
            System.out.println(configFile);
            config.load(configFile);
            System.out.println(config);
        } catch (IOException | InvalidConfigurationException e) {
            e.printStackTrace();
        }
    }

    public FileConfiguration getPluginConfiguration() {
        return this.config;
    }

    @Override
    public void onDisable() {
        // Plugin shutdown logic
    }
}```
tardy delta
#

why??

modern vigil
#

?

tardy delta
#

config.yml is loaded when you request it for the first time, whats the point of this?

young knoll
#

Just run saveDefaultConfig

#

Also I’m pretty sure saveResource handles missing directories anyway

spiral light
#

rotation ?

minor garnet
#

I'm trying to make a way that the armor stand spawns more centered on the weapon

#

it frustrates me

spiral light
#

how do you spawn the weapon ?

#

or what is the weapon ? ^^

modern vigil
#

the path is empty

dusk flicker
#

You don't need to do that

#

Config is auto made

dusk flicker
young knoll
#

Idk what but some fanciness is going on here

tardy delta
#

why are you logging it

minor garnet
minor garnet
minor garnet
spiral light
dusk flicker
#

Not sure if you meant to reply to me

minor garnet
#

dont work

minor garnet
modern vigil
spiral light
#

btw can you create those hologram text with a plugin or is it just resource pack ?

minor garnet
#

basically, I turned an item into the position that it lays on the block, it totally changes the item's original position.

winter mesa
modern vigil
dusk flicker
#

Comic remove all your stupid stuff that isn t needed and all you have to do is in your onenable run saveDefaultConfig and then you can get it by JavaPlugin#getConfig

#

You don't need a custom implementation for it

tardy delta
modern vigil
#

getting boolean values from the config

modern vigil
dusk flicker
#

Not at all

minor garnet
#

if you want to test your self

frosty tinsel
minor garnet
young knoll
#

Please tell me you haven’t hardcoded Pi

spiral light
#

the display text ... what is this ? is it a map or custom armor stand model ?

minor garnet
minor garnet
spiral light
#

you could set the armorstand as passenger of the item

minor garnet
#

then I changed the block model

#

yes

#

wait

#

no

dusk flicker
minor garnet
#

won't work very well,~~ i think~~

young knoll
minor garnet
tardy delta
#

hmm the batteries of my mouse died and i cant continue coding 🥵

quiet ice
#

Time to enter keyboard-only mode

#

the terminal is your best friend

chrome beacon
#

Hate when my mouse dies especially if I'm playing Apex Legends

#

My teamates hate me too when that happens >.<

tender shard
#

people use wireless mouses? o0

young knoll
#

Sure

spiral light
young knoll
#

What if I need to take it into another room

chrome beacon
quiet ice
spiral light
quiet ice
#

Because usually you do not need it

minor garnet
#

I change the position of the item on the head of the stand armor so it looks like it's lying on the ground, you know?

spiral light
#

if you go on a date you probably want to click with your mosue too

minor garnet
#

try test this code

modern vigil
#

i'm stupid

#

i fixed it

tardy delta
modern vigil
#

i had config instead of drops

tardy delta
#

my fingers are already... i dunno they're fellin weird

random epoch
spiral light
#

isnt every item almost same height ? and also the position of it with getLocation always the middle ?

tardy delta
#

iknow i would never use that

dusk flicker
#

You need to go through the phase of not using a mouse
There's reasons I have so many hotkeys

tardy delta
#

just clicking is soo much effort

#

this is pain

minor garnet
spiral light
minor garnet
#

sorry i miss, im using the item on hand

#

because I want this to stay in the 1.8 versions too

spiral light
#

ok more confusing now... why do you need the item on hand to change the height of an armorstand above an item at the ground ?

minor garnet
minor garnet
#

blocks

#

default items

spiral light
#

and those different hand-item-shapes affect your armorstand that is on the ground above an item ?

minor garnet
#

yes

spiral light
#

makes litterly 0 sense to me

minor garnet
#

therefore different euler angles, and are the best possible to stay at the head of the armor stand, and stay straight

minor garnet
spiral light
#

just spawning an armorstand above an item and changing its y-value

thats all i would do to set your custom item name stats thing

minor garnet
#

is the same position, let me show you how looks then

tender shard
#

emacs

spiral light
#

you dont use an item you use an armorstand to place an item ^^

#

and because of that the height of the armorstand changes and thats why you want to modify the height of the display armorstand

minor garnet
#

yes

#

🧠 🤯

spiral light
#

soooo and your problem was that the display armorstand is not always at the same height you want it to be for all items since the itemarmorstand has different y.values ?

minor garnet
#

actually the items are not centered on the head of armor stand

#

notice now?

spiral light
#

you would need to hardcode this too

vital yarrow
#

What do you think about access to sql, or data files in events such as PlayerMoveEvent or InteractEvent ?

chrome beacon
#

No

#

Don't

young knoll
#

Cache

chrome beacon
#

^

tardy delta
#

is there a better way to construct and return an object async than having a void method which actually constructs it and puts it in a map and wrapping that with a completablefuture?
(and when the future completed getting it from the map)

waxen plinth
#

No

#

I think it's a good idea

vital yarrow
waxen plinth
#

SQL query on player move 🙏

young knoll
waxen plinth
#

Best with mysql

young knoll
#

What you gotta do is perform a web request on chat

#

Oh wait

waxen plinth
#

Yes

#

Do getOfflinePlayer for every word in the message

#

Then execute a query for each result

young knoll
#

Mojang has already got that covered

tardy delta
#

hmm that are many web requests

vital yarrow
chrome beacon
#

Yeah keep data in maps

vital yarrow
#

Oh okay, it's 'cause I always have a trouble with optimization and I'm always trying to have my plugins to optimized I also use cache pulling that each x of time to the files to free ram memory. But idk why I'm always having a trouble with it 😂

chrome beacon
tardy delta
#

in some way

chrome beacon
#

If so just skip it. If you've been stuck on it this long creating your own system that you understand is probably a good idea

tardy delta
#

in fact its really good code

#

i'm just trying to divide the db stuff and the actual storage

undone axleBOT
kindred valley
#

when im trying to enter a server its not entering

north trench
#

hwo to right click strik lighting

young knoll
#

World#strikeLightning

chrome beacon
#

Listen to the interact at block event and ^^

#

Maybe just PlayerInteractEvent

#

Yeah?

young knoll
#

🫒

chrome beacon
#

Yeah

spiral light
#

instead asking for help you could just tell what the problem is

chrome beacon
#

That's the point. You learn the basics and then make harder thing with it

tardy delta
#

which stuff?

#

dont learn about threads if you dont understand other basic stuff

chrome beacon
#
tardy delta
#

go check out collections

chrome beacon
tardy delta
#

it doesnt tell much w3schools

chrome beacon
#

Yeah w3schools is a good site

tardy delta
#

baeldung is better ._.

chrome beacon
young knoll
#

Wut

chrome beacon
#

Not really

#

Pretty sure no

#

I haven't tried scratch in years but that sounds wrong

tardy delta
#

whats scratch again

#

it increments the amount

young knoll
#

It’s an example

tardy delta
#

thats why w3schools is bad to study

#

wanna see more avanced stuff?

#

no not that kind of stuff

chrome beacon
tardy delta
#

they have a concurrency "series"

#

i looked at it this morning and it hurt me

#

no

chrome beacon
#

Well yeah

tardy delta
#

there's the stuff you asked for

chrome beacon
#

It's a lot to read about

tardy delta
#

concurrency is a pain for me xD

misty current
#

what's the nms method to set an armorstand marker?

spiral light
#

hmm how/where/what method sets the item in an villager hand ?

young knoll
#

setItemInMainHand

misty current
#

not sure if it exists in the api unless the methods from Inventory work

spiral light
#

i dont search for api tbh... something in the nms.Villager changes the item in his hand

young knoll
misty current
#

thanks spigot obfuscation

rough drift
#

say i have a maze with some paths leading to B, and i am at A, given the fact that i know every block in the maze i can walk on, is there an algorithm that can find the shortest path? (And would breadth first search work with this? note: i do not know in advance anything about the maze, only the blocks i can walk on and if the block is the end or the start or a segment)

misty current
#

google A* pathfind

rough drift
#

fair enough, also another question, say i have elevation, should i start at the highest point? because for example default mc ai when you build a staircase and bridge out a few blocks goes under the bridge rather than on the stairs

misty current
#

it's up to you

#

as long as you can code a good implementation of a* for mc

rough drift
#

fair enough again

misty current
#

lol

waxen plinth
#

I have one you could base yours on

tardy delta
#

whats the difference between @NotNull and @Nonnull?

misty current
#

what is the boolean parameter in PacketPlayOutEntityMetadata's constructor for?

waxen plinth
late sonnet
waxen plinth
#

Note that this ignores gravity

#

You would need to modify it to not ignore gravity

rough drift
waxen plinth
#

Of course it can

#

A* is a general purpose search algorithm

#

You can adjust it to find a path on just about any kind of graph

#

This works for all sorts of things

#

Not just pathfinding in a literal sense

#

You can use it to solve Rubik's cubes and sliding tile puzzles

rough drift
#

:O

waxen plinth
#

If you have nodes and you can get all nodes adjacent to any given node, and you can calculate the "distance" between two nodes, and you know the starting and ending nodes, you can use A* for it

young knoll
#

Can I use it to solve who the best ninja turtle is

misty current
#

hopefully

#

and can you use it to find out why my stand doesn't have a name even tho i send the metadata packet

#

and also why is my packet slime not invisible

chilly haven
#

How do i get the item used when a player hits a player

#

?

misty current
misty current
#

get the attacker

#

get the inventory

#

get item in main hand

chilly haven
#

on 1.8

misty current
#

same thing

#

just get the attacker

#

get the item in hand

chilly haven
#

event.getDamager()

#

this is the attacker

misty current
#

yes

chilly haven
#

there is no getinvetory

misty current
#

oh right, you need to check if the attacker is instanceof inventoryholder or something similar

chilly haven
#

Thats very clear xd

young knoll
#

LivingEntity should work

misty current
#

yeah that's what i do but i was looking for the exact interface

#

but i'm not sure if an entity can be a non living one but an inventoryholder

young knoll
#

No

#

Which is why armor stands are a living entity

#

Mojang is weird

misty current
#

lol

#

ive always found it weird

#

well now i know why

#

just need to figure out how to make the squid invisible

#

i've tried squid.addEffect(new MobEffect(14, 100_000, 0, false, false)); but ehh it didn't really work

chrome beacon
#

Hitbox will still be there

#

Quite annoying

misty current
#

yeah, i can't figure out how other servers did it

#

mineplex uses squids too i've read somewhere

chrome beacon
#

Actually you could use teams

misty current
#

really?

#

interesting

somber hull
#

Squids for nametags?

#

Strange..

misty current
#

well i can't figure another way to slap lines above the player's name

somber hull
#

Its open sourced

#

THey have custom nametags with armor stands

young knoll
#

You could listen for incoming player movement packets and apply the movement to an armor stand as well

#

So it’s not actually riding them, therefor you can control the height of it

misty current
#

well handling lines above the name like that gets messy

#

especially if there are lag spikes

young knoll
#

Not really

#

If the player is lagging you won’t get any movement packets, so they stand will freeze too

misty current
#

i mean if the server does

spiral light
misty current
#

and even with close to optimal conditions it still looks messy

visual tide
#

thats how hypixel's statuses work

young knoll
#

Server lag shouldn’t matter much either, packets are on a different thread

visual tide
#

they lag behind when you lag

young knoll
#

I’m pretty sure that’s how wynncraft does it

misty current
#

what statuses?

young knoll
#

But via outgoing packets instead

misty current
#

you mean levels above head

charred echo
#

So im storing a list of objects in a yml file using Bukkit's FileConfiguration object. How would I then get the list of objects progrimatically?

misty current
young knoll
#

Actually it should be easy to avoid the hit box issue

#

Just don’t send the mob packet to the player it belongs to

#

Generally you don’t want to see a floating name if you look up anyway

spiral light
misty current
#

that was my plan

#

wait what if a player attacks the player with a squid in the head

chrome beacon
#

That's where the problem starts

misty current
#

i guess i have to redirect attacks

chrome beacon
#

Anyway teams can be used to stop attacks

#

Make the squid the same team as the attacking player

misty current
#

the squid is spawned using packets

#

i guess i need team packets

chrome beacon
#

Not really

#

Team packets would probably be easiest though

young knoll
#

You could technically force the villager to keep holding the item by setting it every tick

#

But that seems less than ideal

misty current
chrome beacon
#

🤷‍♂️ I don't use 1.8

misty current
#

a

#

my sb knowledge is pretty doo doo too

spiral light
#

@misty current did you try to use a slime with size -1 ?

misty current
#

is that a thing?

#

lemme try hold on

#

wat de fak

#

slime backpack

spiral light
#

now try the full thing there 😄

chrome beacon
#

Wait that works lmao

misty current
#

wait what

buoyant viper
#

wat da hel

misty current
#

so i make a silverfish tower

#

and then put a slime

#

oo that might work

#

lemme do some testing

spiral light
chrome beacon
#

Yeah

misty current
#

yeah not much changed

#

the silverfish gets in the way

spiral light
#

armorstand riding slime(size=-1) riding player ?

misty current
#

hold on

#

it kinda gets in the way

dusty sphinx
#

I'm having some issues with a BungeeCord plugin.

Below is the task that doesn't seem to be working.

I have attached the Main and MySQL task for reference.

package com.gabrielhd.bcredits.Task;

import com.gabrielhd.bcredits.Main;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.config.Configuration;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.concurrent.TimeUnit;

public class CountTask implements Runnable {
    @Override
    public void run() {
        final Main main = Main.getInstance();
        Configuration config = main.getConfigUtils().getConfig("Settings");
        final int countTime = config.getInt("Counts.Time", 999999);
        final int countReward = config.getInt("Counts.Reward", 0);
        for (final @NotNull ProxiedPlayer player : main.getProxy().getPlayers()) {
            if (main.getJoinTimeMillis().containsKey(player.getUniqueId())) {
                final long joinMillis = main.getJoinTimeMillis().get(player.getUniqueId());

                final @Nullable Long maybeLastPaidMillis = main.getLastPaidMillis().remove(player.getUniqueId());
                final long lastPaidMillis = maybeLastPaidMillis != null ? maybeLastPaidMillis : joinMillis;

                final long sinceLastPaidMillis = System.currentTimeMillis() - lastPaidMillis;

                final long minsSinceLastPaid = TimeUnit.MILLISECONDS.toMinutes(sinceLastPaidMillis);

                if (minsSinceLastPaid >= countTime) {
                    main.getProxy().getScheduler().runAsync(main, () -> {
                        final int existingPoints = main.getMySQL().getPoints(player.getUniqueId());
                        main.getMySQL().setPoints(player.getUniqueId(), player.getName(), existingPoints + countReward);

                        player.sendMessage(Main.replaceAmpersand(config.getString("CreditsReceived")));

                        main.getLastPaidMillis().put(player.getUniqueId(), System.currentTimeMillis());
                    });
                }
            }
        }
    }
}
misty current
dusty sphinx
#

I'm more familar with the Spigot task API so forgive me if I'm doing with something wrong

somber hull
#

Can Bukkit.getPlayer(uuid) get an offline player?

chrome beacon
#

No

somber hull
#

Sad

spiral light
chrome beacon
somber hull
misty current
chrome beacon
#

Make it invisible?

misty current
#

wait actually it might work for the hitbox

#

lemme get my alt online

somber hull
#

So im making a bounties plugin

#

For storage

#

Should i make a list of active bounties, and have those bounties have a unique ID for every player that is hunting that bounty? Or should i have a list of players, and a list of bounties. And have the bounty tied to the player?

#

What would be better?

#

With the first one, when a bounty is claimed

#

I can just loop through all the players that have that bounty active

#

And remove them from that bounty

spiral light
#

hmm i would use Map<TargetPlayerUUID,Bounties> or smth like this

somber hull
#

hmm, ig that does work

misty current
#

i've just noticed

#

when i make something ride my player, the name disappears

somber hull
#

Also is creating a new UUID 100% unique?

#

Like hows that work

chrome beacon
misty current
#

that works

spiral light
somber hull
#

So i thin what ill do

spiral light
#

if you can create multiple bounties for 1 player you should use my map ...

somber hull
#

I think what imma do is create a list of bounties, each of these bounties has a UUID, then make a map of plrUUID, List<bountyUUID>

spiral light
#

what i can think of its in many cases better to have directly a method to get bounties for a player and not loop through all bounties

somber hull
somber hull
#

for that

spiral light
#

yes

somber hull
#

I would have to loop through the bountys tho

spiral light
#

if player claims all bountys for killing someone at once ?

somber hull
#

wdym?

spiral light
#

if a player can have more then 1 bounty ... what does the killer get ?

somber hull
#

There is a limit

#

So like ranked players could claim 3 while unranked can claim 1

spiral light
#

then looping through all bounties for 1 player is way better

somber hull
#

OK, so what i think imma do

spiral light
undone axleBOT
somber hull
#

(For bounty claim storage) A file with a map of plrUUID, List<claimedBountyUUID> and a list of active bounties (Bounty object that stores other objects such as UUID, bounty player uuid). When a player wants to claim a bounty it would just get the UUID and add it to the players list of claimed bounties. However when a player kills someone, it would have to loop through the bounties and see if there bounty is on that player. That is every player kill (wich doesnt happen often so..). Then if there is a bounty, we now have the bounty and can just do getUUID, and check the map for hasValue
@spiral light

dusty sphinx
#

in onEnable

spiral light
#

and what is not working ?

dusty sphinx
#

it runs more than once a minute and it doesnt seem to do anything with the sql

#

those sql operations work when used in a command but not in the task

#

i attached both classes

somber hull
#

and can use getKey rather than loop through bounties

spiral light
dusty sphinx
#

what?

#

what do you mean run with debug

spiral light
#

System.out.println("i am here code")

dusty sphinx
#

oh lol

#

i thought you meant actually debugging with intellij that wouldve been dope

dusty sphinx
#

and the SQL code is known good

spiral light
#

did you debug what the setPoints should set and what was before ?

dusty sphinx
#

i can

somber hull
#

Alright

#

so i caved

#

im using lombok

#

should i pile my geter and setter things on top of each other?

#

whats the proper format

spiral light
#

using public instead of private 😄

quaint mantle
#

not using lombok

tender shard
#

I do it in the same line if it's only one annotation and a separate line if it's more than one

spiral light
#

lombok what ?

tender shard
#

however I'm nasty anway. Because for Override, I always use a separate line and then include @NotNull final in the parameters lol

tender shard
#

lombok = kotlin light

somber hull
spiral light
#

lombok is an island ^

somber hull
#

I dont like it so far

tender shard
tender shard
somber hull
#

But

tender shard
#

e.g. @Data, @Builder or @hoary knollThrows

somber hull
#

No promises

tender shard
#

oh sorry for ping

tardy delta
#

lombok @Builder is confusing

tender shard
#

I wanted to say @ SneakyThrows

tardy delta
#

lol i had that with @ event

somber hull
#

gtg

dusty sphinx
#

19:36:31 [INFO] Player has 0

19:36:31 [INFO] Player now has 100

19:36:51 [INFO] Player has 100

19:36:51 [INFO] Player now has 200

19:37:11 [INFO] Player has 200

19:37:11 [INFO] Player now has 300

19:37:31 [INFO] Player has 0

19:37:31 [INFO] Player now has 100

19:37:51 [INFO] Player has 100

19:37:51 [INFO] Player now has 200

19:38:11 [INFO] Player has 200

19:38:11 [INFO] Player now has 300

#

i dont know whats wrong with my database

#

also it runs at the wrong time

turbid tiger
#

Does anyone know where the NMS jar is so I can add it to my build path and use nms methods? It seems the spigot jar in the target-api folder only has the bukkit api classes and not the nms ones

chrome beacon
#

Use Maven or Gradle

#

Don't import the jar directly

somber hull
#

😔

#

I also used to use eclipse

#

But i have been enlightened

turbid tiger
#

I've been trying to use gradle, can't figure it out. I have gradle installed and my project is a gradle project in eclipse, and my build.gradle has stuff in it, but it is not doing anything.

spiral light
#

does lombok create comments too xD ?

chrome beacon
tardy delta
#

i dont think so

crimson marsh
#

Anyone great with MongoDB ?

turbid tiger
chrome beacon
#

Are you using the Paper API or can you use the spigot one

turbid tiger
turbid tiger
chrome beacon
tender shard
tardy delta
#

worldedit ha

#

event cancelled ha i see

spiral light
#

auto shulker .... i wanne hear more about that 😄

turbid tiger
chrome beacon
tender shard
tender shard
tardy delta
#

ah it is 🙂

ancient plank
#

"shit the color code is still bugged lol" i love it

turbid tiger
#

So how exactly do I do this. Do I just put a file path in the dependency section of gradle?

tender shard
ancient plank
tender shard
tardy delta
#

if i let storage.load return an object and i change it to supplyAsync will it work to return a future with the retrieved object? I guess it will

ancient plank
#

I'm too much of a perfectionist to keep that in, I usually fix it then remake the video

tender shard
#

although I was kinda dedicated on angelchest to make good videos about it

ancient plank
#

mm

proud basin
#

Here is a snippet for yall ```(allowedToBypass(target) ? "true" : "false")

#

or yk

#

just do the other way

chrome beacon
#

(allowedToBypass(target) ? "true" : "false").equals("true")

tardy delta
#

(allowedToBypass(target) ? "true" : "false").equals("true") ? "true" : "false"

chrome beacon
#

((allowedToBypass(target) ? "true" : "false").equals("true") ? "true" : "false").equals("true") == true

ancient plank
#

are u bullying me for my snippet from like a week ago

#

silly mockery

chrome beacon
#

That's your snippet 😳

spiral light
#

uff

tardy delta
#

((allowedToBypass(target) ? "true" : "false").equals("true") ? "true" : "false").equals("true") == true && true != !true

#

how !true is valid java

dense heath
tardy delta
#

true

#

its just weird !!!!!!true

chrome beacon
#

@ivory sleet Requesting Gradle help in thread

tardy delta
#

nice title

chrome beacon
#

Yeah

tardy delta
#

sometimes guava is doing weird things

chrome beacon
#

Yeah

tardy delta
#

thats two times yeah rn

chrome beacon
#

Yeah

tardy delta
#

and we go to three ladies and gentlemen

sterile token
#

Hi, people! How are you? Is there way to hide player armor and head nameta but without hiding him from tab?

tardy delta
#

i'm fine

sterile token
tardy delta
#

better than "Hi Spigot!"

chrome beacon
sterile token
#

So i can works with packets?

chrome beacon
#

Yes

#

Or use Protocollib

sterile token
#

In other words ptc lib

#

And what about the team

#

explain please that