#help-development

1 messages ยท Page 364 of 1

pseudo hazel
#

oh

#

maybe it underflowed/overflowed? xD

#

like what is the value

sterile token
#

Its saved as long value

pseudo hazel
#

I mean what is the value of the long

#

is it -4 ,-3536724274527243800, -0 etc

sterile token
#

1m please

#

Im opening mongo compass

#

Wait no, the time is saved correctly into the db

#

The issue is while formatting it

pseudo hazel
#

okay so how are you formatting it?

sterile token
#

Getting the time he (played - current milis) / 1000L

pseudo hazel
#

what are the current millis

sterile token
pseudo hazel
#

is that the actual time?

#

and what is played?

sterile token
pseudo hazel
#

okay

#

well then it would very likely be a negative number

#

unless they have been playing since before unix time

sterile token
#

Hmnn im confused, what would you recommend to fix this?

pseudo hazel
#

well the time a player has played is a duration

#

while currentmillis is an absolute time

sterile token
#

okay, so ?

viscid lotus
sterile token
pseudo hazel
#

so you need to keep track of when a player started playing vs when they stopped

sterile token
#

i can send my code

pseudo hazel
#

sure

#

btw what should this be qual to? (played - current milis) / 1000L

sterile token
viscid lotus
#

why dont you create hashmap with <UUID, Integer> which will be player UUID and Unix time stamp

pseudo hazel
#

like what kinda value are you aiming for

sterile token
pseudo hazel
#

okay

sterile token
#

the updater() is because redis, dont give importance

pseudo hazel
#

you need to keep track of this for each session but basically do what emsar said where you store the time a player started playing against their uuid

pseudo hazel
#

and in this method you get currentmilis - that timestamp

viscid lotus
sterile token
#

I dont understand what you say sorry, i mean like some messages are not related

pseudo hazel
#

dont wory about it

sterile token
pseudo hazel
#

liek I said

#

create a map of player ids and the time they started playing

sterile token
#

i can use maps ๐Ÿ’€

#

Its a redis cache!!

viscid lotus
#

same

#

Map<UUID, Integer> playTime = new HashMap<>();

sterile token
#

Cuz of how the plugin works i must have a centralzied cache

#

I mean im thinking you are trolling, because its exatly what im doing but with Redis ๐Ÿ˜‚

pseudo hazel
#

whats redis

sterile token
pseudo hazel
#

anyways to get a players total playtime, you need to know when they started vs the current moment in time

viscid lotus
#

why r u using external library for that

#

just use maps

#

easier

sterile token
#

Yes, its called github packages

sterile token
viscid lotus
#

?

sterile token
#

Hmnn let me use fkg translator that the reason

#

u dont udnerstand mean

#

I'm 100 that they are trolling because how am I going to use a hashmap when I'm using the redis cache. It doesn't make sense, besides using decentralized cache (in each plugin) would cause me problems because when you leave the server your cache will be updated, but when you connect to another server, it might not be updated yet. But it has nothing to do, they are different things. The problem is that it is telling me the time played but in a negative way, instead of saying that I played 1m, it tells me to play -1 minute.

Translated with www.DeepL.com/Translator (free version)

vocal cloud
#

You can always host your own public repo on a website using dav

sterile token
#

Also php dang ๐Ÿคข

#

Deno >>> Php

viscid lotus
#

Map<UUID, Integer> playTime = new HashMap<>();

//On Player Join
playTime.put(player.getUniqueId(), System.currentTimeMillis() / 1000);

//On Player Quit
System.out.println("Player played the game for "+System.currentTimeMillis() / 1000-playTime.get(player.getUniqueId())+" seconds.")
playTime.remove(player.getUniqueId());

sterile token
#

yes im doing exaclty that! But with redis, is not diff to understand

#

๐Ÿ˜ฌ

