#help-development

1 messages · Page 783 of 1

pine sandal
#

Hm, also interestingly, if you log into a fresh server, there are also no ChunkLoadEvents being fired for the spawn chunks either.

thin iris
#

do sculk sesors call player interact events

rotund ravine
#

Probably not unless touched

pine sandal
#

... How I am I one version behind already, I literally just built the server with buildtools. :/

rotund ravine
#

Updates ftw

wet breach
pine sandal
#

So is there a way to get the spawn chunks then (other then doing a hard coded check around spawn)? Since I need to know when a chunk is loaded to be able to grab my PMC data off of it for for custom gui related blocks in the chunk.

sullen marlin
#

plugin load: STARTUP

pine sandal
#

I guess I could get all loaded chunks at startup and process them. That would work.

wet breach
#

you know, its not hard to grab the spawn point either

#

typically most people don't change their spawn point, and is often times at 0,0

short pilot
#

How can you prevent players from breaking a block owned by another player? Say we already have the hashset of chunks to player mappings done

pine sandal
#

Cancel the blockbreakevent

wet breach
#

do you just not know how to look at the javadocs for events?

#

?jd-s

undone axleBOT
short pilot
pine sandal
#

There is literally a setCanceled method. Just saying

wet breach
#

event.setCanceled(true);

lost matrix
short pilot
#

uuids mapped to custom chunk objects storing x y and world

lost matrix
#

So Map<UUID, Set<ChunkIdentity>> something like that?
Make sure your custom chunk object implements equals and hashcode

dry hazel
#

ignores the field in ser/des iirc

storm crystal
#

why the fuck

lost matrix
#

Yeah marks the field to not being serialized. Gson for example makes use of this.

storm crystal
#

is it null

#

I literally set it to uuid

hushed spindle
#

persistent data container im assuming

rotund ravine
#

He asked this yesterday

#

Just search to see what we told him

lost matrix
storm crystal
#

yeah but why would it stop entire loop

lost matrix
#

Nvm... you are going through all entities in the entire world

hushed spindle
#

oh jinkies

lost matrix
#

This includes the players, all zombies, skeletons etc.
And many of them dont have a PDC value

storm crystal
#

great and thats why I have this line of code

#

to ignore them

hushed spindle
#

items too, paintings, exp orbs

storm crystal
#

thats the thing

hushed spindle
#

oh nvm

#

living entities

lost matrix
storm crystal
#

there is no exception

#

it just doesnt proc

drifting halo
#

duh, cuz you return instead of break

storm crystal
#

after this blue text

lost matrix
storm crystal
#

bro I dont care how optimized can be I want it to work first 😭

drifting halo
#

"why doesnt it continue??"

literally tells it to return

sterile token
#

Also, arent server armor stands less effective rather clients one?

lost matrix
# storm crystal after this blue text

You dont want to exit your method at this point.
You want to skip this value in your loop.
This can be done accordingly:

if(value == null) continue;
sterile token
#

right, because if you have thosens of them. Then you are over loading the user experience thats really funny tho

storm crystal
#

I am not going to make separate method for 3 lines of code that ill execute once wtf

lost matrix
#

Server sided armorstands generally have a much higher impact on the servers performance than virtual ones.

lost matrix
upper hazel
#

As a result of searching for a solution to generating a vanilla modefed chunk, I got the following answer - "Look at the net.minecraft.world package, all the necessary classes are there (or in sub-packages).

But this will probably not give you much, because
In vanilla there is no class ,,generation, - there are layers. (Several variants of smoothing, scaling, borders, bumps, noises, etc., in total more than 50 classes, if you do not count the classes of biomes, decorators and structures).

If you want to tweak the generation, it's better to use special events.
" - I came to the conclusion why I need it. And apparently I will have to use a resource-intensive approach and replace blocks via random in blockPopulator. But who knows if there are ways to "optimize the randomizer" to find the right biome with a higher chance?

glossy venture
#

is there some sort of

public static <T> CompletableFuture<List<T>> allOf(CompletableFuture<T>... futures);
#

which completes with a list of values

#

when all futures are complete

storm crystal
#

wdym I didnt really have much problems reading my own code so far

rotund ravine
chrome beacon
#

Could just make your own util for that

glossy venture
#

i will

lost matrix
#
  public static <T> CompletableFuture<List<T>> allOf(CompletableFuture<T>... futures) {
    return CompletableFuture.allOf(futures).thenApply(unused -> Stream.of(futures).map(CompletableFuture::join).toList());
  }

Here

drifting halo
rotund ravine
#

100p he’ll be downvoted and banned for no reason

lost matrix
#

I have a badge on there 😄

zenith gate
#

is there a way to cancel a scheduled task? I'm changing blocks in the world and storing them into a hashmap, but if the entity uses that ability again to change the blocks it will get overwritten, so when the block change starts happening, i revert the old hash back to its old state, and then repopulate the hash with the newer blocks.

that's one way of the blocks reverting, the other is if the ability isn't used again in a set time, if it's not after a short delay the blocks will revert automaticlly. what happens, tho is that it also clears the map once it's done, so is there a way to cancel that task if the ability is called again?

pine sandal
#

Seems its not a bug, since the plugins are unloaded before the world is.

glossy venture
lost matrix
storm crystal
#

wow I figured out the other problem

#

turns out that I have to use Health Bar Manager method first and then apply Damage

lost matrix
wet breach
storm crystal
wet breach
#

a bit of a joke 😛

storm crystal
#

:|

#

sorry

#

a bit burnt out today

zenith gate
lost matrix
glossy venture
#

doesnt rlly matter to be but im curious

#

as i can imagine allOf being implemented in a similar way

#

at least following the concept of completing the compound future when the last one completes

lost matrix
storm crystal
#

how bad is looping through living entities and deleting those who are armorstands and have specified PDC that also has a value tied to player's uuid?

#

is there anything to improve?

lost matrix
chrome beacon
storm crystal
#

why is it bad then

chrome beacon
#

Uuid is fine too

rotund ravine
#

Just hold weakreferences if you want 🤷🏽‍♂️

young knoll
#

^

storm crystal
#

not really you suggested it while I was trying to make code work

chrome beacon
#

Honestly though an Entity reference should be fine if you weak ref it

storm crystal
#

doing 2 things at the same time when ur code doesnt even work doesnt sound smart to do

lost matrix
# storm crystal why is it bad then

Usually you would design the entire system in a different manner.
Its missing a lot of classes which are crucial for organizing your objects.
For example a PlayerOwnedMobManager which internally keeps track of every entity owned by a player.
Then you detect entities in the ChunkLoadEvent and ChunkUnloadEvent to make sure you dont miss
any rogue ones. Removing all entities owned by a player would be simply

