#help-development

1 messages · Page 467 of 1

remote swallow
#

any question that will never result in the answer having decimals

remote swallow
#

39

regal scaffold
#

21

young knoll
#

I mean there is a simple solution to that

echo basalt
#

accurate

young knoll
#

Never divide

remote swallow
#

just having + and - is boring

young knoll
#

Hey

echo basalt
#

just open an 8th grade math textbook

young knoll
#

Don’t leave out X

lost matrix
#

Wait i did some uni stuff earlier, ill give you a question i found nice

young knoll
echo basalt
#

me omw to fail school swagcircle

remote swallow
#

ive only been to school like 4 days this year

#

i onyl went 5 last year

echo basalt
#

my final project is due in 2 weeks and I have a "hello world" program done

young knoll
#

Does that meet the criteria

echo basalt
#

no we've had like 6 months to work on it

young knoll
#

What if you write it in assembly

lost matrix
#

Solve this differential equation using a laplace transformation

#

It looks bad but the solution is very clean

young knoll
#

Yeah throw that in a chat games plugin

#

Just fuckin answer the question 5heads

lost matrix
#

20s timer starts now

echo basalt
young knoll
#

20s timer with really stressful music

#

Like the drowning music in the old sonic games

lost matrix
#

A heartbeat that gets faster with an abusive dad in the background yelling the
question at you

young knoll
#

Now I want to commission someone to make the most stressful music ever

#

All for a fairly relaxing game like minecraft

echo basalt
#

if you've ever played rhythm games, freedom dive would frighten the fuck out of you

lost matrix
#

Eh i should continue studying... Discord distracting as always

echo basalt
#

4 menus in

#

still for like 15 to do

#

only took me an hour

lost matrix
echo basalt
#

small price to pay for multi-server live updating

young knoll
#

Oh dang he’s got pixel art

#

He’s going all in

lost matrix
young knoll
#

Resource packs are all the rage these days

#

If your server doesn’t look like origin realms then it’s trash

#

Go sit in the dumpster and think about what you’re done

echo basalt
#

well

#

my issue isn't getting the data

young knoll
#

Exactly

echo basalt
#

my issue is just updating and displaying it

lost matrix
#

I honestly feel like resourcepacks arent needed for a server to be good

#

Look at Hypixel Skyblock. They didnt need one.

young knoll
#

No of course not

echo basalt
#

because my team member was a bitch and decided to just make every menu a new WhateverMenu(plugin).open(player)

young knoll
#

But damn to players want them these days

echo basalt
#

no interface no nothing

#

so I made a lil interface and a registry where I can do stuff like

#

updateMenus("code-management", group::containsPlayer)

#

and it will update all the code-management displays that the viewer is a part of

lost matrix
#

My teammate rolled his eyes and told me im exaggerating

lost matrix
echo basalt
#

yes indeed

#

and I was like

#

"ayo you got time? take these 2 interfaces and do shit" and the dude just replied "that's really smart"

lost matrix
#

Hehe

echo basalt
#

anyways it's 5am and I've worked maybe 6 hours this week so I decided to do it myself

#

and I kinda regret it already

echo basalt
#

but at least I'm getting cash money

#

didn't spend much this week

#

maybe I'll have enough cash to skydive next week

lost matrix
#

We'll know if you dont show up anymore

remote swallow
#

what the hell is a sealed class

young knoll
#

It’s a class filed with seals

#

It basically means you can set what classes are allowed to inherit it

#

Bukkit could actually get some use from that by restricting people from implementing various interfaces

echo basalt
#

imagine when bukkit makes InventoryHolder a sealed class

young knoll
#

But I don’t think MD would jump to java 17 just for that

echo basalt
young knoll
#

Seal JavaPlugin

#

We don’t need that

echo basalt
#

I'm literally just the guy that redirects everyone to your tutorials

young knoll
#

Could also seal listener

echo basalt
#

ahem

young knoll
#

Yes?

young knoll
#

He partying

echo basalt
#

10/10 commit message

#

I'm going to bed now

#

got a train to catch in 10 hours

wise mesa
#

That is so real

remote swallow
#

it should have been stuff

glossy venture
weak kayak
#

best commit messages: "fikxed ishuez", "fix", "add", "mmm mayonaiz", and last but not least "woops forgot to commit this ¯⁠\⁠_⁠(⁠ツ⁠)⁠_⁠/⁠¯"

lost matrix
#

"small changes" -164 files changed -43 files added

hazy stirrup
#

Hi I am new to spigot api. I am making a duels plugin.. Can someone help me to make a waiting lobby? Max player is 2 and min is 2 if it meets the requirements it is gonna start, and teleport players to a given location. If it dosen't the players either will stay or will exit they lobby. The player enters the lobby a command.

lost matrix
#

Create a lobby class.
Add a Set<UUID> in it
When you add players, check the set size
if it reaches N you teleport them

#

And dont forget to remove them from the set if they leave the lobby or server

hazy stirrup
lost matrix
#

You need to learn the very basics of java before you can start writing plugins.
So all primitives (int, long, float, double etc)
Control from (if statements and maybe switch statements)
Loops (for loop and while loop are enough)
Collection framework (List, Set and Map is what you should know)
Basics of Object orientation:

  • Whats an Object
  • Whats a class
  • Whats an instance of a class
hazy stirrup
lost matrix
#

A List is a collection of elements
[1, 2, 4, -2, 3, 3, 2]
They can be accessed by index and allows duplicates

A set is the same as a list but it doesnt allow duplicates
(1, 2, 4, -2, 3)
It also has no index access. But contains(), and remove() are
really really fast for them.

Maps simply map a key to a value
{"x": 10, "y":-3, "f": 77, "gk": -3}
You can access a value by providing a key.
It follows the same rules as a set as in: No duplicate keys are allowed

Thats all pretty much.

lost matrix
#

So to keep track of who is in a lobby, you simply create a Set<UUID> containing the players
UUIDs which are in the lobby.

hazy stirrup
lost matrix
#

Pretty much

hazy stirrup
#

oh thanks!

#

ok 1 more thing is that how will see if it has reached maxPlayers?

ashen quest
#

yo guys, im tryna add a local jar to my final plugin jar, this is a plugin that i depend on, and its provided at the runtime.

this is my pom.xml

<dependency>
            <groupId>online.viestudio</groupId>
            <artifactId>api</artifactId>
            <version>1.0</version>
</dependency>

However, when I do maven clean install it says cannot access online.viestudio.api.EconomyApi

lost matrix
lost matrix
ashen quest
#

Indeed, I used a command to install this jar to maven

#

Is there way I can check if its actually there, it did say build success in the command.

lost matrix
#

Show the (exact) command

ashen quest
#
mvn install:install-file -Dfile="./FCuc.jar" -DgroupId="online.viestudio" -DartifactId=api -Dversion=1.0 -Dpackaging=jar
lost matrix
#

Yeah looks good to me.
Check in your .m2 repo if the file is actually there

ashen quest
#