broken lynx
#
    public void onEntityExplode(EntityExplodeEvent event) {
        if (event.getEntityType() == EntityType.PRIMED_TNT) {
            for (Block block : event.blockList()) {
                if (block.getType() == Material.RESPAWN_ANCHOR) {
                    event.blockList().remove(block);
                }
            }
        } else if (event.getEntityType() == EntityType.ENDER_CRYSTAL) {
            event.blockList().clear();
        }
    }
}``` am tryna make it so that crystals and anchors done destroy items.
pseudo hazel
#

anyways, if thats your only problem, you can just use Math.abs()

sterile token
#

A question

#

wait wait i wil ltes

#

tbecause it will came 0 iq spigot dev and to tell me try and see

#

I can smell it kms away

icy beacon
#

kms might stand for something else

#

๐Ÿฅฑ

sterile token
#

LMao

#

today spigot devs are just trolling

#

One told me to use a hashmap, when i tell him 3 times im using redis cache

vivid hill
#

Math.min(Math.floor(log(n/3))) whats wrong here

viscid lotus
#

doesn't math.min take 2 parameters

vivid hill
#

oh yea I am stupid

viscid lotus
#

Math.min(1,4) -- 1
Math.min(2,1) -- 1

sterile token
#

๐Ÿ˜ก

#

Tht is what i was meaning, the counter gets negative

sterile token
pseudo hazel
#

how

viscid lotus
#

how does Math.abs return negative

pseudo hazel
#

if you use math.abs it literally cannot be negative

viscid lotus
#

cap

sterile token
#

๐Ÿค”

pseudo hazel
#

I mean how did you use it

sterile token
viscid lotus
tardy delta
#

logf where

sterile token
#

I dont understand

#

i mean its really weird this help i mean i just get more confused

#

because i dont really get clarify explanation of why is negative

viscid lotus
#

user.SetPlayed() got negative parameter

#

that's why it's negative

#

u set it to negative value

#

probably

sterile token
#

I dont setting any value ๐Ÿค”, is just the counter values

pseudo hazel
#

it is negative because played is smaller than currentmillis

viscid lotus
#

OMg

#

i

#

found

#

why

#

I found

sterile token
#

Tcurrent code

#

So we talk in same topic

viscid lotus
#

because

#

time is bigger than

#

user.GetPlayed()

#

do user.SetPlayed(time - user.GetPlayed())

tardy delta
#

that the amount of millis a player has played?

#

or last join?

pseudo hazel
#

yes thats what I have been saying these past 20 mins

viscid lotus
#

it's last join unix time stamp i think

sterile token
#

yeah

tardy delta
#

nice method name then

pseudo hazel
#

idk what Played actually means

sterile token
#

it the last long milis he left

pseudo hazel
#

oh

sterile token
viscid lotus
tardy delta
#

id call it setLastSeen

#

or smth

sterile token
pseudo hazel
#

? I mean what does is mean in this context

viscid lotus
#

On disconnect

viscid lotus
pseudo hazel
#

just switch the things around

timid jetty
#

is there a way to replace all the keys in a hashmap through a function?

pseudo hazel
#

yes its called a for loop

timid jetty
#

I need to convert all the keys from string to integer lets say

pseudo hazel
#

you make a new map

livid dove
#

So players are still able to harvest xp from a plugin that removes xp from furnaces... if they break the furnaces instead.

Any quick fixes to rectify this issue?

sterile token
sterile token
timid jetty
tardy delta
#

what

sterile token
#

And till negative

viscid lotus
sterile token
viscid lotus
#

Math.abs(user.getPlayed())

vivid hill
#
public String format(double n) {

        String[] l = {"K","M","B","T"};
        double i = Math.min(Math.floor(log(n)) , l.length);
        double i2 = Math.pow(1000, i);
        if (n <= 0) {
            return String.valueOf(n);
        }else {
            return n / i2 + l[(int) i];
        }
    }

Just finished this little thing to format integers, is that the right way to do it?

tardy delta
#

what does an illegal arg ex has to do with not being able to load user data?

sterile token
viscid lotus
#

abs removes the -

sterile token
#

ohhh

#

Lmao why didnt told emt aht from the start

pseudo hazel
#

its short for absolute

sterile token
#

instead of telling me to use a hasmap ๐Ÿ˜ฌ

viscid lotus
#

idk๐Ÿ’€

pseudo hazel
#

because its not the core issue

#

and because it was really unclear what you actually wanted to do

sterile token
#

no

sterile token
#

I explain really clarify

#

I say it many times, i lit said "i want to create a counter which conunt how many time he has played in the network"

#

You cant exopect somth more clarify

#

๐Ÿคฃ

pseudo hazel
#

yes that part was clear

sterile token
pseudo hazel
#

but then the code you already made was what made it unclear

#

no im not trolling lol

sterile token
#

so why u told me to use a hasmap ๐Ÿคฆโ€โ™‚๏ธ

#

na its oaky

#

Let me see if it get fixed

pseudo hazel
#

because thats by far the easiest way to keep track of things in your case

#

and I didnt know about teh redis thing

sterile token
#

Oh you should read about redi

#

Is fuckinga mazing for working with centralized data, whiw you dont need to be persisten. Mainly is the fatest software for catching in memory data

pseudo hazel
#

oh so you are you like working on a server network?

sterile token
pseudo hazel
#

yeah

#

I see

sterile token
#

Even worst, because i odnt have only to sync a proxy with some servers, they servers with proxies and proxies to proxies

#

Just saying the project its a 20 maven multi module, you can imagine the project specs ๐Ÿ’€

pseudo hazel
#

little concerning that you dont know about math.abs then but oh well

small current
#

what is the best way to serialize a list into string

tardy delta
#

what are you trying to do at first

#

could use a stringbuilder

small current
#

list of string

sterile token
#

For long code must use

#

?paste

undone axleBOT
small current
#

is it long

#

oh

sterile token
small current
vivid hill
#
public String format(double n) {

        String[] l = {"K","M","B","T"};
        double i = Math.min(Math.floor(log(n)) , l.size);
        double i2 = Math.pow(1000, i);
        if (n <= 0) {
            return String.valueOf(n);
        }else {
            return n / i2 + l[(int) i];
        }
    }

Why does l.size give me an error?

sterile token
vivid hill
#

Cannot resolve symbol 'size'

sterile token
timid jetty
#

Is there some way to get the remaining time on a delayed task in the Bukkit Scheduler?

sterile token
#

Why dont directly seriliaize/deserialize from/to base64?

vivid hill
small current
sterile token
#

@small current could u fix it?

pseudo hazel
iron palm
#

how should i get player by its ip in bungeecord api

wet breach
#

by asking nicely

#

?jd-bc

tardy delta
#

and length() for string, cry about it

lost matrix
#

sender needs to be an OfflinePlayer

#

so check with instanceof (and then cast)

timid jetty
#

Caused by: java.lang.ClassCastException: class org.bukkit.configuration.MemorySection cannot be cast to class java.util.HashMap (org.bukkit.configuration.MemorySection is in unnamed module of loader java.net.URLClassLoader @18769467; java.util.HashMap is in module java.base of loader 'bootstrap')
anyone know what this means?

remote swallow
#

stop casting a Config section to a hash map

tardy delta
#

atleast use a map

marsh crater
#

is there a way to create a temporary instance of a world (multiple at once) for like bedwars or games like that? like the world will be initialized, a match will happen, then it will be gone

timid jetty
#

how would I store two linked variable with each other in yaml

tardy delta
#

idk what you are trying to do

timid jetty
#

store a string linked with a double

tardy delta
#

likeyml something: "some string": 1.2
?

timid jetty
#

yeah basically \

tardy delta
#

whats not working with that

#
BukkitWiki

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

twin venture
#

hi , i have problem with something , so i made a sumo plugin this is what achieved :

  • broadcast a clickable message with the avillable arena
  • player can click on the message to join to the desired arena
  • spawning player to the lobby
  • after 10 second spawn players in the list of location that is set in the arena config
  • game mechanic
#

i do have one problem left , and i have no idea how to slove it

#

when 2 players join the arena , after it start , it automaticlly end .. and the first player who joined will be announced as the winner

#

i add player player UUID , and arena when i join the arena :
arenaSumoMap

#

idk if this wrong , but its semi-working that's the only problem iam having for now

tardy delta
#

uh oh calling get after contains

twin venture
#

i have been on intellij idea from 6am

chrome beacon
#

Just do a null check on the value returned by get

twin venture
#

and now its 11:20pm

tardy delta
#

call get, assign it to a var and check if its not null

tardy delta
twin venture
#

oh alright

twin venture
tardy delta
#

yes

#

and please use the scheduler instead of instantiating bukkitrunnables

twin venture
#

alr

#

this what did you mean correct?

tardy delta
#

yes

#

thats a lot of map lookups at the bottom lol

twin venture
twin venture
#

i will revmap it

#

i just want to make it work for now

#

so how does the join work :
it broadcast a message every 15 minute :

#

it tell the online players to join

#

when you click on it

#

you will join

#

:#

storm scaffold
#

IntelliJ IDEA constantly tells me to put Objects.requireNonNull in certain parts of code, should I just put it there as it never seems to have any effect?

#

What does that mean?

#

So should I just use the Object.requireNonNull as the program suggests?

#

oh i understand

vocal rivet
#

hey was wounding if someone can help me with PaulGG's Chests are OP Challenge is there a place where i have to put the mod

regal scaffold
#

Ummmm is a good practice if I need to depend on someone elses plugin just to git clone the entire thing and run mvn install?

lost matrix
sterile token
#

Something really stupid, but what cause to a command not giving any output, but its registered on the seveer

lost matrix
#

"command not giving any output" what do you mean by that?

sterile token
#

Yeah, it doesnt output the logs, neither msgs

#

And the command its registered, i have already checked

lost matrix
#

So this?

sterile token
#

/yeah, just appear that, and the code seems not to be run

#

Lit Like if youregister an empty command

lost matrix
#

Do your other commands work?

upbeat hornet
#

Hi, I still need help for this

I have this function reloadPlayerHologram(Player player, Location location) which reloads whatever hologram at a given location for a given player
If player1 updates a gen, I'm calling reloadPlayerHologram, it become 2 coal generator and both players see it
When player1 disconnects, then reconnects, only player1 sees the hologram and player two sees an armor stand (see picture)

On player join, for each placed block of theirs, it will reloadPlayerHologram for that block
why does it not work?

sterile token
#

Im pretty confused tho

lost matrix
upbeat hornet
lost matrix
lost matrix
upbeat hornet
#

I can send you my class

#

?paste

undone axleBOT
sterile token
#

no i just listen to PlayerInteractEvent, its really weird

upbeat hornet
#

the reloadPlayerHologram is at line 105

regal scaffold
#

How can I add CMI as a dependency in maven

#

That plugin is too massive and terribly documented

regal scaffold
#

A massive plugin with 300+ features that's absolutely terrible

#

Yes

#

But I need it as a dependency

sterile token
#

via maven?

regal scaffold
#

Yeah

upbeat hornet
#

i don't think you can do that

sterile token
#

Get they dependency credentials

regal scaffold
#

They don't provide them

sterile token
regal scaffold
#

I assume I gotta do the jar local repo method

sterile token
#

So any solution, to my commands not getting any reponse, like if they were just an empty command?

upbeat hornet
#
if (getServer().getPluginManager().getPlugin("CMI") == null) {
  //Couldn't find CMI

} else {
  //Found CMI
}


lost matrix
#

My guy, this is beyond repairable...
Im not reading this code

regal scaffold
#

I'm talking maven, not that

lost matrix
#

You are gonna make your server crash with that at some point

upbeat hornet
#

what's wrong?

lost matrix
#

More like whats not?

upbeat hornet
#

This is my first project ever in Java (other than exercises)

regal scaffold
#

Does anyone have a pom example to add CMI as a dependency

lost matrix
#

Sry im showing the usual developer zynism

sterile token
regal scaffold
#

That's not what I'm saying

#

I still need to add support for it cause people buy it

sterile token
#

๐Ÿค”

#

This is a community... we are hleping for free

regal scaffold
#

Not using it not really an alternative I'm asking how to use it not avoiding it. I know it's asbolute ss

regal scaffold
upbeat hornet
sterile token
regal scaffold
#

You don't even know what I'm trying to do but that's behind the point. I just asked if anyone knew how to add it to maven

lost matrix
#

First of all: Never do anything database or file related on the main thread.

  • Never make data structures public.
  • Never ever make data structures public & static.

You should create at least 3 different classes for whats in this one class.
Try to follow this principle:
Every class should only have one (1) purpose.

sterile token
lost matrix
#

For example here is a listener for my GUI library

#

It has only one single purpose: Listen for events and delegate them to where they are needed

sterile token
lost matrix
#

Sure

sterile token
#

oh wolw

upbeat hornet
#

ok

sterile token
#

how you do it? I want to do pagination with guis, but i dont get their logic to be written

lost matrix
#

And auto updates. And animations etc

upbeat hornet
#

Yeah I'm more used to javascript and python and in theese projects I did seprate my files but the features themselves would be written in a single module

sterile token
#

But going back to my old question, what can be causing that my command doesnt give any output, like if it where an empty command

I have decompile it and checked, but the command is not empty

upbeat hornet
sterile token
#

Except this command

lost matrix
sterile token
lost matrix
lost matrix
sterile token
#

Like if it jsut where an empty command, wuth no code

lost matrix
#

Ok but thats not what you described at the beginning...

upbeat hornet
lost matrix
sterile token
#

Wait let me restart IDE, yesterday i were having issues similars, and where caused because maven wasnt updating the jar

sterile token
lost matrix
upbeat hornet
#

Ok I think I'm gonna spend the next 3-5 days re coding everything

sterile token
#

?paste

undone axleBOT
sterile token
lost matrix
regal scaffold
#

Jesus christ I did it. I was able to add CMI. It's gotta be the most terrible plugin ever made

sterile token
#

๐Ÿ’€

regal scaffold
#

When did I say it wasn't terrible. But I still needed to add it

lost matrix
regal scaffold
#

Just a heads up

sterile token
#

Smile also this is really clown

#

Because the command was working few days ago and i didnt modify it never

#

๐Ÿ˜ก

#

Well no other option to see, just left this

lost matrix
regal scaffold
#

Nope

#

Doesn't work

#

I was trying for 30 minutes

#

You need to install CMI-LIB

#

Build it

#

Get the jar

#

Paste it manually into CMI-API/libs/

#

And then mvn install CMI-API

#

And finally it worked

lost matrix
#

Ok let me try...

regal scaffold
#

That happens if you try building directly

#

Without the lib

lost matrix
#

There you go. Not even 3 minutes

#

No need to build anything

regal scaffold
#

Didn't work for me I guess

lost matrix
#

I just downloaded the jar and installed it
mvn install:install-file -Dfile="CMI-API9.3.1.2.jar" -DgroupId="com.zrips" -DartifactId="CMI" -Dversion="9.3.1.2" -Dpackaging="jar"

regal scaffold
#

I wish it did

#

Would've saved me 30 mins

lost matrix
#

lul

#

But now you got it at least

#

Just remember: You can install literally any jar into your maven repo.

#

Without downloading the project

regal scaffold
#

It's failed to me 3 times already

#

FabledSkyBlock was another one

split iris
#

how to make minecraft server use all threads and cores?

lost matrix
split iris
upbeat hornet
#

minecraft servers already use multiples threads
It's just that it uses a whole thread for chat and another for everything else

(It has more than that, but it's a quick summary) You can't just change that

#

that' why when lagging, sometimes the chat will still work

split iris
#

Optimezed spigotmc why download?

#

I read somewhere that spigot-type kernels are also multi-threaded

sterile token
#

mc servers arent multi threaded, because of how worlds and chunks works

tardy delta
#

spigot type kernels?

#

lol

split iris
#

Advise another engine, spigot is outdated

sterile token
#

๐Ÿคฆโ€โ™‚๏ธ

#

This is spigot != paper != glowstone

split iris
#

???

sterile token
#

yeah you cant get supported from other paltforms, this is only for spigot and bungee apis

split iris
#

Spigot sucks, doesn't even support multi-core

sterile token
#

Dont came here to fuck

tardy delta
#

๐Ÿ’€

sterile token
#

LMAO another paper lover

#

I love to swear them because they dont even have good arguments

split iris
#

Paper ?

#

what kind of paper

sterile token
# split iris Paper ?

If it does not add, do not subtract, in other words if you are going to come to break things to this community do not bother to do it, because you will be banned at the touch and well done.

#

๐Ÿคฃ

split iris
#

ban me because I'm pointing out engine problems? stupid

tardy delta
#

where engine

split iris
#

multi-threading and cores do not finish large servers for normal operation

sterile token
#

I think it's no use just complaining, wouldn't it be better to act directly on the problem yourself and solve it, instead of coming to break things.

tardy delta
#

use minestom then

split iris
#

my processor is 10% loaded, but in Minecraft it says that 90% is loaded

sterile token
glossy venture
#

its a mojang issue

sterile token
glossy venture
#

mojang is shit at coding servers

#

dont go cry about it here

#

noone asked

sterile token
split iris
sterile token
#

๐Ÿ˜‚

glossy venture
#

their codebase is already fucked

#

idk why they dont put diff worlds on diff threads

#

and sync them

#

but they dont

split iris
#

Clearly, then you need to take the processor at a higher frequency ...

sterile token
#

Yeah if microsoft really where interested on minecraft, they already will code them from scratch instead of using mojang shity bases

sterile token
glossy venture
#

but worlds barely interact with eachother

split iris
#

Why is Minecraft written in obsolete Java? Why not write your own engine))

#

no one thought)

glossy venture
#

it is a custom engine

#

in java

sterile token
glossy venture
#

java really isnt that slow, tho it is pretty memory inefficient

sterile token
glossy venture
#

but also much harder to mod so im glad its written in Java

#

well not a lot harder

split iris
sterile token
#

๐Ÿ˜‚

glossy venture
#

no a concept can not be profitable but the game has clearly shown itself to be profitable judging by the 230 or so million sales

split iris
#

I thought spigot is a custom modified multi-threaded kernel...

glossy venture
#

nah its a fork of craftbukkit which is just minecraft with an api and plugin loader

split iris
#

I will modify the core myself, it wonโ€™t work, one core per lane does not take out loads

glossy venture
#

it introduces some optimizations

split iris
#

Are there any optimization plugins or something like that?

glossy venture
#

not really, you can look at more optimized forks tho

#

like purpur

sterile token
#

๐Ÿค”

glossy venture
#

purpur is a fork of paper which is a fork of spigot which is a fork of craftbukkit which is a fork of minecraft server

#

and with each tier it gets more optimized

split iris
glossy venture
#

idk if youre going to succeed in making Minecraft multithreaded without completely rewriting the server

sterile token
#

Why would you be surprised by this, knowing that minecraft was bought from Microsoft as a throwaway, they just bought it for the sake of buying it.

glossy venture
#

yeah

#

most of them do

#

probably like 99.9%

sterile token
#

Dont just contain the NMS?

glossy venture
#

no nms contains the nms

#

craftbukkit is a fork of nms which implements the bukkit api and therefor allows plugin loading

split iris
#

it?

sterile token
glossy venture
#

nah bukkit is an api

#

you could make a stupidly simple mc server

#

and implement part of the bukkit api

#

and load simple plugins

sterile token
#

right

#

Smth extra orby i need your help but not related to coding

glossy venture
#

im on phone but whats problem

split iris
#

Papermc does not support 1.16.5?

glossy venture
sterile token
#

Have you seen any library on github which allow you to write commands, scheduling and common things between bungee and spigot, but in the same way

glossy venture
#

you probably need to find some specific downloads page

glossy venture
#

you can use a message broker like rabbitmq

sterile token
#

What?

#

I mean writing refering to coding

glossy venture
#

oh nvm then

#

nah

sterile token
#

What do you think about it?

glossy venture
#

you mean like an abstraction layer

sterile token
#

Yeah basically

glossy venture
#

for scheduling and shit

glossy venture
#

could be useful in some cases

sterile token
#

Because in my case i work a lot with plugins for bungee and spigot, sync with mutli proxies/servers and i always need to change code for bungee and spigot

#

Which can be written in same way

glossy venture
#

yeha

#

you can also use a command framework though

#

for commands

#

which probably has bungee support

split iris
#

Why Purpur and Paper top?

glossy venture
#

and build on top of spigot and paper

#

which already have optimjzations

split iris
#

Ok shanks

sterile token
#

They comm is really toxic, they ban you for everything/whatever and they just critice when you ask for support because they swearing that you must learn paper and shits like that

split iris
#

Which of us is still a toxic person

glossy venture
#

paper api and a lot of the discord community sucks ass but the server software is pretty good

sterile token
#

Orby stil lalive?

glossy venture
#

yes

sterile token
#

I thinking to try coding something like a multi platform library, which allow you to implements simple modules but like papi extensions

glossy venture
#

nice

sterile token
#

hat you think?

#

Because its really annoying to having a huge core but coded it in diff plugins

#

So then i can do something like

public class Module {

  abstract ModuleInfo getInfo();
  
  abstract void enable();
  
  abstract void disable();
  
  ModuleManager getManager();

  ModuleLoader getLoader();

}
#

So then i can split bigger plugins easier

#

But the bigger issue i have is time, time goes really fast

storm scaffold
#

How do I fix this?

#

I can't figure out how to use an earlier version to compile

#

and the server host doesn't use the newer version

regal scaffold
#
[21:19:01 ERROR]: Error occurred while enabling Ichest v1.0-SNAPSHOT (Is it up to date?)
#

This is due to me shading NBTAPI incorrectly, right?

frail gazelle
#

how would i go about checking what half of a block a player is looking at? I currently have the var for what block the player is looking at, i'm just stuck on how to check what half it is (the block i am using to check is a tall grass block)

storm scaffold
#

What version do I use

regal scaffold
#
                        <relocation>
                            <pattern>de.tr7zw.nbtapi</pattern>
                            <shadedPattern>me.tomisanhues2.ichest.nbtapi</shadedPattern>
                        </relocation>

Error:

[21:19:01 ERROR]: [IChest] Plugin Ichest v1.0-SNAPSHOT has failed to register events for class me.tomisanhues2.ichest.listeners.IChestPlaceListener because me/tomisanhues2/ichest/nbtapi/NBTItem does not exist.
[21:19:01 ERROR]: Error occurred while enabling Ichest v1.0-SNAPSHOT (Is it up to date?)
#

Indeed I messed up and did provided instead of compile

#

Thanks for pointing it out

sterile token
#

Hmnn

#

I would suggest reading about maven

#

Im seeing that this happpen because you havent learnt how maven orks

regal scaffold
#

It was just a mistake because in the wiki there's 2 sections one as provided and another as shaded....

#

Not that deep

storm scaffold
#

For some reason changing the version still causes it to give the same error

#

I tried the Amazon Coretto thing for 18, 17, 16 and 15 and all of them did the same thing

#

You can use the community version for free

strong parcel
#

What is the standard method for sending multi-line messages to players?

regal scaffold
#
    public void sendMultiLineMessage(Player p, String... lines) {
        for (String line : lines) {
            p.sendMessage(line);
        }
    }
#

Example

#

What's minecraft 1.19_R2 nbt id

sterile token
#

I dont thin IJ allow thats

#

You can only open 1 project per session

lost matrix
sterile token
#

eclipse ๐Ÿ’€

#

i cant even think how many people used to suffer without using the adecuate tools for java coding

#

Smile i cant find the reason of the command not giving any output, its really weirds its like if the execute() method from BukkitCommand wa snever called / executed

lost matrix
#

Did you add a log message at the very first line of the command method?

sterile token
regal scaffold
sterile token
#

That why im really confused

lost matrix
#

Then the command is not registered properly

sterile token
sterile token
lost matrix
#

Then it has the wrong command executor

sterile token
#

maybe will have to open a PR to spigot gitrhub to get areponse

lost matrix
#

How do you register your command?

sterile token
#

thru command map

#

1m i wil lsprovide code

sterile token
regal scaffold
#

I'm trying to figure it out rn. one moment

strong parcel
# regal scaffold Make one

I was worried a for loop would allow other messages to interrupt. I guess it happens too fast for that to be a problem?

strong parcel
#

I want a nice block with no interruptions if that is possible.

regal scaffold
#

Not at all

#

You can't even notice because of how fast it is

sterile token
#

till not udnerstand tho

regal scaffold
#

@strong parcel Use what I sent it'll work perfectly

lost matrix
sterile token
river oracle
#

I prefer command map over plugin.yml too, but there is def a cleaner impl of command map than that verano

lost matrix
sterile token
#

And i have others cmds in the same plugin registered with the same class and that specific command is not executed

river oracle
sterile token
sterile token
river oracle
#

๐Ÿ’€ what there are proper uses for static methods

lost matrix
sterile token
#

That why im really confused because if the others commands works why this dont work

lost matrix
#

Lets try some heuristics. Change the order and try again.

sterile token
#

ok

#

till no reponse on /invites cmd

lost matrix
#

Alright so the problem has to be within the command class itself

sterile token
#

right

#

the 3 of them extends BukkitCommand, but if 2 of them works correct the 3d must work in the same way

#

Dont you think its ilogical this issue?

lost matrix
#

Its 99% a user error

#

Show The Invites and the Inviter command classes

sterile token
#

right

lost matrix
#

And the Inviter command?

sterile token
#

ait

#

it didnt sent it?

#

lamo discord is working as trash

#

there you have smile

#

Sorry for time, my os got freezed

lost matrix
#

Why do they have different JavaPlugin variables?

#

Anyways please add a sysout message right here and tell me the result.

sterile token
#

He?

#

oh my bad

#

I pasted old code

#

I was recoding the inviter command

sly acorn
#

what is the code to refill blocks when it reaches 32

sterile token
lost matrix
distant ridge
#

Anyone know about the ItemsAdder API and if there any way to parse the emojis in a string? My chat applies gradient colors so IA doesn't pick up on the emoji triggers

sly acorn
#

when the players block reach 32 (they were originally 64) I need it to refill back to 64. sorry for the bad wording

sterile token
#

Till not response on invites command

lost matrix
lost matrix
sterile token
#

Its really weird what is happening

lost matrix
lost matrix
#

So the command is fired properly

#

Are trolling me?

sterile token
#

No

#

They are 2 diff commands

#

Invites and Inviter

lost matrix
#

AH i see now

#

You added a message to both

sterile token
#

yeah

#

To both of them

lost matrix
#

What happens if you call the command via console?

sterile token
#

Same issue, no response from /invites

lost matrix
#

Do you have any other plugins installed?

sterile token
#

No, no other plugin

lost matrix
#

Is the command listed if you type in /?

sterile token
#

That why it doesnt even makes sense

lost matrix
#

Screenshot

sterile token
#

right

lost matrix
#

Yeah all of this makes no sense

sterile token
#

Here they are, but im stupid but written wrong descriptiosns, i just realized

lost matrix
sterile token
#

right

#

Till no respnse ๐Ÿ˜ก

lost matrix
#

Iterate through the fking CommandMap and check if your command is actually in there

sterile token
#

But the other commands is exaclty the same and works

#

ok

#

the command is there

#

Because the size of the List commands is 3

lost matrix
#

Ok no idea then. You must have done something really weird to break this or not shown all the infos needed...
Cant help you with that

sterile token
#

right its okay

#

no worry

lost matrix
#

I have literally never ever seen this problem

sterile token
#

its really extrange i will open a spigot PR, maybe its a 3rd party bug

lost matrix
#

This is 99.9% not a spigot problem

sterile token
#

yeah i know but we have seen all posbiilties

lost matrix
#

Not really. There is a ton we can do to investigate more.
For example identitiy checks for each element in the CommandMap.
Or manually calling the command

sterile token
#

Im thinking something is bugged between proejct build or while compiling

quaint mantle
#

What would happen if this was executed?
byte[][] x = {{1},{2,3,4}};

lost matrix
#

Nothing? This just creates a byte matrix and does nothing functional

quaint mantle
#

lets say we looped through it and printed it though

lost matrix
#

Then we would have looped through it and printed it

quaint mantle
#

wait would that be considered a reference of 2 arrays?

lost matrix
#

Well, yes you can phrase it that way. Its an array containing two arrays.

#

looping could either look like this

1
2
3
4
#

Or like this

[1]
[2, 3, 4]

Depending on how you loop/print

#

You are sitting in class, arent you...

quaint mantle
#

no

#

im just trying to understand

sterile token
#

Smile, finally fixed the issue with just invalidating cache and re compiling the project

#

๐Ÿ’ช๐Ÿฝ

frail gazelle
#

trying to set a block to a tall grass block, but it only sets it as the bottom half of the tall grass. how am i able to set a block to the 2 high tall grass?

sterile token
#

Smth like:

Location grass = new Location(100, 20, -100);
Location location = new Location(grass.getX(), grass.getY() + 2,  grass.getZ());
#

@frail gazelle

frail gazelle
#

if i am setting that as tall grass, it will still only set it as the 1 tall version, not the two tall

sterile token
#

is it that what you mean?

frail gazelle
#

no

#

let me try to explain again

sterile token
#

Hmn yeah

#

Im really confused

#

Please if you can make a paint draw or smth like that

frail gazelle
#

so I want to set a certain block to a tall grass block, not a regular grass block. the tall grass block is the two high version of the grass. when i try to set a block to tall grass, it only sets it to the bottom half of it.

sterile token
#

How are you doing that tall grass block

#

I dont understand

#

๐Ÿค”

frail gazelle
#

block.setType(Material.TALL_GRASS)

sterile token
#

Hmn i dont have any idea, i never heard about that

frail gazelle
#

anyone else?

sterile token
distant ridge
#

anyone know what this means for the ItemsAdder api?

java.lang.NullPointerException: Cannot invoke "ia.m.aK.k()" because "this.internal" is null

remote swallow
#

by chance is that in 1.19.3

distant ridge
#

yes

remote swallow
#

probably isnt updated for 1.19.3 changes ig

twin nimbus
#
package entities;

import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;

@DatabaseTable(tableName = "users")
public class User {

  @DatabaseField(generatedId = true)
  private int id;

  @DatabaseField()
  private String uniqueId;

  @DatabaseField()
  private String username;

  public User() {}
  
  public int getId() {
    return this.id;
  }

  public String getUniqueId() {
    return this.uniqueId;
  }

  public void setUniqueId(String uniqueId) {
    this.uniqueId = uniqueId;
  }

  public String getUsername() {
    return this.username;
  }

  public void setUsername(String username) {
    this.username = username;
  }

}
  @EventHandler
  public void onPlayerJoin(PlayerJoinEvent event) {
    event.setJoinMessage("");;

    Player player = event.getPlayer();
    String uniqueId = player.getUniqueId().toString();
    String username = player.getDisplayName();
    QueryBuilder<User, Integer> queryBuilder = this.userDao.queryBuilder();

    try {
      queryBuilder.where().eq("uniqueId", uniqueId);
      PreparedQuery<User> preparedQuery = queryBuilder.prepare();
      User user = this.userDao.queryForFirst(preparedQuery);

      if(user != null) {
        Bukkit.broadcastMessage("Hey " + username + ", back again eh?");
      } else {
        Bukkit.broadcastMessage("Hey " + username + ", youve never joined before, hello");

        User newUser = new User();
        newUser.setUsername(username);
        newUser.setUniqueId(uniqueId);
        System.out.println(username);
        System.out.println(uniqueId);
        this.userDao.create(newUser);
      }
    } catch (SQLException ex) {
      System.out.println(ex.getCause());
    }
  }```