UUID playerId = ...;
this.getOwnedEntities(playerId).forEach(armorstand -> armorstand.remove());
young knoll
#

You can also be lazy and set the entity to not be persistent

#

Then it’ll get yeeted when the chunk unloads

storm crystal
#

I dont really rember I probably came up with an idea after I asked and did my own thing

chrome beacon
storm crystal
#

oh yeah okay

storm crystal
#

because I dont know how I want it to work

lost matrix
# storm crystal why this. and what's ->

Here an example on how such a manager could look like

public class PlayerOwnedMobManager {

  private final Map<UUID, Set<UUID>> playerOwnedMobs = new HashMap<>();

  public void addPlayerOwnedMob(Player player, LivingEntity entity) {
    this.playerOwnedMobs.computeIfAbsent(player.getUniqueId(), u -> new HashSet<>()).add(entity.getUniqueId());
  }

  public void removePlayerOwnedMob(Player player, LivingEntity entity) {
    this.playerOwnedMobs.computeIfAbsent(player.getUniqueId(), u -> new HashSet<>()).remove(entity.getUniqueId());
  }

  public boolean isPlayerOwnedMob(Player player, LivingEntity entity) {
    return this.playerOwnedMobs.computeIfAbsent(player.getUniqueId(), u -> new HashSet<>()).contains(entity.getUniqueId());
  }

  public Set<UUID> clearPlayerOwnedMobs(Player player) {
    return this.playerOwnedMobs.remove(player.getUniqueId());
  }

  public void removeAllMobsOf(Player player) {
    Set<UUID> mobIds = clearPlayerOwnedMobs(player);
    if (mobIds == null) {
      return;
    }
    for (UUID mobId : mobIds) {
      LivingEntity entity = (LivingEntity) Bukkit.getEntity(mobId);
      if (entity != null) {
        entity.remove();
      }
    }
  }

}
storm crystal
#

Yes I can see

#

lol

lost matrix
storm crystal
#

I am asking definition of the name

rotund ravine
#

He told you

storm crystal
#

what does "player owned mob manager" phrase mean

lost matrix
storm crystal
#

but how owned

valid burrow
#

whata is the sound effect called when you enderpearl somewhere

storm crystal
#

what does it mean that player owns a mob

lost matrix
storm crystal
#

I have no idea what this.dosomething means

lost matrix
#

You can call this class however you like. The purpose is this map:

private final Map<UUID, Set<UUID>> playerOwnedMobs = new HashMap<>();

It maps a players UUID to a set of entities UUIDs

storm crystal
#

and why there are methods that literally just return shit

undone axleBOT
valid burrow
#

@quaint mantle u okay?

storm crystal
#

u okay?

lost matrix
storm crystal
#

its not

#

I literally

#

just showed

#

that I have it

#

in methods

#

???

lost matrix
storm crystal
#

sometimes yes sometimes no depends

storm crystal
lost matrix
storm crystal
#

while I was already asking a few days ago about utility classes and splitting shit into methods

#

? someone else? xd

lost matrix
#

None of the methods in the manager are getters btw

storm crystal
#

not really its usually ?leanjava or "I wont help you anymore" type deal

rotund ravine
#

Oh yeah obligatory

#

?learnjava

undone axleBOT
low marlin
#

which listener is interacting with boat with chest

storm crystal
wet breach
wet breach
#

so just asking for help when you don't need it?

storm crystal
#

it doesnt imply that I dont need it

wet breach
#

but it wastes peoples time to explain something you don't understand

grim hound
#

Hmm

#

Ignorant one this time

#

I see

wet breach
#

that is what it comes down to and why some of us who may be more experienced and capable of providing you answers on a silver platter choose not to as we just see it as a waste of our time to do something like that when you don't even understand what is presented to you.

pine sandal
#

Okay, so I am trying to get an EntityType from a NamespacedKey that is a key I got from an EntityType (I am saving an EntityType into PDC as a STRING) But looking at the EntityType Javadoc it has methods from getting it by name and id but none for NamespacedKey. Any ideas other then interating over the whole EntityType Enum?

rotund ravine
#

Hmm

#

?jd-s

undone axleBOT
harsh palm
#

i need help, i made my code so that if the player is blocking it will return, but it still continues in game

if (target.isBlocking() || taserati.contains(player.getUniqueId()) || ammanettati.contains(player.getUniqueId())) { player.sendActionBar("§cNon puoi eseguire questa azione!"); e.setCancelled(true); return; } player.sendActionBar("§eStai ammanettando qualcuno..."); target.sendActionBar("§eStai venendo ammanettato..."); try { Thread.sleep(3000); } catch (InterruptedException ev) { ev.printStackTrace(); } ammanettati.add(target.getUniqueId()); target.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 100000, 5, false)); player.sendActionBar("§eHai ammanettato qualcuno..."); target.sendActionBar("§eSei stato ammanettato! Non puoi muoverti.");

rotund ravine
#

For loop here we goo

lost matrix
pine sandal
#

valueOf looks for a string exactly matching the ENUM's elements name. For example the EntityType.CREEPER requires the string "CREEPER"

#

Thats a function right from just a Java Enum

young knoll
#

Registry.ENTITY_TYPE.get

pine sandal
#