How to (Im on an ubuntu machine)

#

It is there

lost matrix
#

Depends on where you isntalled it
Default is /home/username/.m2 i think

ashen quest
lost matrix
ashen quest
#

IntellIJ

lost matrix
#

Invalidate caches and restart

#

Ah and add <scope>provided</scope> to your dependency

ashen quest
#

Nope, getting the same error when doing mvn clean install

#

However IntelliJ doesnt show any errors, like in the code the classes are there.

#

Its just maven

#

Ok its intelliJ which is trash, i tried mvn clean install in a terminal window and it worked.

lost matrix
quaint mantle
#

i have barrel that has hp when ever i hit them i want a title to display their hp what would be the best approach for that?

the hp is in the pdc

tender shard
#

using Player#sendTitle

#

in PlayerInteractEvent and/or BlockDamageEvent

quaint mantle
#

no i mean like

#

a

#

title floating in the air

#

with like a armor stands name or somethng

#

not quite sure how its done

lost matrix
#

Display entity

quaint mantle
#

whats that

sterile axle
#

hologram? lol

quaint mantle
#

arent holograms basically armor stands?

lost matrix
#

You should switch to display entities now

sterile axle
#

used to be but we have display entities now

sterile axle
#
Minecraft Wiki

Display entities are entities useful for map or data pack creators to display various things. There are Block Display, Item Display and Text Display, which are used to display blocks, items and texts respectively. They can only be created with the /summon or /execute summon command.

#

and Spigot has API for it

pseudo hazel
#

if you are using 1.19.4 that is ofc

sterile axle
#

yes

quaint mantle
sterile axle
#

rip u, armor stands it is

lost matrix
#

Time to update 😄

quaint mantle
#

i would love to but im not making it for myself its for a server

#

thats on 1.16

lost matrix
#

In 1.19.4 you can even give the barrel a hitbox with interaction entities

quaint mantle
#

1.19 seems cool

#

may try it out later

tender shard
#

latest version is always cool

lost matrix
#

I guess you can listen for arm swing, ray trace the target block and then simulate a hit.
For the health display you can use a marker armorstand

placid moss
#

how do you create an empty persistent data container

lost matrix
#

You need a PersistentDataHolder and then call getAdapterContext().
With this context you can create a new PDC using newPersistentDataContainer()

obsidian plinth
#

who is smart here

lost matrix
#

Nobody

obsidian plinth
#

damn

quaint mantle
lost matrix
#

Go somewhere else

lost matrix
quaint mantle
#

what is it that you want tho @obsidian plinth

obsidian plinth
#

am i allowed to send a class thats like 30 lines for help

quaint mantle
lost matrix
#

?paste

undone axleBOT
quaint mantle
#

forgor the command

#

ah yes

obsidian plinth
#

thx

#

its ment to track when a player places a amourstand it takes the gear off the oppponet and puts it on the armorstand

quaint mantle
#

does a armor stand count as a block when its placed?

#

so like can you get it with block place event?

obsidian plinth
#

its onEntityPlace

pseudo hazel
#

not really, an armor stand is just an entity

#

like a boat

obsidian plinth
#

its 100% onEntityPlace

lost matrix
obsidian plinth
#
package com.person98.blockbattlesbase.movelogic;

import org.bukkit.entity.Player;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.entity.EntityPlaceEvent;
import org.bukkit.event.entity.EntitySpawnEvent;

public interface Move {
    void handleMove(Player player, Player opponent, BlockPlaceEvent event);
    void handleMove(Player player, Player opponent, EntityPlaceEvent event);

}

#

thats move

lost matrix
#
public interface Move<T extends Event> {
    void handleMove(Player player, Player opponent, T event);
}

And thats move but generic

obsidian plinth
#

what do i gain if i do it that way

#

bc this way works for the rest of my moves

lost matrix
#

public class ArmourStandMove implements Move<EntityPlaceEvent> {