#

uhhh what
[03:52:08] [Server thread/INFO]: executed create table statement changed 0 rows: CREATE TABLE IF NOT EXISTS `users` (`id` INTEGER AUTO_INCREMENT , `uniqueId` VARCHAR(255) , `username` VARCHAR(255) , PRIMARY KEY (`id`) ) ENGINE=InnoDB [03:52:15] [Server thread/INFO]: Unable to run insert stmt on obje ct entities.User@737650d8: INSERT INTO `users` (`uniqueId` ,`usern ame` ) VALUES (?,?) [03:55:54] [Server thread/INFO]: java.sql.SQLSyntaxErrorException: Unknown column 'username' in 'field list'

#

why does that happen

regal scaffold
#

[03:55:54] [Server thread/INFO]: java.sql.SQLSyntaxErrorException: Unknown column 'username' in 'field list'

#

java.sql.SQLSyntaxErrorException

#

If you're uncertain on how to use SQL correctly I recommend putting your commands through a SQL Syntax Checker or use a tool like DataGrip to test out queries and others @twin nimbus

#

@frail gazelle Still need help?

frail gazelle
#

nah i got it

#

thank you though

regal scaffold
#

Using Bisected right?

frail gazelle
#

yeah i used bisecting then setting the block data

regal scaffold
#