I forget that the Registry stuff is even a thing. (Especially when it doesn't show up when searching for EntityType.)

young knoll
#

Registry class best class

grim hound
#

Does the async pre login event happen on only 1 thread?

rotund ravine
#

There is no guarantee

storm crystal
#

how does Hypixel do this thing where there are skyblock islands for each player?

grim hound
#

And do blocked by bukkit's connection delay also fire the event?

lost matrix
grim hound
storm crystal
#

curiosity

grim hound
#

Or many servers even

harsh palm
#

L'ho modificato facendo un runnable ma il problema dello scudo persiste

grim hound
#

They have resources for that

storm crystal
#

why?

grim hound
#

Elaborate

storm crystal
#

isnt that giving away their server code?

grim hound
grim hound
#

Wdym by that?

harsh palm
#

if (e.getPlayer().getInventory().getItemInMainHand().isSimilar(Items.handcuffs())) { if (!ammanettati.contains(target.getUniqueId())) { if (target.isBlocking() || taserati.contains(player.getUniqueId()) || ammanettati.contains(player.getUniqueId())) { player.sendActionBar("§cNon puoi eseguire questa azione!"); e.setCancelled(true); return; } player.sendActionBar("§eStai ammanettando qualcuno..."); target.sendActionBar("§eStai venendo ammanettato..."); Bukkit.getScheduler().runTaskLater((Plugin) PoselloCore.getInstance(), new Runnable() { public void run() { ammanettati.add(target.getUniqueId()); target.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 100000, 5, false)); player.sendActionBar("§eHai ammanettato qualcuno..."); target.sendActionBar("§eSei stato ammanettato! Non puoi muoverti."); } }, 3 * 20);

When i try on someone that is blocking it still works

lost matrix
# storm crystal curiosity

I can only make an educated guess on how they achieve this.
But i am strongly leaning towards an architecture which can be deployed on CPUs with limited
single core performance but immense horizontal scalability. Such as having a separate
thread for each island, while still existing on the same server as others.

#

Where shared regions like the main island need to be deployed on high performance core CPUs because of
minecrafts core loop limitations.

grim hound
#

They might very much have their own server engine

grim hound
lost matrix
harsh palm
#

when i test it on someone that's blocking the event still continues, i wanted it to send the actionbar and then stop, what happens is the actionbar is sent but the event still continues

grim hound
#

What

#

Event

harsh palm
# grim hound Event

I wanted that it sends the action bar and stops there, doesn't continue while blocking.
But it sends the actionbar and continues with the other ones that i didn't want while blocking

grim hound
#

What

#

Eveng

#

T

#

Are yiu

#

Listening to

harsh palm
#

PlayerInteractAtEntityEvent

grim hound
#

Not understand your own code?

tranquil beacon
#

?pdc

harsh palm
lost matrix
grim hound
#

Because I don't know what tessaretti is

harsh palm
grim hound
#

That's not what I meant

#

Remember this:

#

Always debug

#

The if

#

Checks

#

And then when you see which one is failing

#

You trace it back to the assigning

#

And figure out the problem

#

We have no idea how your code works and you can easily work it out

harsh palm
storm crystal
grim hound
#

How to solve this problem

#

Debug

#

The if statements

#

And check for the failing

#

It's how everyone does it

#

As it's the most effective, fast and accurate method

grim hound
#

And the island itself is probably not resourceful

storm crystal
#

you dont just share how you do stuff that makes you so much money

grim hound
#

Did you even listen?

grim hound
#

Which way they used

storm crystal
#

you literally said that there are resources for it

grim hound
lost matrix
grim hound
#

Uh

#

Which part?

#

"suck"?

lost matrix
#

Telling someone that he sucks is rude

grim hound
#

I know

storm crystal
grim hound
#

I did it because I'm annoyed

wooden hearth
#

What's everyone doing?

grim hound
#

Like they told the world how they do it

#

They don't.

storm crystal
grim hound
#

Nobody ever said they did

grim hound
lost matrix
grim hound
wooden hearth
#

£2.50 how's that 😛

rotund ravine
#

For what?

wooden hearth
#

whatever you was talking about haha

grim hound
#

So no need for that

storm crystal
grim hound
#

They probably bought physical servers

#

That's the most optimal way

storm crystal
#

okay but we talking about sharing their method of making them right

#

like it implies that they did share their resources on how to make them

grim hound
#

Resources as of: Computational resources for island managment

storm crystal
#

oh

#

bro

#

why not say computing power or something like that

rotund ravine
#

Cause it was implied ahaha

grim hound
#

Because it's widely used

storm crystal
#

yeah but since its help related channel I link resources to something else

grim hound
#

And I've never once had someone misunderstand it before

storm crystal
#

and it sounded more plausible to me

wooden hearth
#

yeah island management I would set a limit for each server as it would be less lag aswell

grim hound
#

And what threads do by default

wooden hearth
grim hound
#

In a way

wooden hearth
grim hound
#

Some good CPU and RAM, custom server engine for packet managment and custom plugins

#

And multi-threading

wooden hearth
#

The new AMD CPU with 128GB of ram 😛

storm crystal
#

@lost matrix would that armorstand management thing you showed me be useful for making pets that'd be floating heads?

grim hound
#

CPU is usually the main issue

wooden hearth
#

would need a decent amount of cores aswell

grim hound
#

Virtual Threads.

#

But yes

lost matrix
wooden hearth
#

you would also need a good plugin to do all of this

grim hound
lament slate
#

hey whats the code for making something choose a random number

wooden hearth
grim hound
grim hound
ivory sleet
lament slate
#

Oks thanks

grim hound
#

Or ThreadLocalRandom.current() ...

lost matrix
grim hound
#

For concurrent

ivory sleet
#

which is snail slow

#

and prob not needed here

lament slate
#

Wow that is like 5 ways to make random ima use Math.random() since i am familar with that one

grim hound
#

That's just Random with a fancy name

storm crystal
#

so uh

ivory sleet
storm crystal
#

when I want to think of a new mechanic to implement

#

lets assume custom fishing

young knoll
#

Gotta use NMS and random source

#

Obviously

storm crystal
#

Id first have to think about how I want to make it as scalable as possible?

lost matrix
ivory sleet
grim hound
#

Mm

#

The seed is like more randomized?

#

Cuz the gen methods just link to a normal random

glossy venture
#

do you think theres a way to load bytecode for a multitude of jvms, basically sharing the code in memory

ivory sleet
#

yeah ive no clue how it works, just that its fucking slow because its secure yk and may invoke low level stuff to ensure that

glossy venture
#

could be useful for startup time and memory usage

glossy venture
#

probably

ivory sleet
glossy venture
#

true lol

grim hound
#

So it uses a native method?

ivory sleet
#

myes

#

or well

#

i suppose u could say that it does

slender elbow
#

"it depends"

ivory sleet
#

arent there new ones that do support 128 bits w RandomGeneratorFactory?

lost matrix
#

Just query the api for cosmic background radiation if you want a true sochastic random

lament slate
#

We are still talking about randomness XD

ivory sleet
#

yea lmao

#

ya

lament slate
#

I never knew randomness was complicated lol

grim hound
#

I once found like 10 Random classes built-in in the newer java versions

ivory sleet
grim hound
slender elbow
#

entropy is struggle

lament slate
#

Does anyone have any good videos or series on intelij coding since I am trying to get into the coding scene and was wondering if anyone knew a good youtuber that could teach me the basics

#

Thanks ill look at it

undone axleBOT
storm crystal
lost matrix
#

I wouldnt go for the oracle one

rotund ravine
#

Jetbrains academy should be good

lost matrix
#

Its only kinda usefull if you hop from another language to java

rotund ravine
storm crystal
#

that sounds new user friendly tbh

grim hound
#

I learned java creating an anticheat with one guy helping me set up the start and from the spigot java tutorial

#

Good times

#

Anyways, goodnight y'all

river oracle
#

does world edit have a copy and paste for their API for maven anywhere or am I gonna just have to figure this out

golden turret
#

I am trying to get the rail shape directly through the nms but when I was looking into the CraftBukkit's code I found this

#

how can I get the rail shape though the nms?

river oracle
#

I'm looking at that 🥲

rotund ravine
#

Someone made this

#

U just gotta update the version prolly

storm crystal
#

this fucker finally works

#

😭

river oracle
slender elbow
#

the repo is literally in the main API page lol

river oracle
#

smh

rotund ravine
#

Oh

river oracle
#

oh weit nvm

valid burrow
#

how does one fix this

#

maven

rotund ravine
#

Update java

valid burrow
#

great

#

really

#

grate

#

i have to use older version of java for some of this stuff to work

#

lile

#

like

#

cmon

#

also java 17 aint that old

rotund ravine
#

Java 17 should be fine

#

Just tell maven to use that

#

Or update maven

valid burrow
#

i did

river oracle
#

Is there any nice way to get a BoundingBox from a World edit CuboidRegion

young knoll
#

Uhh

#

Get the two corners and go from there

river oracle
#

I didn't know that would get the position in the world though

#

cuz I'm grabing it from a clipboard

#

technically wouldn't be in the world yet

wooden hearth
#

Hey, how could I format DD:HH:MM so I can get the values of each one?

lament slate
#

how do I run a test of my code to see if everything is printing properly in intellij

#

The run button seems to skip my onEnable do i need to force onEnable to start somehow?

rotund ravine
#

Compile it

#

Then start ur server with it in the plugins folder

lament slate
#

ok so I do have to use a server

#

To see if its working

river oracle
lament slate
#

Ok ya ill just get the server up and make me pc go brr

storm crystal
#

is there a way to check if entity is touching armorstand or anything like that?

#

or maybe scan area around armorstand for entities in a small radius?

sullen wharf
sullen wharf
storm crystal
#

but what you said here basically checks it

sullen wharf
#

ye

storm crystal
#

I want to utilize armorstands as hitboxes

sullen wharf
#

just do a 3x3x3 radius and you should be fine ig

#

or less

#

up to you

storm crystal
#

oi thats a bit too large lmao

#

but for test purposes not too bad

sullen wharf
#

🫡

#

bru

#

you can also just get the player's disntance

#

with armor stand's location

#

and see if it less than whatever you need

storm crystal
#

I feel like using armorstands could have more flexibility

sullen wharf
#

in what sense

storm crystal
#

I want to use them as hitboxes to abilities

storm crystal
#

rn it damages clicked entity

sullen wharf
#

That's one way armor stands are usually used iirc

storm crystal
#

but I want to make it castable without need to have entity nearby and just damage all detected enemies in like 1x1 range of armor stand

sullen wharf
#

just make an invisible armor stand, get the entities around it and then damage those entities

storm crystal
#

yeah thats about it

#

I thought it would be harder but

#

there is literal method for that

sullen wharf
#

and maybe kill the armorstand after the ability is casted

#

🤔

#

just to avoid bs

young knoll
#

Interact entities are perfect for this

#

Assuming 1.19.4+

sullen wharf
#

ye those are awesome

#

it's just sad mojang didn't implement them earlier

storm crystal
#

Are interact entities basically what you mentioned earlier?

sullen wharf
#
Minecraft Wiki

Interaction entities are entities useful for map or data pack creators to see who the last player to click on a certain spot is. They can only be created with the /summon or /execute summon command.
Interaction entities are invisible and of a custom size. Their boundary box can be viewed via the F3 + B debug shortcut.

#

It's those entities added on 1.19.3 (or 4 idk)

storm crystal
sullen wharf
#

I mean, their main function is to be used as a trigger or just as a placeholder entity for stuff like what you need

#

I'm not sure but they should also be better in terms of performance

young knoll
#

They have a customizable hitbox

sullen wharf
#

oh

#

what

#

you can make a giant interactable box?

chrome beacon
#

Yeah and a tiny one

sullen wharf
#

that's dope

young knoll
#

Sadly you can only control x/z size together

#

So it’s always a square horizontally

river oracle
young knoll
#

Yeah minecraft hitboxes are always the same size in the x and z axis

storm crystal
#

Is interact entity like 1x1x1 transparent block?

young knoll
#

Idk why that’s just how Mojang rolls

storm crystal
#

Or how should I imagine it?

young knoll
#

It’s an x * y * x box

storm crystal
#

Okay

young knoll
#

You can control x and y pretty finely

#

At least 100ths of a block

river oracle
remote swallow
#

get the world check if it exists

#

and/or matches the players world

#

convert to region/cubiod region get the corners create the box poof

river oracle
#

well the world fsfs exists

remote swallow
#

check it matches though

river oracle
remote swallow
#

no

#

you can select something in world a then run the commands in world b

river oracle
#

a file*

#

which is the difficulty

remote swallow
#

oh its a schematic

river oracle
#

si senorita

remote swallow
#

you can probably get the data from the schematic

river oracle
#

Oh you can :3 but it won't be representitive of the world

#

the clipboard has no clue where in the world its been placed at

remote swallow
#

shouldnt you know that part

river oracle
#

uhm well kinda, but I'd need to scan every block in the strucutre 😭 also well I can only kinda of know that information too

remote swallow
#

give us more info

slender elbow
#

i mean yeah, a clipboard is dimension unaware

river oracle
#

erm well https://paste.md-5.net/mobujitozo.java this is my place method for my MultiBlock structure (i gave up on making my own api fuck multi blocks). Anyways, I am placing this in the world with the code in this paste, however, once its placed, well how tf do I know where in the world it is. Most unhelpful is the WorldEdit API when tackling this problem as it provides 0 information on placement details. I do know the schematics width and height, but the placement in the world is relative to what position the schematic has been copied from

storm crystal
#

How can I get entities that are inside of them?

remote swallow
#

using all of my brain your probably going to need 4 different rotations of the mutliblock

#

copied from the block that will trigger the place

young knoll
#

I solved this by making my own schematic reader and writer and pasting system

river oracle
young knoll
#

That way I always know where it gets placed

remote swallow
#

you were the one to have friends

#

especially friends that want that pluigin

river oracle
#

very much so >:(

storm crystal
#

I love math

#

In fact I have linear algebra exam tommorow

river oracle
#

I can deal with it easily enough in 2d graphs, but god damn 3 dimensional worlds guh kill me

storm crystal
#

Not that I know of

#

Id never do such thing to my math

brittle geyser
#

can i add items to player inventory faster than PlayerInventory#addItem();

rotund ravine
#

What

drowsy helm
#

okay guys really dumb question but do exception messages use periodts at the end? Skull

rotund ravine
#

Doesn’t look like it

brittle geyser
#

can i get PlayerInventory#getContents without empty slots

candid galleon
#

why is your username so quirky

idle loom
#

how would one send colored console outputs now that the chat color api is deprecated

eternal oxide
#

ChatColor is not deprecated

idle loom
#

ah nevermind

carmine mica
#

(it should be tho)

eternal oxide
#

It should. Shoudl be pointed to bungeechat

remote swallow
slender elbow
#

chat color registry when

#

mojang

young knoll
#

It’s only 255^3 entries

worldly ingot
remote swallow
#

github struggles to show it

young knoll
#

The first entry is booo

#

Scary

worldly ingot
remote swallow
#

how much time

worldly ingot
#

Time is an unphathomable concept when programming a feature like that

remote swallow
#

did you write it choco

worldly ingot
#

I wish I had that level of patience

remote swallow
#

you dont?

worldly ingot
#

lmao no

remote swallow
#

would you have wrote like 3mb of it

#

then given up

worldly ingot
#

That's generous

hazy parrot
slender elbow
#

what a nice webpage

lament slate
#

int randoms = new Random().nextInt(11);
does this give me a random number between 1-10?

young knoll
#

0 to 10

lament slate
#

0-10 ? Ok thanks

#

I am getting this error:
[18:11:07] [Server thread/ERROR]: Could not load 'plugins\originswapper.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Unsupported API version 1.20.2
at org.bukkit.craftbukkit.v1_20_R2.util.CraftMagicNumbers.checkSupported(CraftMagicNumbers.java:303) ~[spigot-1.20.2-R0.1-SNAPSHOT.jar:3926-Spigot-dba3cdc-ffb1319]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:141) ~[spigot-api-1.20.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:394) ~[spigot-api-1.20.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:301) ~[spigot-api-1.20.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_20_R2.CraftServer.loadPlugins(CraftServer.java:437) ~[spigot-1.20.2-R0.1-SNAPSHOT.jar:3926-Spigot-dba3cdc-ffb1319]
at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:219) ~[spigot-1.20.2-R0.1-SNAPSHOT.jar:3926-Spigot-dba3cdc-ffb1319]
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:954) ~[spigot-1.20.2-R0.1-SNAPSHOT.jar:3926-Spigot-dba3cdc-ffb1319]
at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:298) ~[spigot-1.20.2-R0.1-SNAPSHOT.jar:3926-Spigot-dba3cdc-ffb1319]
at java.lang.Thread.run(Thread.java:833) ~[?:?]