    @Override
    public void handleMove(Player player, Player opponent, EntityPlaceEvent event) {
        if (event.getEntity().getType() == EntityType.ARMOR_STAND) {
            ArmorStand armorStand = (ArmorStand) event.getEntity();
            transferGear(opponent, armorStand);
        }
    }

You dont need to create a million methods for different events.

quaint mantle
#

anyone here speak russian?

#

i cant take this google translator conversations anymore

obsidian plinth
#

i only need onblock and on entity for this

lost matrix
#

Alright then. Whats your concern with the current implementation=?

obsidian plinth
#

its not taking the gear off the opp and putting it on it

quaint mantle
#

are you getting the right player?

obsidian plinth
#

good point ill add a log rq

lost matrix
tardy delta
#

Everyone is having things around their pfp 🤔

quaint mantle
#

we get it for like 2 weeks then it will get removed again

#

just like crissmass

ashen quest
#

Can yall suggest me some GUI APIs?

#

for inventory things

quaint mantle
#

i dont use apis so idk

sterile axle
#

InventoryFramework (IF) is the only one I know and have used

ashen quest
#

I am using IF right now but its a bit weird

#
ChestGui gui = new ChestGui(3, "Island Manager");
        OutlinePane pane = new OutlinePane(0, 0, 9, 3);

lost matrix
quaint mantle
#

how complicated can your gui be that you need a api anyways

ashen quest
obsidian plinth
#

i like guis

ashen quest
#

But this is the output

obsidian plinth
#

im proud of my deck dydtem

#

system

ashen quest
#

How to add an outline thing

obsidian plinth
#

sorry its 4am im tired

ashen quest
quaint mantle
# obsidian plinth i like guis

well have you ever tried them outside of spigot? trust me try to do a gui in a normal java window and you will beginn to develope a deep hatress

sterile axle
echo granite
quaint mantle
obsidian plinth
#

Im working on the gamemode blockbattles for a tiktoker and it allows players to pick what items they want if they are unlocked and when you stand a batlte you chose a deck

ashen quest
quaint mantle
#

just add the glass panes as items

sterile axle
#

OutlinePane does not put an outline around your pain :p

ashen quest
#

Oh

#

I really thought it did

sterile axle
#

That's not what it's for

quaint mantle
#

you can also just fill every free spot with glass thats faster

ashen quest
#

Well is there smth I can do to add them

quaint mantle
#

or even faster:

sterile axle
#

Yes you just have to put a bunch of glass yourself in the main pane, then put a different pain on top with your actual clickable buttons if I remember correctly

quaint mantle
#

fill every single slot with glass first and then replace the ones you want with your items

#

thats how i do it atleast

#

pretty easy

#

just get the armount of slots

#

and then

#

fill for every slot

#

after

#

do your normal code

#

it should replace the glass panes

#

IF

#

you specify a slot

tranquil dome
#

How can I do stairs.setFacing() for both down and south?

ashen quest
obsidian plinth
#

mu probelm was i wasnt tracking what player palced what stand

#

now i have to read a doc ew

#

or imma yolo and assume getPlayer() works

quaint mantle
#

well depends where you put it

#

if you get the player from a event it will get the player that caused the event (event.getPlayer)

#

Player player = event.getPlayer();

obsidian plinth
#

if (event.getPlayer() instanceof Player) {
Player player = (Player) event.getPlayer();
worked

#

but i broke more crap somehow

#

and am crying inside

quaint mantle
#

why would you test if the player is a player

obsidian plinth
#
    @EventHandler
    public void onEntityPlace(EntityPlaceEvent event) {
        if (!event.getEntity().getWorld().getName().startsWith("battle-worlds/")) {
            return;
        }
        if (event.getEntity().getType() == EntityType.ARMOR_STAND) {
            ArmorStand armorStand = (ArmorStand) event.getEntity();
            if (event.getPlayer() instanceof Player) {
                Player player = (Player) event.getPlayer();
                UUID playerUUID = player.getUniqueId();
                playerArmorStands.put(playerUUID, true);
                player.sendMessage("nerd");

            }
        }
    }
quaint mantle
#

yh but why test if the player is instaceof player

#

what else would it be

obsidian plinth
#

good point lol

lost matrix
#

A Map<T, Boolean> can almost always be replaced by a Set<T>

obsidian plinth
#

i mean it works sorta so

quaint mantle
#

event.getEntity().getType() and wouldnt that also get the player? not sure if it gets the placed entity or the entity that caused it

obsidian plinth
#

the doc said getplayer

quaint mantle
obsidian plinth
#

lol

lost matrix
obsidian plinth
#

i love one thing if i make this false true it breaks every move

        if (armorStandListener.getPlayerArmorStands().getOrDefault(playerUniqueId, false)) {
            return new ArmourStandMove(); // Replace with your ArmourStandMove implementation
obsidian plinth
quaint mantle
#

what

#

is that english

#

am i having a stoke

#

stroke

tardy delta
#

yes

obsidian plinth
#

its 4am

#

let me be

quaint mantle
#

no im dead serious i have to clue what you tried to say x)

obsidian plinth
#

if a players uuid is in the map it swaps turns and removes them from the map

quaint mantle
#

oh okay

obsidian plinth
#

"ment"

#

doesnt work

#

lol

#

but atleast they get added to it

quaint mantle
#

better then nothing

obsidian plinth
#

yea

#

one small small step

lost matrix
#

*than

obsidian plinth
#

than i can rework ArmourStandMove

lost matrix
#

*then

obsidian plinth
#

fuck it ur my 13th reason

quaint mantle
quaint mantle
obsidian plinth
#

lol

quaint mantle
lost matrix
quaint mantle
#

lmfao

obsidian plinth
#

ur = youre?

#

at least where im from

quaint mantle
#

ur = your

tardy delta
#

youre

quaint mantle
#

ur mom = your mom

#

not youre mom

lost matrix
#

u r
-> you are
abbreviated -> you're

tardy delta
#

is this the english class for beginners? uwu

quaint mantle
#

no its the java class for beginners

#

most of the time

lost matrix
#

Thats something even native speakers scramble up.
Together with 'a' vs 'an'

quaint mantle
#

thats true

#

ive corrected natives about that so often

#

im sometimes suprised how little their know their own grammar

#

they*

#

guys im loosing hope

tardy delta
#

that said enough ig

quaint mantle
#

i need a english to russian translator

#

google isnt doint it for us anymore

#

why cant russians just speak propper english

tardy delta
#

yes

#

ah

left depot
tardy delta
#

russians are just florida people who went higher up in their skill tree uwu

quaint mantle
quaint mantle
#

back to spigot

#

quick question

#

if i cast breaknaturally

#

can i stop the item from dropping

left depot
#

Mining a block or entity?

quaint mantle
#

block

#

i click a block

#

inside the playerclick event the block is supposed to break

#

by

#

block.break naturally

#

but i dont want the block to drop

#

i would send my code but its 200 lines and 99% of that is other stuff

left depot
#

?paste

undone axleBOT
quaint mantle
#

trust me you wont even be able to find it its messy

#

but try xd

left depot
#

event.getDrops().clear(); (for Entity)

quaint mantle
#

its not a break block event tho

#

its a playerclick event

left depot
#
Block block = event.getBlock();
block.setType(Material.AIR);

I am using this for Block mining

quaint mantle
#

i had that first

#

but

#

i want the effect

#

that the block breaks

humble tulip
#

Might have to set type to air and spawn particles yourself

#

OR look how breakNaturally is done

#

And remove the drops

#

Probably a nms method so. Ewhere

tardy delta
#

bruh whenever i click on commit and push, the check goes away and it says select files 💀 💀

#

cant even push my own files

quaint mantle
#

skill issue tbj

left depot
#

yeah i need a way to add to every Purpur_Block a customID

When you placed on like X27-Y90-Z10 it will get info from the location but like when someone breaks the block and place is somewhere else, it need to have the same ID

quaint mantle
#

?

tardy delta
#

it only pushed the files i dont want 💀

left depot
#

no uhh like, Its a "Miner block" and you can upgrade the tier etc

#

but if i mine the block and place is somewhere else

#

it gets a new ID

quaint mantle
left depot
#

but it need to be the same ID

quaint mantle
#

get the id from the block that is being brocken and then paste it into the one being dropped

#

int id = minerblock.getPersistentDataContainer().get(new NamespacedKey(plugin, "id"), PersistentDataType.INTEGER);

obsidian plinth
#

and im back again

quaint mantle
tardy delta
#

i only trust my old .gitignore file now

stable dawn
#

Hey guys trying to set the player's hunger bar using protocollib
Currently the HP portion of my code is working but i'm not sure why the hunger part isnt working this is what I am currently doing

       float hpAmount = ((float) currentHP / totalHP) * 20;
       int mpAmount = (int)((currentMP / (double) totalMP) * 20);
       health.getFloat().write(0, hpAmount);
       health.getIntegers().write(0, mpAmount);
       health.getFloat().write(1, 0F);
       try {
           protocolManager.sendServerPacket(player, health);
       } catch (InvocationTargetException e) {
           throw new RuntimeException(
                   "Cannot send packet " + health, e);
       }```
obsidian plinth
#

i use stuff like to to track when a move is played

        if (armorStandListener.getPlayerArmorStands().getOrDefault(playerUniqueId, false)) {
            Bukkit.getLogger().log(Level.INFO, "Player " + playerUniqueId + " has placed an armor stand");
            return new ArmourStandMove();
        } else if (obsidianCount >= 4 && amethystClusterCount >= 0) {
            return new AmethystWarpMove(plugin, warpsDir, this);

but the ```js
Bukkit.getLogger().log(Level.INFO, "Player " + playerUniqueId + " has placed an armor stand");

#

and if i make it true it only allows for the single block moves to count

#

fuck it imma sleep

#

i lied imma play stardew

tardy delta
#

heeheehee my old code

left depot
quaint mantle
#

i would have to try that 1 sec

left depot
#

i can also link it to a GUI right

quaint mantle
quaint mantle
#

and if it matches the id the gui opens

#

so yes

left depot
#

and every purpur_block got his own id then right

quaint mantle
#

you can generate them ig

left depot
#

okay ty

quaint mantle
#

you want every purpur block to be one of a kind?

#

dont they all do the same?

left depot
#

yeah

#

it will be a robot that can mine ores

#

and you can upgrade them to higher levels

quaint mantle
#

oh so you save the lvl of the robot and with the id?

left depot
#

yes

quaint mantle
#

why dont you just write the lvl of the robot AS the id

#

so you add the pdc lvl and then what lvl it is

#

or is there anything else that you need to save?

left depot
#

yeah the ores inside the robot

quaint mantle
#

you could add ever info as a pdc

left depot
#

so they dont duplicate etc

quaint mantle
#

you can save the ores as pdc too

#

you can save everything there

left depot
#

okay

quaint mantle
#

a custom name, upgrades, lvl, inverntory

#

what ever you can imagine

#

and when ever it gets picked up it reads it pdc and drops it with the same ones

tardy delta
#

wtf was i doing lol

warm igloo
#

Need help with creating an API

obsidian plinth
#

im fancy

tardy delta
#

and the best was that it didnt even work

quaint mantle
tardy delta
#

would you rather see it the rust way?

#

with Result<T, E>

gusty bough
#

Hey, I'm trying to get a PotionEffectType by a string. I tried PotionEffectType#getByName() and PotionEffectType#getByKey() but none seems to work (API 1.19.2).

#

Even with pre-created PotionEffect this isnt working :

        PotionEffect potionEffect = new PotionEffect(PotionEffectType.BLINDNESS, 40, 1, true, false, false);
        System.out.println(PotionEffectType.getByKey(potionEffect.getType().getKey())); //returns null
chrome beacon
#

Make sure api version is set in your plugin.yml

willow dove
#

Why is sendMessage crossed out that way?
Is there a better way to send messages?

quaint mantle
#

othr ways but not necessarily better

ivory sleet
#

Paper probably

left depot
#

i think i will never find any GOOD tut on yt about saving block data etc

ivory sleet
#

they deprecated string methods to favor adventure and minimessage

quaint mantle
ivory sleet
#

No that’s not really how it works

quaint mantle
#

easier

ivory sleet
#

you have errors like io ones which is stupid if u don’t handle at all

quaint mantle
#

maybe not in spigot ig

willow dove
#

The users of your plugins can surprise you by testing your plugins.

ivory sleet
#

In any language that provide a sophisticated std library with for instance file IO

#

You ought to have some way of dealing with exceptional cases

#

That is when a method does not fulfill its contract

#

But personally I do think Java’s try catch finally can be a bit hard to read and maintain at times

#

However I don’t know any better alternatives to checked exceptions and and try catch in the way Java is doing it

#

Like rust have Result, but its a compromise of leniency and responsibility

quaint mantle
#

well i usally just do a bunch of if check to see if everything is provided properly in the way i want it to be provided

ivory sleet
#

Yeah that works, but what if you’re building an api

#

For other modules to depend on

quaint mantle
ivory sleet
#

Ig that’s one choice

willow dove
ivory sleet
ivory sleet
#

no?

willow dove
#

Oh, ill look for that suggestion

#

thanks :D

ivory sleet
#

Yeah all good (:

quaint mantle
#

you seem like a good dev what languages do you think are worth learning for the next years

#

in terms of job opportunitys

quasi flint
#

Brainfuq

tardy delta
#

learn smth which makes you understand how systems work on the low level

ivory sleet
#

Rust, TS/JS, Py, (Cpp), Csharp

quaint mantle
#

name one to start with 🥲

quasi flint
ivory sleet
#

Rust

quaint mantle
#

aight

#

thx

ivory sleet
#

Not one of those esoteric languages lol

quasi flint
ivory sleet
#

They’re fun but quite meaningless

tardy delta
#

which ones?

quasi flint
eternal night
#

Haskell it

ivory sleet
#

Controversial opinion but haskell is an esoteric language

quasi flint
#

Cobol it is

eternal oxide
#

You'd gain nothing learning Cobol

#

It's pretty much a very simple Basic

quasi flint
#

Except when U want to Work for banks

#

Atleast Most German Banks still use ancient cobol

#

If i remember correctly

eternal oxide
#

You'd never get a job working for a bank using Cobol these days. 20 years ago yes

tender shard
#

not really

#

the bank in my city even looks for cobol coders

#

lots of jobs for cobol at banks, large super market chains, etc

quasi flint
#

Because it IS still used

eternal oxide
#

They still do? I made a lot of money back in the 90's doing cobol rewrites for Y2K, but I'd have expected them to move away after that shambles.

quasi flint
#

No

#

They take the philosophy

eternal oxide
#

I guess they never learn

quasi flint
#

If it's a working and running system, don't touch it

#

Too strictly

eternal oxide
#

yep

quaint mantle
#

bank

#

sounds kinda boring

tender shard
#

people who want to afford much crack cocaine

eternal oxide
#

Its really good money

quasi flint
eternal oxide
#

True, no idea why though. it's SO basic you can learn it in a few hours

quasi flint
#

time to learn cobol and make money

quaint mantle
#

fr

tender shard
#

Because i was only 4

eternal oxide
#

No excuses

#

slacker

quasi flint
left depot
#

PersistantDataContainer With tile entitys will also give every single Purpur_block other ID's right if i for every new placed block a new CustomID

quaint mantle
#

wht

#

what

quasi flint
#

Well that's a statement

charred blaze
#

how do i compile my poorly coded project with gradle? it contains some emojies in its src and gradle gets some errors.

left depot
#

PDC Storing on tile entity's gives every "Robot" // "Purpur_Block" his own ID right

quaint mantle
#

tile*

tender shard
#

if you need PDC for blocks:

#

?blockpdc

undone axleBOT
tender shard
#

and purpur blocks are no tile entities

mystic island
#

how would i go about making a custom server for the public i wanna make a factions/prisons but need adice on what host i should use and what frame work

quaint mantle
mystic island
#

advice

charred blaze
#

how do i fix this

quaint mantle
eternal oxide
charred blaze
#

"how"

tender shard
#

the IDE says it is UTF-8

#

looks like gradle isnt set to utf8

charred blaze
#

how do i set it

tender shard
#
compileJava.options.encoding = 'UTF-8'

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}

idk sth like this probably

quaint mantle
#

i dont use geandle

#

wtf did my auto correct do theur

#

there

charred blaze
#

is that stack overflow

#

xd

tender shard
quaint mantle
#

stack overflow should always be the first place to look

#

if its not very specific

tender shard
#

especially for gradle stuff

charred blaze
#

ok ill use it next time

#

thx

tender shard
#

why don't you just use it now lol

charred blaze
left depot
tender shard
#

yes

#

to your pom.xml

charred blaze
#

cool it worked. where is the jar? 💀

tender shard
#

depends on your build.gradle

#

usually in build/libs/

charred blaze
#

libs?

#

why is itthere?

#

i mean

tender shard
#

because that's the default location that gradle uses

charred blaze
#

in what meaning

tender shard
#

don't ask me why

charred blaze
#

weird

tender shard
#

yeah

#

most things in gradle are weird at best

left depot
#

Why is it showing red, added all the 3 to pom.xml

tender shard
#

maven juses target/

tardy delta
#

jesus

ashen quest
#
try (EditSession editSession = WorldEdit.getInstance().newEditSession()) {
                        Operation operation = new ClipboardHolder(clipboard)
                                .createPaste(editSession)
                                .to(BlockVector3.at(player.getLocation().getX(), player.getLocation().getY(), player.getLocation().getZ()))
                                // configure here
                                .build();
                        Operations.complete(operation);
                    } catch (WorldEditException e) {
                        e.printStackTrace();
                    }

I am using WE Api, and the newEditSession method wants a world, how do I get this world.

tender shard
left depot
#

ahh

charred blaze
#

how do i make this
implementation 'net.dv8tion:JDA:5.0.0-beta.6'
come with jar in packages?

tender shard
#

the relocations are red because they belong into the maven shade plugin's configuration section

tender shard
ashen quest
quaint mantle
#

can i put a invetory holder in the same class as a listener?

left depot
#

relocations still red

charred blaze
#

i was perfectly doing it on maven

left depot
#

other is not red anymore after reload

tardy delta
#

with the maven shade plugin

ashen quest
chrome beacon
tender shard
ashen quest
#

Thank you

charred blaze
quaint mantle
charred blaze
left depot
tender shard
# left depot Why is it showing red, added all the 3 to pom.xml

the <relocations> belong into the maven shade plugin's "configuration> section, e.g. like this

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-shade-plugin</artifactId>
  <version>3.4.1</version>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>shade</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <!-- relocations go here -->
  </configuration>
</plugin>

the whole <plugin> belongs into <project><build><plugins>

humble tulip
#

Just have the inv holder class

eternal oxide
left depot
#

ahh

tender shard
humble tulip
#

And have the listener check if the inv holder is yours

tender shard
#

if you want to do it like in maven, then use maven

humble tulip
#

Or use maps

#

Either way

ashen quest
#

@charred blaze you mustve been using that plugin, your project generator mightve added it. Check the pom.xml for the plugins section

humble tulip
#

Registering a new listener for each inv is bad

left depot
#

ahh tyy

#

fixed it

tender shard
tender shard
charred blaze
#

how do i add shadowjar

tender shard
#

google "gradle shadowjar docs"

left depot
#
PersistentDataContainer customBlockData = new CustomBlockData(block, plugin);

This is the only thing to add right

tender shard
#

if you only add this, it's totally useless

#

you said you needed a PDC for blocks. So, you can create one using new CustomBlockData(Block, Plugin). Then do with that whatever you want to do

charred blaze
#

so i just need to shadow 'net.dv8tion:JDA:5.0.0-beta.6'?

tender shard
#

yes

charred blaze
#

ok

#

it will be in libs folder right? did shadowjar changed path?

#

because jar doesnt contain jda

tender shard
#

it's in the same directory, /build/libs, and it has the classifier "-all"

charred blaze
#

jar doesnt contain jda

tender shard
#

are you using the -all jar?

charred blaze
#

how do i check that

tender shard
#

by checking whether the file name ends with "-all"

charred blaze
tender shard
#

that's not the shadow jar

charred blaze
#

only this was in libs

tender shard
#

then you didnt run the shadowJar task

charred blaze
#

only this was in libs

charred blaze
tender shard
#

you either have to explicitly run the shadowJar task in gradle, or tell gradle that build depends on shadowJar

charred blaze
tender shard
#

idk I can only see parts of it

#

?pate it

#

?paste

undone axleBOT
charred blaze
eternal oxide
#

yumm pate

charred blaze
#

image was already proccessing

tender shard
#

the dependency has to be set to "implementation", not "shadow"

charred blaze
tender shard
#

and then you gotta run the shadowJar task, or make build depend on shadowJar

charred blaze
#

how do i make it depend on shadowjar

tender shard
#
tasks.build.dependsOn tasks.shadowJar
#

e.g. like this

charred blaze
#

where do i insert that

tender shard
#

In your build.gradle

#

E.g at the bottom

charred blaze
#

i think thats not enough. how do i tell gradle that it needs to get jda with the jar not bungee packages?

tender shard
#

It is enough

#

implementation for jda, compileOnly for bungee

charred blaze
#

hmm ok

charred blaze
tender shard
#

Its similar to mavens provided and compile scopes

charred blaze
#

right

#

there is no jda packages

tender shard
#

are you now using the -all jar?

charred blaze
#

i dont see any -all jar

#

wdym

tender shard
#

what did you run to compile? gradlew build?

charred blaze
#

this one

#

am i doing something dumb?

tender shard
#

use build

#

not jar

tardy delta
#

whats the dif?

charred blaze
tender shard
#

idk

#

gradle ¯_(ツ)_/¯

#

jar is only part of build

tardy delta
#

fantastic

charred blaze
#

it worked

#

thanks

quaint mantle
#

i want my barrels to respawn after a specific time how do i messure time aka to a timer

#

(talking about seconds-minutes

ivory sleet
#

you can take two timestamps

#

start and end (then take the delta value)

vocal cloud
#

You can use system.currentimemillis and add time to it

ivory sleet
#

yes

#

but Id say use UUID instead of player names

#

why?

#

na

#

u can add a name entry also

#

like

rotund ravine
#

Names can be changed

ivory sleet
#
balances:
  <uuid>:
    value: 100
    lastKnownName: Conclure
rotund ravine
#

No need to save last known.

#

Bukkit already does that

tardy delta
#

why would you remove the -

#

thats the same question

eternal oxide
#

expending cpu cycles to save 4 characters per UUID in a file is pointless

tardy delta
#

you bought the whole cpu so you're gonna use the whole cpu

eternal night
#

its for encryption for sure stonks

rotund ravine
#

Be a gigachad and encrypt everything

ivory sleet
#

it expires

eternal oxide
#

saving lastKnown is handy (at times)

ivory sleet
#

but that was mainly if you wanted to make it easier for server owners to manage that data file

eternal oxide
#

eg when needing to match by name when teh player is offline, on a fresh server (retaining old data)

ivory sleet
#

yes and u can write ur own bijective cache that does not expire

eternal oxide
#

or manually editing the file

ivory sleet
#

which is advantageous also

round finch
#

What algorithm does mcedit python use?

vocal cloud
#

Suffering

round finch
#

I wanna build a efficient and optimized method for filling out any area there takes in count for CPU and memory

#

Not like worldedit there crashs server for large area

tardy delta
#

i remember all my threads throwing an out of memory error cuz i was messing with worldedit 🤔

eternal oxide
#

Filling an area is not hard, it's just a case of startling from the bottom up and limiting how many changes you do per tick

tardy delta
round finch
#

Sorter method?

#

Hmm

#

For filling

eternal oxide
#

very simple, just Y value lowest to highest

#

and a few things to account for. Always place with no physics unless you are replacing a liquid block or placing a fence (connectable blocks)

round finch
#

What if the sever resource drop?

eternal oxide
#

no reason you can;t monitor that

round finch
#

How would i handle that

#

If memory at certain point
Do chill

eternal oxide
#

I'd probably get a base line of the server and then allow a 5-10% load on top

#

adjust yoru permitted load as you see fit

#

in your splittable tasks you exit if you hit your cap

round finch
#

How to check memory and CPU usage?

#

I should have made a discord thread lol

#

Sorry for so many questions I can't currently be on a PC

eternal oxide
#

many options, google is your friend

#

"java how to monitor cpu"

wet breach
round finch
#

Ah search is over 50% of developer work

wet breach
chrome beacon
#

?configs

undone axleBOT
wet breach
#

There is super efficient ways to do it that take virtually no cpu resources

paper venture
#

Hello I want to make a hole using fake blocks (sendBlockChange), so one player could fall into this hole and another couldn’t. The problem is if I fill this hole with fake blocks, a player that see them will stuck while standing on them and then will be kicked. What is the best way to deal with it?

wet breach
#

The most efficient way would be to unload the region file and just modify the chunk nbt data. Then load the region file back in. This takes very little resources lol.

round finch
#

Probably kicked for fly for non existing block

wet breach
#

The next efficient way is to use nms and find the memory map handle and modify that way since all region files are memory mapped

round finch
#

The Server thinks they are flying

wet breach
#

All the rest is with the api which is not hard to do

round finch
#

Takes chunks into a count

paper venture
#

So idk what to do...

#

If only I could make a server ignore incorrect player movement

round finch
#

Makes them sit on armorstand

wet breach
#

Could use falling blocks that dont fall

chrome beacon
#

The new display entities ^

tender shard
#

yeah blockdisplays

round finch
#

If they riding an entity they aren't flying

tender shard
#

blockdisplays work fine and unlike falling blocks, they dont magically disappear after like 5 minutes

paper venture
wet breach
#

So i guess listen to alex as he seems to know

tender shard
#

a BlockDisplay is like a hologram block

#
    @EventHandler
    public void onPlace(BlockPlaceEvent event) {
        event.setCancelled(true);
        Material material = event.getItemInHand().getType();
        Location loc = event.getBlock().getLocation();
        event.getBlock().getWorld().spawn(loc, BlockDisplay.class, b -> {
            b.setBlock(material.createBlockData());
        });
    }

this will cancel block place and instead spawn a "block display" like in the video

#

oh I sent the wrong video

round finch
#

Nice Fake blocks

tender shard
#

fek bloggs

round finch
#

It would be perfect for adventure maps

paper venture
#

Very interesting, it doesnt require other libraries or etc, right?

tender shard
#

no

paper venture
#

Thanks!

round finch
#

@paper venture what are you making? I'm wondering

#

I didn't ask in beginning

paper venture
#

Im developing a new minecraft minigame with a lot of new classes and abilities. I want to make one class create illusion blocks

misty ingot
#

hey so I have a list with like, a bunch of elements and I wanna randomly select 3 of them
how can I do this?

#

I figured out for choosing 1 element but I need 3 at once (stored in another list)

#

nvm

pure elbow
#

Hello I have a big Problem, I don't know how I could solve this.

  1. Click on an Item in a GUI. (I already have)
  2. Timer in Actionbar, that is counting down from 30. (I already have)
  3. While the timer is not 0 the player can write smth in the chat an this will be detected. (I don't have it because I don't know how I get the Integer from the first Event into the second event. ;/)

I'm on 1.12

misty ingot
#

use a map

tender shard
#

Or the conversation api

opal juniper
tawdry echo
#

File(path, name)

#

it is enoug to fix it

pure elbow
tawdry echo
#

per player or global?

verbal slate
#

Hey, I have a question about the FAWE API (for those who use it). I decided to write here, because there are silent guys. I have a working code that copies an area from one world and inserts it with the same coordinates into another world. The problem is that in most cases the entities disappear when the area is pasted. What can I do in this case?
Code: https://paste.md-5.net/ojuxutacoq.cs

weak meteor
#

(CreatePath)Nick:
(CreateSection)option1: true
?

ashen quest
#

Is there a way to manage multiple worlds (create and use them for my code)? And do I need to use MultiVerse for this? if yes, how to use their api.

eternal oxide
#

no you don't neeed multiverse

ashen quest
#

How do I use multiple worlds then?

rotund ravine
#

?jd-s

undone axleBOT
rotund ravine
#

Look here or google

ashen quest
#

Thank you

#

Extending to that, I want to create a blank world (Done), and then divide it into multiple parts, and then generate islands there when a player (who doesnt own an island) wants one.

Kinda like skyblock, so how can I approach this?

#

Wont that be a bit bad performance wise?

#

Like creating multiple worlds per island? That would take a lot of storage?

#

Great

#

ty

tawny pine
#

Guys I'm using this code:
@EventHandler public void InventoryMoveItemEvent(InventoryMoveItemEvent event) { ItemStack item = event.getItem(); Player p = (Player) event.getSource().getHolder(); p.sendMessage(String.valueOf(item)); Bukkit.broadcastMessage("done"); }
It should broadcast "done" and message the player with the value of the item when they move an item across their inventory, however, it does not do this.
I've checked the docs already and I am confused.
Why does this code not work?

vocal cloud
#

Did you register the listener?

tawny pine
tawny pine
#

Other eventhandlers work fine, it's just this one.

desert spade
#

Check console for errors

vocal cloud
#

This event is for moving an item. Not for moving across their inventory quote Called when some entity or block (e.g. hopper) tries to move items directly from one inventory to another.

tawny pine
#

Don't worry I think I found a way around it.

vocal cloud
#

Well as long as you misspoke as to the purpose then yeah

ashen quest
#

Whats the maximum length for a worldname, does renamingisland_PLAYERUUID cause problems?

orchid trout
#

test it

vocal cloud
orchid trout
#

tight

ashen quest
#

Aight

tawny pine
#

Guys how can I get the inventory slot of an itemstack?
I've searched the docs, but they mostly just talk about getting the slot of the currently held item.

#

Wait don't worry I've fixed it.

echo basalt
#

the easy way to not get kicked is to just enable flying in the server.properties iirc

shadow night
#

how do I set the item in the main hand of a player

echo basalt
#

To bypass fly checks, you can do something like:

  • Create a big empty area
  • Fill it with non-occludable blocks (flowers, for example)
  • For players that are meant to see blocks, send fake stone or whatever
  • For players that are not meant to see blocks, send fake air
warm igloo
ashen quest
#

Is there a way I can use the vanilla map to generate a map JUST for one chunk, like its sized more, normal maps have around 5-6 chunks, I just want the map to show ONE chunk.

crisp mountain
#
@EventHandler
    public void onPlayerPlaceBlock(BlockPlaceEvent event) {
        Player player = event.getPlayer();

        if(event.getItemInHand() == DirtGenerator.createDirtGenerator()) {
            player.sendMessage("This the dirt generator.");
        } else {
            player.sendMessage("Nah, this not the generator.");
        }
    }

why does this send the else message?

#
public class DirtGenerator {
    public static ItemStack createDirtGenerator() {
        ItemStack dirt = new ItemStack(Material.DIRT, 1);
        ItemMeta dirtMeta = dirt.getItemMeta();

        dirtMeta.setDisplayName("§eDirt §bGenerator");

        List<String> lore = new ArrayList<>();
        lore.add(" ");
        lore.add("§e---------------------------------------");
        lore.add("§aGenerator: §fDirt");
        lore.add("§e---------------------------------------");
        lore.add("§aDescription: §fGenerates another block §fof §eDirt");
        lore.add("      §fwhen destroyed.");
        lore.add("§e---------------------------------------");

        dirtMeta.setLore(lore);
        dirt.setItemMeta(dirtMeta);
        return dirt;
    }
}
#

DirtGenerator.java

ashen quest
#

are you sure the item in hand is the dirt u want

crisp mountain
#

yeah

echo basalt
#

because the thing is like

#

maps have multiple resolutions

#

its finest is 128x128

ashen quest
#

Is it possible? I can do the other part.

crisp mountain
#

am I using the right method?

ashen quest
#

And if yes, how to make my own parser

crisp mountain
#

getItemInHand()?

ashen quest
crisp mountain
#

uhmm that's the log check sendMessage

echo basalt
#

nevermind the scale part is just about mixing colors together

crisp mountain
#

won't that be the same

echo basalt
#

so yeah a minecraft map is 128x128 pixels

#

you'd need to just make a 16x16 image and upscale it

ashen quest
#

Ok that sounds doable

#

and then I can just show that image as a map?

echo basalt
#

by you know, grabbing each pixel and drawing an 8x8 square of it

#

and then you can show that image as a map

ashen quest
#

ou damn

#

thanks

ashen quest
#

Can I somehow get a hex value from the material of a block, like a close value. Like the map in vanilla does.

desert spade
# crisp mountain bump

.equals not ==, but that probably won't solve your problem if that method is creating a new itemstack

#

you'll probably need to compare the nbt/persistentdatacontainer

crisp mountain
#

I still don't know those, I'll check it out

ashen quest
#

?pdc

ashen quest
#

Here it is

crisp mountain
#

I also tried to compare the metadata

#

same results

weak atlas
#

Ask GPT to write a plugin to place a block under a player on a command execution

young knoll
#

.isSimilar

desert spade
# ashen quest Minor bump

when i did some stuff with maparts i had to manually do the colours for each material (yes it was hell). afaik there was nothing in the api that helped with that

#

if there was then i wasted hours of my life for nothing

#

i can link you the source for that though if that'd be useful, i forked the cameras plugin and updated it to 1.18

young knoll
#

There’s NMS methods to get the map color of a block

desert spade
#

oh boy

regal scaffold
#

What is atomicReference vs just reference

#

Or anything atomic vs non-atomic

eternal night
young knoll
#

They are much more powerful when they explode

verbal slate
#

How do I replace all Entities in Chunk with others?

young knoll
#

Loop over all entities in a chunk, remove them, spawn a new one at their location

verbal slate
#

I generally made such an option, but I don't know how to replace a chunk in the world with a new one

young knoll
#

Yeah you can’t do that

#

Not with the API at least

regal scaffold
#

I read something quick yesterday

#

Regarding if you want to use adventure in spigot like minimessages

#

You need to shade it

#

But I feel like I'm missing something cause it says java.lang.NoSuchMethodError:

rotund ravine
#

Then yes you are missing smth

verbal slate
#

Then I'll use your method. When I spawn the entity, the chunk will be loaded, right?

regal scaffold
#

I thought doing scope compile was enough

young knoll
#

You can use the libraries feature instead

verbal slate
young knoll
#

Teleport them?

verbal slate
regal scaffold
young knoll
#

It does

regal scaffold
#

Wut

eternal oxide
#

if you are copying use the StructureManager

#

it will copy blocks and Entities if you tell it

regal scaffold
#

I guess it does

#

But if I'm already including in maven and shading

#

Why

young knoll
#

Well the idea is that you don’t shade it

#

Makes the jar a lot smaller

regal scaffold
#

So instead of shading all the requirements like entire adventure and such

#

I just add them to the library>?

young knoll
#

Mhm

verbal slate
regal scaffold
#

That's... cool

#
        <dependency>
            <groupId>net.kyori</groupId>
            <artifactId>adventure-platform-bukkit</artifactId>
            <version>4.2.0</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>net.kyori</groupId>
            <artifactId>adventure-text-minimessage</artifactId>
            <version>4.12.0</version>
            <scope>compile</scope>
        </dependency>

I assume I extract

 - net.kyori:adventure-platform-bukkit:4.2.0
 - net.kyori:adventure-text-minimessage:4.12.0
#

That's it?

#

Then change the scope to ?provided?

verbal slate
# fluid river what is that

Attempts to figure out how to transfer entities, because FAWE in most cases loses them when copying from one world to another.

fluid river
#

yeah cuz it doesn't care

#

chunk.getEntities().forEach(entity -> entity.teleport(newLocation()));

verbal slate
fluid river
#

you'd better just get all chunks which are affected by transfer

#

get the minimum point

#

and teleport all entities to new location relative to the minimum point

#

so their new locationg just gonna be like minimumNewLocation + relativeOfsset

verbal slate
#

That's what I've been doing, except teleporting

eternal oxide
#
Structure template = Bukkit.getStructureManager().createStructure();
template.fill(cormer1, corner2, true);
template.place(newLocation, true, StructureRotation.NONE, Mirror.NONE, 0, 1.0, new Random());```
fluid river
regal scaffold
#

I think minimessages weren't available in 1.17.1

young knoll
#

They were

regal scaffold
#

I can't seem to get it to load then

#

Oh wait

#

XD

young knoll
#

The libraries feature is 1.18 iirc

regal scaffold
#

I hate myself

#

I got it

#

Nah it works

young knoll
#

Ah

#

Guess it was 1.17

fluid river
#

cuz he wants help asap

regal scaffold
#

Asked different things

#

If you worried less about who asked and more about the contents

#

Paper natively supports adventure and I'm developing for spigot so

verbal slate
#

Even this is better for (Chunk chunk : outChunks)

fluid river
#

also you just change the world

#

what if chunks are also moved XYZ

#

I mean the zone you copied and pasted

verbal slate
#

This thing moves correctly through chunks, I checked

fluid river
#

ok cool

sterile token
#

Which are the algorithms designed for region filling?

verbal slate
eternal oxide
# verbal slate

I posted code above which shoudl copy an area including entities

verbal slate
#

I suspect that teleportation needs to be done via runTask

eternal oxide
#

3 lines of code is all

verbal slate
eternal oxide
#

no, thats all in Bukkit

#

unless you are on an old version

verbal slate
#

Maybe the StructureManager class exists in the latest versions, I'm not aware of it, but it clearly does not exist on 1.16.5. Either it's an NMS

eternal oxide
#

ah You need to do Bukkit.getStructureManager()

verbal slate
#

okay

eternal oxide
#

it's not a static manager

verbal slate
young knoll
#

It's not in 1.16

eternal oxide
#

it's quite new

verbal slate
#

Then it won't help me, unfortunately

eternal oxide
#

a shame

fluid river
#

on the screenshot i only see FAWE move regions, not entities

misty ingot
#
    public void getConf() {
        File file = new File(getDataFolder(), "config.yml");
        config = YamlConfiguration.loadConfiguration(file);
    }
db_type = config.getString("db_type");

#getString is returning null
I do have db_type in my config

#

getConf is being run

fluid river
#

why do you use the getConf if getConfig() is provided by default

#

also show the entire class

misty ingot
#

I also have like, other files

fluid river
#

and?

misty ingot
#

lang.yml
economy.yml

fluid river
#

JavaPlugin#getConfig()

misty ingot
#

i can do it for config but what about the others ye

fluid river
#

you init both of the files on enable

#

and just get them when needed

#

cuz rn you are creating a variable and calling several methods

#

but can just have one getter instead

#

free java lessons

misty ingot
fluid river
#

call me

misty ingot
#

cant rn but in a bit

fluid river
#

dm me then at least

#

so you don't forget

misty ingot
#
[20:40:20] [Server thread/ERROR]: [ACF] Could not find context resolver
[20:40:20] [Server thread/ERROR]: [ACF] java.lang.IllegalStateException: No context resolver defined for org.bukkit.command.Command
[20:40:20] [Server thread/ERROR]: [ACF]         at acf-bukkit.acf.CommandContexts.getResolver(CommandContexts.java:351)
[20:40:20] [Server thread/ERROR]: [ACF]         at acf-bukkit.acf.CommandParameter.<init>(CommandParameter.java:90)
[20:40:20] [Server thread/ERROR]: [ACF]         at acf-bukkit.acf.RegisteredCommand.<init>(RegisteredCommand.java:115)
[20:40:20] [Server thread/ERROR]: [ACF]         at acf-bukkit.acf.BukkitRegisteredCommand.<init>(BukkitRegisteredCommand.java:30)
[20:40:20] [Server thread/ERROR]: [ACF]         at acf-bukkit.acf.BukkitCommandManager.createRegisteredCommand(BukkitCommandManager.java:387)
[20:40:20] [Server thread/ERROR]: [ACF]         at acf-bukkit.acf.BaseCommand.registerSubcommand(BaseCommand.java:457)
[20:40:20] [Server thread/ERROR]: [ACF]         at acf-bukkit.acf.BaseCommand.registerSubcommands(BaseCommand.java:370)
[20:40:20] [Server thread/ERROR]: [ACF]         at acf-bukkit.acf.BaseCommand.onRegister(BaseCommand.java:258)
[20:40:20] [Server thread/ERROR]: [ACF]         at acf-bukkit.acf.BaseCommand.onRegister(BaseCommand.java:228)
[20:40:20] [Server thread/ERROR]: [ACF]         at acf-bukkit.acf.BukkitCommandManager.registerCommand(BukkitCommandManager.java:226)
[20:40:20] [Server thread/ERROR]: [ACF]         at acf-bukkit.acf.BukkitCommandManager.registerCommand(BukkitCommandManager.java:259)
[20:40:20] [Server thread/ERROR]: [ACF]         at dev.wonkypigs.minememer.MineMemer.registerCommands(MineMemer.java:53)
[20:40:20] [Server thread/ERROR]: [ACF]         at dev.wonkypigs.minememer.MineMemer.onEnable(MineMemer.java:35)
[20:40:20] [Server thread/ERROR]: [ACF]         at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264)
[20:40:20] [Server thread/ERROR]: [ACF]         at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:342)
[20:40:20] [Server thread/ERROR]: [ACF]         at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480)
[20:40:20] [Server thread/ERROR]: [ACF]         at org.bukkit.craftbukkit.v1_19_R1.CraftServer.enablePlugin(CraftServer.java:525)
[20:40:20] [Server thread/ERROR]: [ACF]         at org.bukkit.craftbukkit.v1_19_R1.CraftServer.enablePlugins(CraftServer.java:439)
[20:40:20] [Server thread/ERROR]: [ACF]         at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:584)
[20:40:20] [Server thread/ERROR]: [ACF]         at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:403)
[20:40:20] [Server thread/ERROR]: [ACF]         at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:255)
[20:40:20] [Server thread/ERROR]: [ACF]         at net.minecraft.server.MinecraftServer.v(MinecraftServer.java:968)
[20:40:20] [Server thread/ERROR]: [ACF]         at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:293)
[20:40:20] [Server thread/ERROR]: [ACF]         at java.base/java.lang.Thread.run(Thread.java:833)
[20:40:20] [Server thread/ERROR]: Error occurred while enabling MineMemer vbeta -0.9 (Is it up to date?)

whats a context resolver? (cant find on google)

remote swallow
#

if you have a command with onCommand(Player player, String string, YourClass class)
you would need a context resolver for YourClass so acf can handle it iirc

fluid river
#

?notworking

undone axleBOT
#

"Does not working" is a useless statement. Please describe what exactly is not working, what you expect it to do, and what actually happens. If you get any console errors, also ?paste the entire stacktrace.

verbal slate
#

It just skips it

fluid river
#

you have no message "TP ->"?

verbal slate
#

yes

ashen quest
#

can you show custom images on a map WHICH have pixels with different alphas? i want some pixels to be a bit transparent

verbal slate
#

I think maybe need to load a chunk into which the entity is teleported?

fluid river
#

probably

#

you can't tp to unloaded afair

#

realized that when coded shit skyblock

wary harness
#

I am making sell shop now itemstack whick would have NBT data in some cases

#

those will be Custom Items how would I check if item in Inventory matches item in shop

#

by nbt

#

do I just compare two itemstack object with equals

remote swallow
#

isSimilar iirc

tardy delta
#

have you declared one?

regal scaffold
#

Hey so, a bunch of people have been saying using MiniMessages to allow making components from a config is a very nice option

#

But looking at the string in the config.yml I feel it could be confusing for the user

crude charm
#

how would I go about making floating, rotating items that cant be picked up and wont despawn if unloaded?

regal scaffold
#
test-message1 : "This is a test message! Hello %player_name%!.<newline><hover:show_text:'<rainbow>Click me!</rainbow>'>HOVER<newline><click:run_command:/rpv>Click me!</click>"
#

Cause that looks confusing

crude charm
young knoll
#

Or you can disable their gravity and set their pickup delay to MAX_INT

verbal slate
crude charm