Perfect, good job figuring that out

frail gazelle
regal scaffold
regal scaffold
#

Of course I did

#

And I can tell you the syntax is wrong

#

Which is why i said what I said

#

Because I even went ahead and used datagrip. Like I suggested, to try it out

twin nimbus
#

oh.

twin nimbus
#

ormlite 6.1

regal scaffold
#

I'll check again and show you. But the error message speaks for itself

#

Unknown column 'username' in 'field list'

regal scaffold
twin nimbus
#

yes

regal scaffold
#

DROP TABLE username;

#

Try that, rerun your progrma

twin nimbus
#

unknown table

regal scaffold
#

Make sure you selected the database prior

#

Send a SS of the following commands as you run them

twin nimbus
regal scaffold
#

SHOW DATABASES;

twin nimbus
regal scaffold
#

USE VASI;

#

SHOW TABLES;

twin nimbus
regal scaffold
#

That's why

twin nimbus
#

?

regal scaffold
#

Oh wait

#

My fault, missread

#

DROP TABLE users;

#

And rerun your program

twin nimbus
#

alright

#

oh wtf

#

there wasnt anything in the users table

#

why would deleting it and recreating it do anything

regal scaffold
#

So what I think happened

#

Is you created the table first, without the data

#

Like the column data

#

And since IF NOT EXISTS doesn't check if it's identical just checks if it exists