Is it because my plugin yml?
name: OriginS
version: 1.0
main: skii.untitled.OriginRandom
api-version: 1.20.2

eternal oxide
#

api-version 1.20 not 1.20.x

lament slate
#

Ah

#

wait .x?

#

Ok just 1.20

#

got it

#

i knew there was something wrnog with me yml thanks

remote swallow
#

@worldly ingot im looking at potion, the key is on the itemstack not potion so would i convert the potion type to stack, to nms potion and get thekey

worldly ingot
#

PotionEffectType (CraftPotionEffectType) has a MobEffectList instance as its handle which has a getDescriptionId()

#

You'll have to touch the PotionEffectTypeWrapper as a result

remote swallow
#

ill save that one for tomorrow, how do i get the nms enchantment from bukkit enchantment name, bc the build in registry takes generic which for enchant is int i think

#

infact

#

ill do that all tomorrow

hoary tiger
#
zombie = world.spawn(loc, Zombie.class);
        LootTable table = new LootTable() {
            @Override
            public @NotNull NamespacedKey getKey() {
                return new NamespacedKey(Domon3.getPlugin(Domon3.class), "loot_table");
            }

            @Override
            public @NotNull Collection<ItemStack> populateLoot(@Nullable Random random, @NotNull LootContext lootContext) {
                Collection<ItemStack> stack = new ArrayList<>();

                Bukkit.getLogger().log(Level.INFO, lootContext.getKiller().getName() + " killed my mob!");
                System.out.println("Working?");

                ItemStack is = new ItemStack(Material.BONE_BLOCK);
                stack.add(is);

                return stack;
            }

            @Override
            public void fillInventory(@NotNull Inventory inventory, @Nullable Random random, @NotNull LootContext lootContext) {
                System.out.println("Working");
            }
        };
        zombie.setLootTable(table);

hello, I have this code to create a custom loot table when the zombie dies but the populate loot function is not called. Is there a better way to set the loot table of a mob?

quiet ice
#

Hey there, is anyone familiar with an uptick of reports where eclipse cannot import Gradle projects?

#

Specifically 7.X Gradle projects

vocal cloud
#

Sounds like you should accidentally download intellij KEKW

storm crystal
#

Im sorry you had to deal with jetbrainless syndrome

#

Your treatment should begin immediately after you download Intellij

quiet ice
tender shard
keen star
#

?mappings

undone axleBOT
naive meadow
#

What event fires when player lowers shield ?

valid burrow
#

p#isBlocking its not an event though not sure if there is one

#

you could loop until they arent blockinh anymore after blocking

#

actually scratch that

#

.isBlocking is depricated and related to Sword blocking

#

i think

valid burrow
#

stop using eclipse

#

its that easy

quiet ice
#

There simply is no viable alternative

Mind you that I often work on 5+ Projects parallel to each other, IJ simply does not support that outside of Mac systems

quaint mantle
#
[ERROR]   location: interface net.minecraft.core.Registry```
what is this in 1.19.3+?
dry hazel
#

Registries#BIOME I think

ivory sleet
#

yeah thats right

valid burrow
quiet ice
#

Not a viable alternative

valid burrow
#

why

#

whats missing

quiet ice
#

Opening more than a project at once?

valid burrow
#

why would that not be possible in intj xd

quiet ice
#

It simply isn't - or at least noone told me how you can do it

valid burrow
#

what

#

you can literally just open as many as you want

quiet ice
#

Apparently it works on macs though, whatever

valid burrow
#

it works on windows and linux too

quiet ice
valid burrow
dry hazel
#

yes you can

quiet ice
#

Hm, how though?

valid burrow
#

select „open in different window“ instead of open in same window

quiet ice
#

Opening in the same window replaces the project

dry hazel
#

file -> open project, prompts new or current window dialog

quiet ice
#

(irony)

#

At that point it is performance bye-bye

valid burrow
#

well then whats the problem

valid burrow
quiet ice
#

And productivity goes down the floor as you'd need to open every project

valid burrow
#

if your computer cant handle multiple windows of intj you got bigger problems

valid burrow
quiet ice
#

Hm. I'll take a closer look again

valid burrow
#

i can work on like 10 projects without any issues

#
  • minecraft and testserver
quiet ice
#

Well I am just accustomed of the eclipse workflow of having different projects be tightly interlinked but I never paid much attention to IJ as I always assumed they were separate processes

dry hazel
#

ij is memory hungry, but you can get it to a surprisingly workable consumption if you're willing to spend some time tuning

quiet ice
#

Apparently not though, so I'll give it a go I guess

#

Also sorry for my tone, I am feeling unwell

dry hazel
#

flu season

onyx fjord
#

is there a non overly complicated how have recursive maps?

#

i have an arrays of strings {"a", "b", "c"}
I wanna create a map of maps like so

a{b{c{}}}

#

chat gpt wasnt helpful

hazy parrot
#

What

rotund ravine
#

Hello, this is Bing. I can help you with some Java code. 😊

A recursive map is a map that contains other maps as values, and can be nested to any depth. One way to create a recursive map from an array of strings is to use a loop and a helper method. Here is an example:

import java.util.Map;
import java.util.HashMap;

public class RecursiveMap {

  // A helper method that creates a nested map from a string array
  public static Map<String, Object> createNestedMap(String[] arr) {
    Map<String, Object> map = new HashMap<>();
    for (int i = arr.length - 1; i >= 0; i--) {
      // Create a new map with the current element as the key and the previous map as the value
      Map<String, Object> newMap = new HashMap<>();
      newMap.put(arr[i], map);
      // Update the map reference to the new map
      map = newMap;
    }
    return map;
  }

  public static void main(String[] args) {
    // An array of strings
    String[] arr = {"a", "b", "c"};
    // Create a recursive map from the array
    Map<String, Object> recursiveMap = createNestedMap(arr);
    // Print the recursive map
    System.out.println(recursiveMap);
  }
}

The output of this code is:

{a={b={c={}}}}

This is one possible way to create a recursive map from an array of strings in Java. There are other ways to do it, such as using recursion or streams. You can learn more about maps and other data structures in Java from this tutorial. I hope this helps. 😊

Source: Conversation with Bing, 10/11/2023
(1) java - Recursive merge of N level maps - Stack Overflow. https://stackoverflow.com/questions/25773567/recursive-merge-of-n-level-maps.
(2) java - Is it a good practice to use a recursive Map (Map of Maps .... https://stackoverflow.com/questions/50490482/is-it-a-good-practice-to-use-a-recursive-map-map-of-maps.
(3) How to implement map, filter, and reduce with recursion - freeCodeCamp.org. https://www.freecodecamp.org/news/implement-array-map-with-recursion-35976d0325b2/.
(4) Recursively Flatten values of nested maps in Java 8. https://stackoverflow.com/questions/37462264/recursively-flatten-values-of-nested-maps-in-java-8.

freeCodeCamp.org

Array.map We all probably know Array.map. It transforms an array of elements according to a given function. double = (x) => x * 2; map(double, [1, 2, 3]); // [2, 4, 6] I’ve always seen it implemented along these lines: map = (fn, arr) => { const mappedArr

onyx fjord
#

thanks

rough drift
#

I am about to go insaneeeeeee

rotund ravine
rough drift
#

[butiw, arnyou] should be but, i, warn, you

rotund ravine
#

?

rough drift
#

working on segmentation of words

#

I have a filter which can't filter words like youareanasshole

#

so I am trying to split it to you are an asshole (or even you are an ass hole)

quaint mantle
#

Download words txt

#

then split with that

rough drift
#

that has a far longer runtime

#

it is better

#

and I don't mind using up some more time

#

best_match is what gets me

#

I don't know enough python to convert it lol

quaint mantle
#

You can embed it

rough drift
#

no

#

that ruins the perf gain lmao

quaint mantle
#

Lol ok.

rotund ravine
rough drift
#

tried with the non paid one

#

it doesn't grasp it

rotund ravine
#

Send me your prompt

quaint mantle
rough drift
#

it uses them to compute some probabilities

#

and then maths to split

rough drift
rotund ravine
#

I am too lazy to copy it on phone give me sec sigh

quaint mantle
rough drift
#

Load times don't matter, it's like 1s rn

#

the problem is actual execution

quaint mantle
#

What algorithm does bukkit use to raytrace

#

or nms idk what it does

rough drift
#

Vector maths probably?

#

Just adds a value to a vector, gets the block and checks it

#

afaik

quaint mantle
#

isn't there multiple algorithms for that tho or is it just the approaches and gets close and closer

wooden hearth
#

Hey any good libs for SQL Database?

#

Il have a look thank you

quaint mantle
#

For those huge methods (many parameters), wouldnt it make more sense for like a RayTraceSettings object

lost matrix
young knoll
#

Which one

blazing stream
#

I use REST PAPI plugin.... but the developer is really busy with his life and does not respond

i installed the plugin into my server (i have papi installed too). the plugin has no config or wiki to refer to...
the only thing is the spigotmcpage (same stuff as readme on github). in the How Does It Work? section, it says

http://backend.ip: port/<player-uuid>/<placeholder-without-%>, so an example would be:
http://example.com:8080/da8a8993-adfa-4d29-99b1-9d0f62fbb78d/player_name (returns json containing "Fredthedoggy")

here it uses port 8080, how would i use that with my server? the same port as my server? (that does not work!)
the 8080 does not work too! Client sent an HTTP request to an HTTPS server. (probably cause i have a website [pterodactyl] hosted on it?)
what do i do?

blazing stream
#

it should be accessible from the browser too!

eternal night
#

the browser does https ?

#

just, smack https infront instead of http

blazing stream
#

the error above shows up ONLY when i use 8080 which is NOT the ip for the server

eternal night
#

8080 is the port

lost matrix
#

Which part of this do you want to "remake"

eternal night
#

the ip address remains the same

blazing stream
#

i meant the ip

#

my bad

#

the port**

lost matrix
#

lol

blazing stream
#

my bad x2

#

lmao

eternal night
#

Well yea, obviously its a different port

blazing stream
#

what would happen if i have more than one server hosted on the same machine?

eternal night
#

they'd need different ports

blazing stream
#

how do i change the port

#

if theres no config

#

😭

eternal night
#

there is a config

#

the plugin is just utter garbage

lost matrix
#

Yes i saw it. Which text algorithm do you mean exactly?

eternal night
#

it reads from a config here

#

it probably just doesn't create that config ?

blazing stream
#

bruh?

#

so he has to change the config on his github

#

OR

eternal night
#

no

blazing stream
#

i have to fork

eternal night
#

you create a config.yml

#

locally

blazing stream
#

oh

eternal night
#

the plugin will read it in

#

just

cold pawn
#

Anyone know what I need to set for a protocolLib respawn packet (1.20.2). Wiki is pretty confusing and I cant seem to find anything online that helps.

eternal night
#

it doesn't create it by itself because the author I guess did not want that ?

blazing stream
#

this is just dumb

eternal night
#

I have seen nicer code yea

blazing stream
#
package me.fredthedoggy.restpapi;

import java.util.Arrays;
import java.util.List;

import static java.util.UUID.randomUUID;

public class RestPapiLoader {
    private final Restpapi parent;

    public RestPapiLoader(Restpapi parent) {
        this.parent = parent;
    }

    public void enable() {
        this.parent.webServer = new SparkWrapper();
        org.eclipse.jetty.util.log.Log.setLog(new NoLogging());
        this.parent.getCommand("restpapi").setExecutor(new RestPapiCommand(this.parent));
        this.parent.getCommand("rpapi").setExecutor(new RestPapiCommand(this.parent));
        loadWebServer();
    }

    public void disable() {
        System.out.println("[RestPAPI] Disabled Webserver");
    }

    public void loadWebServer() {
        this.parent.config.addDefault("port", 8080);
        List<String> defaultTokens = Arrays.asList(randomUUID().toString(), randomUUID().toString());
        this.parent.config.addDefault("tokens", defaultTokens);
        this.parent.config.options().copyDefaults(true);
        this.parent.saveConfig();
        this.parent.webServer.create(this.parent.config.getInt("port"), this.parent.config.getStringList("tokens"));
        System.out.println("[RestPAPI] Enabled On Port " + this.parent.config.getInt("port"));
    }
}`
#