twin nimbus
#

oh.

regal scaffold
#

It didn't overwrite the tables

twin nimbus
#

bruhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

regal scaffold
#

Did it work?

twin nimbus
#

thanks

#

yeah

regal scaffold
#

Anytime,

#

Do you have IntelliJ premium?

twin nimbus
#

it worked, thats probably exactly what happened, thanks for the help

#

naw

regal scaffold
#

If you go to college you can probably get it for free

#

Almost anywhere in the world. If so. Get IntelliJ premium and Datagrip. You can run queries and check data straight from your java code

twin nimbus
regal scaffold
#

Best of luck. If you need anything just post it here again

vital sandal
#

Community is still great enough

regal scaffold
#

If you have premium you can attach datagrip directly to IntelliJ

twin nimbus
#

also remote code editing

vital sandal
#

:l example?

regal scaffold
#

Do you know what datagrip is?

vital sandal
twin nimbus
vital sandal
#

Wrong reply*

twin nimbus
#

ah

#

lol

vital sandal
#

Not that needed but may try someday

regal scaffold
#

If you can get Jetbrains premium for free since it's super simple why not

#

It's really handy

vital sandal
#

I mean i do have it :d

#

Education plan is great but still good with community version

storm scaffold
#

What am I doing wrong?

#

Wait...