this is the code for the config

#

what do i put in my config.json lol

lost matrix
#

They literally just add a bunch of spaces until every line is roughly the same lenght

eternal night
#

config.yml

#

not .json

blazing stream
#

yea...

eternal night
#

and well, just port: 8080

#

I presume

blazing stream
#

idk why i siad json lol

#

prolly cuz the app is js

#

dumb thing in the code...

lost matrix
#

When you have a line of text: Add a bunch of spaces until it has the same length as your other lines of text

blazing stream
#

it rquires a token sent in the http header or some shit

eternal night
#

Well yea

blazing stream
#

and theres no config where i can see the token

#

;-;

eternal night
#

authentication

#

you have to set the tokens...

blazing stream
#

i know

eternal night
#

in the same config you smack the port into 😅

blazing stream
#

it doesnt even print anything in the console saying you didnt specify a token

blazing stream
eternal night
#

wait actually, it does call saveConfig

#

so there should be a config file

blazing stream
#

there isnt

#

and apparntly, im not the only one

#

see discussions tab, last post

#

i cant send pics but

Guys I need help. There is no config file in the RestPAPI folder

smoky anchor
lost matrix
#

With a few lines of very basic code. Try to figure this one out.

smoky anchor
waxen ledge
#

I'm developing a "custom chests" plugin that, basically, allows players to have paged ender chests. Players must also be able to search items by query, and that's when I need a way to identify each item (I need to know their page and slot in the chest) to implement applied changes in the chest. The problem is that I cannot use NBT tags (nor ItemMeta, since item meta is just a wrapper for NMS tags) because I need items to keep stackable. After checking out NMS code, I found out that it's because two item stacks must have the exactly same NBTTagCompound in order to be stacked. My current solution is either patching the server (not preferred) or modifying the equals method using a bytecode editor, both to skip tags with a specific prefix from the comparison

#

I'm wondering if anyone faced this problem before or has any better idea

young knoll
#

Neither will work well

#

The client will still think they cannot be stacked, causing a lot of weird behaviour

waxen ledge
#

makes sense

eternal night
#

to implement applied changes in the chest confuses me ?
Player searches items and potentially removes them from the chest ?

waxen ledge
#

Sorry, I'm not a native english speaker. Yes, they may remove items from the search menu

eternal night
#

The search inventory is not the chest itself is it ? What prevents you from just keeping the page+slot number attached to the search inventory in regards to the displayed item

young knoll
#

You can have a seperate index that keeps track of what item is in what slot

eternal night
#

Like, you know what items you are showing in the search menu because you searched through your enderchest.
You hence also know where you found those items

#

listen to the removal of said items and yank them from the enderchest as well ?

grim hound
#

Is there a way to suggest to the VM that it should turn some certain reflections into bytecode?

#

Bruh

#

Isn't this still slower in the long run?

#

Since reflections called upon many times are turned into bytecode

rotund ravine
#

Why not just compile bytecode

#

Easy

grim hound
slender elbow
#

just have the Method/Field/Constructor in a static final field, the jvm will do what it deems necessary

#

"right away" is not a thing the vm does

#

the jvm's philosophy is that a piece of code will essentially run as few times so there is no real need to optimise things right away, then it'll keep statistics for every function invocation and when it does run more than a certain amount of times then it will optimise things

young knoll
#

The VM does not care for your mortal requests

grim hound
#

Also, if we could specify, by "bytecode" they mean direct memory access?

#

Like player.handle.connection equivalent?

#

Those being variables

young knoll
#

What are we doing with bytecode and why

rough drift
#

technically in bytecode you can?

rotund ravine
#

Just use reflectasm

rough drift
#

you could use an assembler to do that

#

granted you need to type the bytecode by hand

grim hound
#

I'm just curious of how that works

young knoll
#

ASM isn't that bad

#

But it's janky to use in plugins

slender elbow
#

reflection is just fine for that, again just keep the reflection things static final and the jvm will inline the calls eventually into their actual instructions

grim hound
young knoll
#

mmyeah just use normal reflections and let the JVM handle it

slender elbow
#

alternatively you can use methodhandles/varhandles but yeah, more of the same things, maybe more raw but still needs to be inlined later by the vm

grim hound
young knoll
#

Doesn't reflection use handles internally now

rough drift
#

idk

grim hound
rough drift
#

but using handles directly is faster

young knoll
#

It gets turned into raw java bytecode

rotund ravine
slender elbow
young knoll
#

Which is basically as low level as java goes

grim hound
slender elbow
#

bytecode is bytecode, it's what makes up a class file, it's what the jvm reads directly and interprets and eventually hits c1

grim hound
#

So it accesses the memory place directly (field/method etc.)

slender elbow
#

like if you have a static final MethodHandle for some static method, once you call it enough times it'll be compiled into the respective invokestatic instruction

#

"yes"

grim hound
#

Like if it were a direct call

young knoll
#

yes

slender elbow
grim hound
#

What does inline mean?

young knoll
#

And this is why spigot isn't super fussed over our reflective event system

rotund ravine
#

I recall the old event system

young knoll
#

Hoenstly I still woudn't mind a new event system

#

Could be fun

slender elbow
#