#

I am an idiot

#

it says for new projects

#

I've been changing that over and over literally doing nothing

tender shard
#

is there an easier way to write this?

tender shard
#

also be sure to change it in your pom

tender shard
tender shard
#

what the heck is this supposed to mean lmao

tall dragon
#

what the heck is any of that supposed to mean

#

obfuscation go brrrrr

tender shard
#

I guess "PluginManager"

#

huh

#

all of my projects now show "Lua" as maven dependency

#

why

tall dragon
#

maven wants u to add lua scripting to angelchest

eternal night
rough drift
#

@orchid gazelle Still need help?

tender shard
#

why didnt i try it before askig haha

eternal night
tender shard
#

somehow I thought it doesnt exist

#

is there a deque-like collection that works like a set? lol

#

guess I could just use a SortedSet

tender shard
#

I'll just use a LinkedHashSet

tender shard
#

i hate components so much haha

echo basalt
tender shard
#

it's ridiculous how annoying they are

echo basalt
#

changed |= whatever

tender shard
#

you are like one hour too late lmao

echo basalt
#

mf I was taking a math test

#

failed miserably joethinking

tender shard
#

for real, using components is so extremely annoying, like wtf

#

it's no wonder that everyone keeps using &ccolor codes

#

like how would I create a message that says "Bla bla whatever [TP]" and the [TP] is gold and bold and has a command attached to it?