unless you turn on some experimental jvm flag

rough drift
#

I could update it to method handles

slender elbow
#

but that can break other stuff ofc

eternal night
#

I trust non static final things

rough drift
#

wouldn't be too hard

eternal night
blazing stream
#

yo lyxnplay
im still suffering with the REST API thing

it requires a token and i cant figure out how to use it

young knoll
#

There are some other improvements that could be made

rotund ravine
#

Doesn’t the event system compile to asm

eternal night
#

that is paper

young knoll
#

No

#

That's paper

slender elbow
#

d*wnstream

slender elbow
#

p*per

rotund ravine
#

Oh i see

young knoll
#

Ability to use consumers for events would be cool

slender elbow
#

i mean

rough drift
#

oh fair

slender elbow
#

yo ucan

#

kinda

rough drift
#

^

blazing stream
#

paper

slender elbow
#

do your own event executor

eternal night
#

p***r

young knoll
#

Well yeah, but simplifying it would be nice

eternal night
#

syntax sugar is always great yea

shadow night
#

can I run a mc server directly from IJ

eternal night
#

makes code taste better

rotund ravine
#

I usually write over the event system for good syntax sugar if i do something large

young knoll
#

I wonder if there would be any noticible performance gain from skipping events altogether if nothing is listening to them

#

Like, skip constructing the object + callEvent

rotund ravine
#

Probably not any major difference

eternal night
#

I presume

#

as a header with the name of token you pass the token

young knoll
#

Might help for some high frequency events

#

Idk I imagine the JVM is pretty optimized for object creation

blazing stream
eternal night
#

Question is, when is the check outweighing the usage

young knoll
#

Could just be a boolean check

eternal night
#

Like, every server gonna have a a dumb plugin listening to PlayerMoveEvent

young knoll
#

True

#

BlockPhysics tho

eternal night
#

so now you won nothing just another thing to check

rough drift
#

not so much

eternal night
#

Yea I guess ?

rough drift
#

I mean it's fast

eternal night
#

Valhalla

rough drift
#

but not that fast

eternal night
#

when

young knoll
#

I kinda want events for more things

rough drift
#

same

young knoll
#

But they might be too high frequency :c

eternal night
#

I want less events

#

fuck move event

young knoll
#

Gotta tell a player is moving somehow

#

¯_(ツ)_/¯

eternal night
eternal night
young knoll
#

I wanted to allow injecting callbacks into anything that ticks

blazing stream
young knoll
#

But apperently having server code directly call plugin code is against our API design

eternal night
#

Yea I mean

#

once that plugin unloads

#

its pretty not fun

#

now you have something referenced by the server that might capture god knows what

young knoll
#

I mean cleaning them up shouldn't be that hard

blazing stream
eternal night
#

The header is literally called "token"

#

not authorization

#

just

blazing stream
#

i tried token

#

didnt work

eternal night
#

'token': token

blazing stream
#

tried that too

eternal night
young knoll
#

Multimap<Plugin, Consumer<>> with weak keys mayhaps

eternal night
#

Well depends

#

yea but now your listeners need a plugin instance to register their callbacks

young knoll
#

Yeah that's the only annoying part

#

Plugin instance needed for many things

#

make me sad

eternal night
#

I mean, "callbacks into anything that ticks" also just like

blazing stream
#

error: 'The required authorization heads were not present in the request.'

eternal night
#

why ? xD

#

whats the usecase

#

when you have Scheduler

young knoll
#

Slightly faster than keeping the stuff in a list and using a scheduler

#

Probably not by much tho

#

:p

blazing stream
#
const token = 'none' // 'none' is the actual token name
           const response = await axios.get(`https://ip:8080/${playerName}/vault_eco_balance`, {
                headers: {
                    'token': `${token}`,
                },
            });
eternal night
#

The github source code does not produce that error o.O

#

it just gives you back "Unauthorized"

blazing stream
#

huh

#

thats when accessing it via my js application

eternal night
#

what the actual fuck

blazing stream
#

ig

eternal night
#

Yea I guess HMM probably just yanked back for any 401

young knoll
#

You just noticing the copilot thing now?

blazing stream
#

yea ig

eternal night
#

Yea lmao xD fucking copilot

rotund ravine
blazing stream
#

what do i do now

rotund ravine
#

Somewhat

eternal night
#

¯_(ツ)_/¯

#

you can try to debug your server with a debugger

blazing stream
#

i dmed the dev

eternal night
#

yea or that

blazing stream
#

hes busy tho

eternal night
#

uuf

blazing stream
#

talked with him about a month ago on some random shit

eternal night
blazing stream
#

he said he no longer maintains his projects

#

so ig ill get no response

young knoll
#

Time to make a new one

#

:p

blazing stream
#

and i dont know enough java to make my own rest api for papi

blazing stream
#

ill pay u

eternal night
blazing stream
#

500

#

nothings

eternal night
young knoll
#

500 exposures

blazing stream
#

na

river oracle
# young knoll 500 exposures

I code for exposure its worth it. I mean exposure is really worth it. I've dev'd for thousands of startups for exposure and profit shares once the server makes it big

#

as you can imagine I'm still poor living in my moms basement

blazing stream
#

ill actually pay u 1 iranian riyal

young knoll
#

Are you telling me their million dollar server idea was not in fact a million dollar server idea

blazing stream
#

(defo didnt search what the weakest currency is)

blazing stream
#

skill issue

river oracle
#

I have worked on servers that didn't release though

#

but the thing was I was payed hourly

#

so like idgf

blazing stream
#

then why u living in ur moms basement till now

#

:thonks:

young knoll
#

I've done one commission so far

river oracle
young knoll
#

The server made it like a month

blazing stream
#

same here

river oracle
river oracle
blazing stream
#

i've done lots of commisions, not code tho

#

mc renders

#

made bout ~200$

#

lol

young knoll
#

I probably should start actually doing commissions

#

Money good

river oracle
#

I always find spigot pr's much more fun than comissions though

eternal night
#

I wanna say there was a spigot thingy

#

I had to run

#

to check their shitty checkstyle settings

wooden hearth
#

I would do it privately otherwise you will loose some money

eternal night
#

anyone with a quick hint before I go on a quest to finding it

river oracle
young knoll
#

lol

river oracle
#

could you possilby be talking about the development profile

eternal night
#

Yes

#

perfect

young knoll
#

mvn whatever -P development

eternal night
#

thanks

river oracle
#

fr fr

young knoll
#

At least it's not BuildTools with C# style {}

eternal night
#

Do I not run this on CraftBukkit ? xD

#

Holy fuck

#

the amount of random errors don't event fit my terminal view

river oracle
#

did you apply patches uwu