#

no clue

#
                    ComponentBuilder wholeMessage = new ComponentBuilder("Processing chunk " + i++ + " out of " + size + " at " + coord.x() + ", " + coord.z() + "... ");
                    BaseComponent[] teleportButton = new ComponentBuilder("[Teleport]").color(ChatColor.GOLD).bold(true).event(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "minecraft:tp %s %d %d".formatted(sender.getName(), coord.x(), coord.z()))).create();

                    wholeMessage.append(teleportButton);

                    sender.spigot().sendMessage(wholeMessage.create());

this does send a message, but nothing's clickable

#

anyone?

#

I just want to have sth like "This is white text [Gold button]" where the button runs a command

#

there is literally no docs about this at all

#

lmao

#

wtf

#

I am async changig blocks, no problem. but "PlayerTeleportEvent must only be triggered synchronously" wtf lol

eternal oxide
#

async changing blocks shoudl also error

tender shard
#

nope, it works fine

eternal oxide
#

Youre not using Spigot then

tender shard
#

I know, I'm running paper

eternal oxide
#

spit

tender shard
hazy warren
#

Can someone help with getting maven setup properly for some project(s), I have a bunch of repos for plugins that seem to rely on each other but idk how to get them recognized with maven

tender shard
#

for spigot plugins?

#

oh wait, I havent read the full message

#

what do you mean with "repos that rely on each other"?

#

?paste your pom and the errors you are getting pls

undone axleBOT
storm scaffold
#

This causes particles to fly out from the centre, is there a way to make them just puff out in a small spot, like decreasing the speed?

quaint mantle
#

Guys how i can convert the normal font to another one ?

#

A E D
ร ร‰ ฤ

#

Like this

tender shard
#

manually create a map that maps the original chars to the chars you wanna replace them with

#

then go through your string and replace all chars with their other variant

quaint mantle
#

Oh ok

eternal night
quaint mantle
#

I will try

tender shard
#

for example, using a string builder:

public class Test {

    private static final Map<Character, Character> CHARACTER_REPLACEMENTS = Map.of(
            'A', 'ร',
            'E', 'ร‰',
            'D', 'ร'
    );

    public static String replaceCharacters(String input) {
        StringBuilder sb = new StringBuilder();
        for (char c : input.toCharArray()) {
            if (CHARACTER_REPLACEMENTS.containsKey(c)) {
                sb.append(CHARACTER_REPLACEMENTS.get(c));
            } else {
                sb.append(c);
            }
        }
        return sb.toString();
    }
#

or you could just use the array directly

quaint mantle
#

Thanks

tender shard
eternal night
#

Oh you are working against spigot API mb mb

tender shard
#

?whereami

eternal night
#

Welp rip bungee components

#

The builder is a fun place

tender shard
#

the components suck so hard

eternal night
#

It's bungee chat /shrug

tender shard
#

I mean, I could use minimessage, however I actually wanna know how it works with onrmal components

eternal night
#

Expected

tender shard
#

this is more a "curiosity" question than a "I just wanna get it to work" question ๐Ÿ˜„

eternal night
#

I mean adventure components have a lot nicer usage imo

#

On spigot Ehm

#

No idea tbh

#

Adventure platform:)

tender shard
#

well no idea about adventure, I only used it through minimessage

#

but I wonder, it MUST be possible to properly do it with bungee components, yet it's explained like nowhere lol

tender shard
# quaint mantle Thanks

directly using the char array is probably easier:

    public static String replaceCharacters(String input) {
        char[] chars = input.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            Character replacement = CHARACTER_REPLACEMENTS.get(chars[i]);
            if (replacement != null) {
                chars[i] = replacement;
            }
        }
        return new String(chars);
    }

(unless your replacement may be more than one char, in that case, go for a Map<String,String> or Map<Character,String> and use a StringBuilder)

quaint mantle
#

Oh yeah just more simple

#

Thanks

tender shard
#

np

hazy warren
# tender shard np
<dependencies>
        <dependency>
            <groupId>com.pepzii</groupId>
            <artifactId>WineSpigot</artifactId>
            <version>1.0</version>
        </dependency>
    </dependencies>

I have this right now, and I have the WineSpigot jar, how can I get it to recognize without changing the pom

orchid gazelle
cold field
#

Hi guys, I need to check all the blocks of a chunk. Any suggestions on how to do the work? I was thinking of dividing the job into many small tasks that are executed on the main server thread whenever there is free time, do you have another solution or do you think this one is ok?

#

Uh, just saw that it exist getChunkSnapshot

#

lol

hybrid spoke
smoky oak
#

why tf does buildtools for 1.8 only work in git bash

eternal oxide
#

works fine here at cmd

#

seems you are correct. 1.8 is nto building for me anymore

smoky oak
#

its not building source or documentation either

eternal oxide
#

I'm just checkign with no switches

smoky oak
#

well yea

#

if i run it with only the version arg in git bash it works

#

otherwise no

dry yacht
smoky oak
#

uh

#

something something material not available

#

lmc

eternal oxide
#

yep lots of errors on Enums

#

seems it's either source or javadoc thats killing it

smoky oak
#

iirc i tested both and neither worked

eternal oxide
#

I just ran with just remapped (although it does nothing on 1.8) and it works

#

in cmd

dry yacht
#
Starting download of https://s3.amazonaws.com/Minecraft.Download/versions/1.8.8/minecraft_server.1.8.8.jar
Exception in thread "main" java.io.IOException: Server returned HTTP response code: 403 for URL: https://s3.amazonaws.com/Minecraft.Download/versions/1.8.8/minecraft_server.1.8.8.jar

Uhm, ouch

smoky oak
#

this

#

its really irritating not to have javadoc available in ide lol

dry yacht
smoky oak
#

i mean

#

its faster to press control q than to open a web browser and search for it

eternal oxide
#

yep its failing generating the javadocs

#

it used to work

#

I have the javadocs from an earlier build

smoky oak
#

can you post them somewhere permanent?

#

or like

#

copy the relevant .m2 folders

eternal oxide
#

I don;t have them in my .m2 I have the generated docs

smoky oak
#

would still help

#

in html formar or as a javadoc jar?

eternal oxide
#

html

dry yacht
#

I think I can now build 1.8, after starting in a new folder with the latest BuildTools version. Still waiting for it to finish. Seems like yet another cache issue.

eternal oxide
#

--generate-source works

smoky oak
#

coulda sworn it didnt for me

eternal oxide
#

--generate-docs dies

dry yacht
#

Where are these docs supposed to be stored at? It completed execution for me but I cannot find the corresponding jar. I read that it only builds javadocs for bukkit, but I can also not find any javadoc jars in the local bukkit repo.

eternal oxide
#

It fails on Material and BlockFace

dry yacht
#

Not for me

#

Maybe I invoke it differently

eternal oxide
#

Building 1.8.8 ?

dry yacht
#

/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/bin/java -jar BuildTools.jar --rev 1.8 --generate-source --generate-docs

Ignore the absolute java path, is this correct otherwise?

dry yacht
eternal oxide
#

1.8.8 is the server version

dry yacht
#

I was just going off of this list, xD

quasi flint
eternal oxide
#

This is not so much about an old version as to why maven is failing to build javadocs

#

well javadoc is failing

#

interesting javadoc.exe works fine for 1.8 but fails on Material and BlockFace on 1.8.8

smoky oak
#

do u know by chance if one can use the 1.8 javadoc for 1.8.8?

eternal oxide
#

yes there should be no difference in API

smoky oak
#

ill just build 1.8 then

#

um

#
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  30.864 s
[INFO] Finished at: 2023-02-16T13:54:46+01:00
[INFO] ------------------------------------------------------------------------
Rebuilding Forked projects....
From file:///D:\Creation\Minecraft\Bukkit
 + 01d18206...1d2509b9 master     -> origin/master  (forced update)
 + 01d18206...1d2509b9 spigot     -> origin/spigot  (forced update)
HEAD is now at 1d2509b9 Revert finite checks in locations. Fixes SPIGOT-628 and others
Resetting Spigot-API to Bukkit...
HEAD is now at 1d2509b9 Revert finite checks in locations. Fixes SPIGOT-628 and others
  Applying patches to Spigot-API...
fatal: Resolve operation not in progress, we are not resuming.

whats that last line meaning

eternal oxide
#

ignore it

dry yacht
#

https://paste.md-5.net/epihanutek.coffeescript

It's funny how only Door.java seems to cause trouble, and it's the only place referencing a enum member using @see with member dot notation, instead of the usual javadoc way of using pounds (Enum#CONSTANT). Maybe that's tripping up the javadoc generator. Just a random thought tho.

eternal oxide
#

also fails on BlockFace but I've not looked at the reference

dry yacht
#

It's not about not finding the enum itself, as that's imported, the import is fine and the corresponding .java file is available. I've checked all of those. It's only about the javadoc itself.

eternal oxide
#

yep

dry yacht
eternal oxide
#

Its probably not worked for a while

#

however it builds all non 1.8.8 fine

dry yacht
#

Cannot change the file either, as BuildTools overwrites my changes. No idea where I'd have to put those patches to see if it's actually about the dots. Maybe it even pulls freshly, then I'm pretty much out of luck anyways.

eternal oxide
#

yes it pulls fresh from git each time

dry yacht
#

PR time, lol

eternal oxide
#

you can manually build

dry yacht
#

I was searching for the maven command it invoked

eternal oxide
#

I forget how though. there is a tutorial

dry yacht
#

Never used javadoc sadly

eternal oxide
#

you could just run the javadoc.exe

#

look in BuildTools\Bukkit\target\apidocs

tardy delta
#

that creates a html page right?

eternal oxide
#

yep

dry yacht
eternal oxide
#

1.8.3 javadocs are fine too

dry yacht
#

Still, what a stupid error, that needs to be fixed

eternal oxide
#

it should be really

dry yacht
#

Yeah, it ran

eternal oxide
#

so remove () from comment ?

dry yacht
#

It was about the darn dots

eternal oxide
#

ah

dry yacht
#

So we'd need to patch that in the repo

#

It's only Door.java

eternal oxide
#

you sure? I got errors on BlockFace too

dry yacht
#

The dot's used with the BlockFace constant references as well

eternal oxide
#

oh yep, in Door.java

dry yacht
#

Wait a sec, I'm gonna send you a diff

#

What a weird case man

eternal oxide
#

so it's purely using . instead of # in teh @see comments

dry yacht
#

Yep, which makes javadocs fail at parsing the doc-string

eternal oxide
#

very wierd

dry yacht
#

It was always about using # instead of ., as . seems to be an illegal character there

#

I forgot why, probably because of ambiguities

eternal oxide
#

I guess

#

Now just have to find someone who's willing to put their name on a PR for 1.8.8 javadocs ๐Ÿ˜„