#help-development

1 messages · Page 448 of 1

celest hinge
#

ill try again

#

Now its [ERROR] Unknown lifecycle phase "build". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: pre-clean, clean, post-clean, validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-site, site, post-site, site-deploy. -> [Help 1]

torn shuttle
#

I am so confused as to how brains are supposed to work

remote swallow
torn shuttle
#

this sucks

celest hinge
remote swallow
#

run mvn clean package

#

apologies

#

gradles been in my brain all day lol

celest hinge
#

Did it

#

Still same error after rebuilding

remote swallow
#

no idea then, best to wait for some others to pop in

celest hinge
#

😦

eternal oxide
#

you set the scope for one of your dependencies to build

icy beacon
eternal oxide
#

Magma must be a girl 😄

torn shuttle
#

scientists have it easy, I'm stuck tracing mojang logic back

icy beacon
#

oh gosh darn

torn shuttle
#

that good old saying

icy beacon
torn shuttle
#

I should've just gone into neuroscience instead

icy beacon
#

true

grave lagoon
#

when i manually edit the config file and reload the server, it reverts back to what it was instead of keeping that

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

        this.saveConfig();
    }

    @Override
    public void onDisable() {
        plugin = this;

        this.saveConfig();
    }```

i have this snippet in my main class, might be something with that
eternal oxide
#

a config is loaded from file twice. When you first access getConfig() and when you call load(). If you manually make changes you have to call load().

ocean hollow
#

Guys, can I control the slime's player controls? The player sits on the slime and the plugin reads the movement on WASD

quaint mantle
#

also you shouldnt have to save config ondisable

#

also why are you assigning plugin twice

grave lagoon
#

im stupid

quaint mantle
#

just delete the entire ondisable

grave lagoon
quaint mantle
#

just change it

remote swallow
#

yeah, just call JavaPlugin#saveConfig() from that class

grave lagoon
quaint mantle
#

saveDefaultConfig writes the config.yml contained in the jar if the config.yml doesnt exist

grave lagoon
#

thanks!

celest hinge
#

Guys, how can I make maven package right into my plugins folder? The following does not work: ```xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<outputDirectory>Documents/dev/MC-Development/dev-server/plugins/</outputDirectory>
</configuration>
</plugin>

grave lagoon
#

is there an error

celest hinge
#

no

grave lagoon
#

whats ur IDE

celest hinge
#

IntelliJ

grave lagoon
#

bruh just use the project structure thing

hazy parrot
#

what

celest hinge
#

?

tawdry echo
#

it is possible to block the player from changing the world so that he does not get the achievement from the end and the nether

quaint mantle
#

is there a simple way to convert a programm to maven

#

plugin*

#

project

#

actually

ocean hollow
#

How to move a slime for a 1 block?

quaint mantle
tawdry echo
#

it dont have cancel method

quaint mantle
#

cant you just disasable nether and end in the server config

vocal cloud
#

Disabling the nether disables the end

eternal oxide
#

cancel teleport

quaint mantle
#

true

regal scaffold
#
org.bukkit.configuration.InvalidConfigurationException: org.yaml.snakeyaml.error.YAMLException: Unexpected referential mapping structure. Node: <org.yaml.snakeyaml.nodes.MappingNode (tag=tag:yaml.org,2002:map, values={ key=<org.yaml.snakeyaml.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value===)>; value=<NodeTuple keyNode=<org.yaml.snakeyaml.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value===)>; valueNode=<org.yaml.snakeyaml.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=me.tomisanhues2.rpphones.phone.PhoneType)>> }{ key=<org.yaml.snakeyaml.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=phoneType)>; value=1902223758 })>
#

No comprehend, happens when I try to deserialize a class

#

I assume it has to do with the enum

#

But the enum is also deserialized

restive mango
#

Does InventoryCloseEvent work for players who ‘close’ the inventory by dcing from the server?

rotund ravine
#

Also how would they dc without closing it

vivid skiff
#

Can someone explain to me how to use ScoreboardTeamPackets in NMS?

regal scaffold
hazy parrot
restive mango
#

Nope! I’m coding at work and so can’t open Minecraft without looking suspicious

torn shuttle
#

ok for real how can I set the AI brain to actually just do one task over all others

torn shuttle
#

I am stuck

fluid river
#

maybe it has cancellable

tawdry echo
#

already i do it

#

with playerteleportevent and check cause

fluid river
#

also you can block build/break/interact/Damage/BucketEmpty/Pickup if Player#getWorld() == nether

tawdry echo
#

i only want can instant enable 'using' world

fluid river
#

?

tawdry echo
#

nvm

daring lark
#

java.lang.IllegalArgumentException: Experience progress must be between 0.0 and 1.0 (27.428572)
what is wrong?
code:

event.getPlayer().setExp(event.getPlayer().getExp() + 3 * stack);
hazy parrot
#

are you trying to set exp or exp level

young knoll
#

setExp sets the progress from one level to the next

#

Between 0 and 1

#

As the error says

regal scaffold
#

Does anyone have any good clickable text library?

tawdry echo
#

to clear the chat is it better to loop first for the players and then for the number or vice versa?

daring lark
tawdry echo
#

xd

river oracle
#

why not just use components

regal scaffold
#

Oh

#

There's no need for nms anymore?

young knoll
#

To send clickable components in chat? no

regal scaffold
#

oh lol. Long time

young knoll
#

There hasn't been for years

regal scaffold
#

Yeah I remember years ago

young knoll
#

Idk when the bungee components were added

#

Like 1.12 maybe

regal scaffold
#

Do I use those?

river oracle
#

Yeah

regal scaffold
#

👍

daring lark
#

how can i add exp to player?

river oracle
#

?jd-s

undone axleBOT
daring lark
#

oh thanks

#

that helped me...

river oracle
#

lol

#

Player#setExp

#

alternatively

#

Player#setLevel

daring lark
daring lark
river oracle
#

👍

tawdry echo
#

what return CommandSender#getName

#

if player their name

#

?

daring lark
young knoll
daring lark
#

and how to just set exp?

tawdry echo
quaint mantle
daring lark
#

java.lang.IllegalArgumentException: Experience progress must be between 0.0 and 1.0 (48.42857)

#

soo...

tawdry echo
quaint mantle
river oracle
#

likely

#

1 indicates new level

#

This is a percentage value. 0 is "no progress" and 1 is "next level".

#

in the docs

quaint mantle
#

Think of it as probability. 0-1

regal scaffold
#

Ummm

#

What datatype like Map<> can I access using index

#

Need to store 2 things as a pair

quaint mantle
#

what exactly are you trying to store in your Map

regal scaffold
#

String, UUID

river oracle
#

Whats wrong with Map<UUID, String>?

regal scaffold
#

Can't access with index on for

#

I guess I could enhanced for

formal bear
#

Why Gradle does not handle injectors??I:\jetbrains\bpLobby\src\main\java\pl\botprzemek\bpLobby\listener\ListenerSpawn.java:104: error: cannot find symbol if (event.getPlayer().getBedSpawnLocation() == null) event.setRespawnLocation(configurationPlugin.getSpawnLocation()); ^ symbol: method getSpawnLocation() location: variable configurationPlugin of type ConfigurationPlugin @Getter public class ConfigurationPlugin extends OkaeriConfig { @Comment("Spawn") private Location spawnLocation = null; }

tardy delta
#

cuz gradle is shit with annotations

crude flint
#

Good morning !

I currently have a small problem, but due to a real lack of documentation on the subject and long searches, I am now looking for help. As part of a Minecraft project, I need to have custom, on-demand Mumble servers. This whole part is good, everything works, it's great. However, I have no idea how to detect if a player is link/delink with the MumbleLink mod (it's a client-side mod, my servers are running Spigot 1.8.8, https://github.com/zsawyer/MumbleLink). For that I then looked into the possibility of the mod sending packets, so I, using ChatGPT (there really isn't any documentation it's hell I don't know how it got done lol) managed a start of work, but they are not conclusive. This is why I really need help. I would be very grateful to you. Thanks in advance ! (btw, I use Murmur)

formal bear
#

just found out annotation processor for gradle...

#

if someone was wondering, annotationProcessor 'org.projectlombok:lombok:{VERSION}'

paper venture
#

Hello, I'm working on pvp classes, I have a main pvp class with a lot of fields and functional interface fields which are called when a player uses a specific item. So when I want to create a new pvp class I have to create a new object of the main pvp class, but in some cases it would take 50+ lines of code because of () -> {...} lambda takes a lot of lines of code (which is put into fields of this class). So my question is should I somehow split creations of my classes into different files? I thought it would be a good idea to use a new java file for every new instance of my class to easily add new instances in the future and modify previous... Or should I put all the creations into one specific file?

quaint mantle
# regal scaffold I guess I could enhanced for

Or better yet you could get the map's index by doing something like this:

Map<String, Integer> map = new HashMap<>();
map.put("one", 1);
map.put("two", 2);
map.put("three", 3);

String key = "two";
int index = -1;
int i = 0;
for (Map.Entry<String, Integer> entry : map.entrySet()) {
    if (entry.getKey().equals(key)) {
        index = i;
        break;
    }
    i++;
}

if (index != -1) {
    System.out.println("The index of key '" + key + "' is " + index);
} else {
    System.out.println("Key '" + key + "' not found in map");
}```
regal scaffold
#

Well

#

What I did was

#

Instead, I made my own object

#

And have it in a list

#

And I just serialized the object

verbal slate
#

Hey! Guys, explain why after restarting the plugin in getPersistentDataContainer I get null?
Read more: there is an item that has a tag with a value. When I give it to myself, the plugin sees the tag on the item. However, as soon as the plugin is rebooted or the server is rebooted, when the plugin is enabled, the tag will be = null.

Moreover, in the PlayerListener class, where I listen to some events of the "drop" type, etc. tag checks work in any case

Code: https://pastebin.com/raw/w2cs8kJR

eternal oxide
#

?nocode

undone axleBOT
#

It’s hard to answer a programming question without code
Oh no! You ran into a problem. But no worries, people are willing to help, but first they need to see your code. This is because otherwise, they would be providing help based on guesses instead of concrete knowledge. Whether it be a compile error, runtime error, or an unexpected output, I'm sure that if you were to provide code, you'd receive a quick solution.

tawdry echo
#

can i play sound that only one player can hear

rotund ravine
young knoll
verbal slate
#

Moreover, in the PlayerListener class, where I listen to some events of the "drop" type, etc. tag checks work in any case

regal scaffold
#

Is it really 1 BaseComponent per line? If I want another line I have to make another one?

#
        BaseComponent[] firstLine = new ComponentBuilder(
                "Contacts for " + phone.getPhoneNumberString() + "")
                .color(ChatColor.AQUA)
                .bold(true)
                .create();
young knoll
#

What do you mean by another line

#

Another line in chat?

regal scaffold
#

Yes like

#

I want to have

"Contacts for " + phone.getPhoneNumberString() + "")

"==============================="

#

Seems kinda dumb needing to make a separate BaseComponent object for every thing

young knoll
#

How else would you expect it to work

regal scaffold
#

Guess there isn't another way, another object here we go

young knoll
#

I mean you can skip the object and just use the builder directly in sendMessage

regal scaffold
#

Fair

#

I see that

#
new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Click to add a contact").create())
#

Is deprecated

young knoll
#

Is there a deprecation note

regal scaffold
#

Yup

#
(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text("Click to add a new contact.")))
#

This seemed to work?

paper viper
#

I want to compile a project but i get this
org.spigotmc:spigot🫙remapped-mojang:1.18.1-R0.1-SNAPSHOT was not found in https://hub.spigotmc.org/nexus/content/repositories/snapshots/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of spigotmc-repo has elapsed or updates are forced

young knoll
#

Have you run buildtools for that version

#

With --remapped

paper viper
#

where do i have to run it?

young knoll
#

Anywhere

#

It installs the remapped jar in your maven local

paper viper
#

does the --remapped come at the end?
java -jar BuildTools.jar --rev 1.18.1

young knoll
#

mhm

eternal oxide
#

I put it before --rev

young knoll
#

I don't think it matters

#

They are both arguments, order is irrelevant

paper viper
#

thx @young knoll

worn tundra
verbal slate
tawdry echo
#

how do new line in Bukkit#broadcastMessage

flint coyote
#

it doesn't? o.o

#

What about multiline strings from yaml?

#

no you can do multiline strings in yaml

#

there's multiple ways even

#

a: "bla
ble
blu
"
works

#

and so does
a: |-
asdf
abc

#

hmm could be

hazy parrot
#

Isn't it -|

flint coyote
#

could be. I always use ""

wise mesa
#

how do i set a tag in a persistent data container to a new persistent data container

#

a TAG_CONTAINER

wise mesa
#

oh

#

appreciate it

sage patio
#

can i force a player to open his elytra?

subtle folio
#

Is it possible to hook into WorldEdit and get the two positions selected by the user?

young knoll
#

Yes

#

Check their api docs

sage patio
subtle folio
#

I'm not seeing anything laid out for me

young knoll
#

Local Sessions

sage patio
sage patio
#

which event?

young knoll
#

EntityToggleGlideEvent

sage patio
#

thanks

young knoll
#

If they have an elytra though you don't need to worry

sage patio
#

its better and more realistic if they don't

analog thicket
#

Hey, so I made my own Event, for different reasons, but i want to cancel the block place part of it. How would this work?

#

I do have an e.setcanceled method, but that isnt for block place

sterile axle
#

just add a new boolean class field for whether block place is disabled, and add a method to get and set it

#

the enabled is for any side effect, the block place would just be for the block place side effect

#

seems fine to me

analog thicket
#

Like this?

#

If that what u mean

sterile axle
#

yes

worldly ingot
#

I mean ideally your event would just implement Cancellable so that it's standardized with all other cancellable events

#

but yeah, that exact structure

analog thicket
worldly ingot
#

What do you mean it doesn't work? It's just an interface you need to implement

#

You have the entire thing setup already, you'd just have to implement Cancellable and change your existing method names to isCancelled() and setCancelled()

analog thicket
#

Just like this right, then implement it too ofcourse

worldly ingot
#

Yep

#

That in place of isBlockPlaceAllowed() (and presumably setBlockPlaceAllowed())

sterile axle
#

simply implementing Cancellable doesn't make setCancelled work if that's what you tried before

#

you also need the event handling code as above, like choco said

worldly ingot
#

Just makes it more standard. A lot of Bukkit events are Cancellable so if anyone has any code that refers to a Cancellable event, they can just use your event as well

#

Supports ignoreCancelled as well

analog thicket
#

Okay i know my setCancelled method is right, but is there something else to canceling the block place event after that?

sterile axle
worldly ingot
#

Nope.

if (myEvent.isCancelled()) {
    blockPlaceEvent.setCancelled(true);
}```
#

That's all you need

sterile axle
#

just use isCancelled() instead of the old method name

analog thicket
#

Aaarh

sterile axle
#

Choco I'ma let you take the wheel

analog thicket
#

Makes sense

#

Thanks for the help 🙂

worldly ingot
#

I wish you'd let me do that while we were married too

sterile axle
#

You were the worst husband

worldly ingot
thorny bane
#

Help me with luckperms

#

When i type a command

#

Only saying running luckperms

grizzled oasis
#
Entity entity = player.getWorld().spawnEntity(player.getLocation(), EntityType.ZOMBIE);
         Mobs.add(entity);

The mobs doesn't spawn, and gets added to it like normal but if it doesn't exist is not usefull

wise mesa
#

Is there a way to prevent the barrier particle from showing when a player is holding a barrier

tender shard
#

ez.

        CompoundTag playerData = NbtIo.readCompressed(/* player's dat file */);
        ListTag posTag = playerData.getList("Pos", CompoundTag.TAG_DOUBLE);
        double x = posTag.getDouble(0);
        double y = posTag.getDouble(1);
        double z = posTag.getDouble(2);
remote swallow
#

should i be running sql stuff async or is main thread fine

eternal oxide
#

async

remote swallow
#

im guessing just using bukkit scheduler is fine

eternal oxide
#

yep or futures

icy beacon
tender shard
#

the world doesnt seem to be in the .dat file

#

at least not when you log out in the default world

wet breach
#

So yes but it isnt controlled by the server. Just have to do it from client

round finch
#

how do get those jars with maven

#

like snakeyaml

#

on ecplise

remote swallow
#

its from spigot iirc

eternal oxide
#

why do you want those jars?

fluid river
#

basically have everything bout offline player

#

decompile and check sources

remote swallow
#

self promo

#

smh

#

also why is it on dev bukkit

fluid river
#

well, im a member since 0 y.o.

#

And on spigot since ~2019 ig

#

dev bukkit = home

fluid river
terse ore
#

Yo guys, what could be the issue on a pc having access to the dns server but then not loading web pages?

humble tulip
#

What dns are you using?

terse ore
#

Google

#

8.8.8.8 and 4.4.4.4

#

I ping Google and I get the ip address

#

But no packets get returned

eternal oxide
terse ore
#

1 sec i des connected everything because it is dirty af

#

Let me clean

#

O.o

eternal oxide
#

hold the fan still when you blow out the dust

tardy delta
#

looks like some mice died inside there

eternal oxide
#

if you let it free spin thers a high chance you burn out its bearings

terse ore
#

Imma go outside to clean this

buoyant viper
#

?jd-s aa

undone axleBOT
buoyant viper
#

wait wrong api

#

?jd-bcc

tardy delta
#

my own String#split alternative finally working 🥹

ivory sleet
#

Oo

#

Regex or na?

tardy delta
#

nah

#

i wanted to avoid using Pattern#split for every line of text

#

just some weird method ill forget about

#

could probably use a switch to make it somewhat cleaner

#

always fun when you keep getting new exception messages when changing code 💪

tawny remnant
tardy delta
#

var oldlore = meta.getlore(); lore.set(index, newLine); meta.setLore(oldLore)

#

oh this is a fun one: Exception in thread "main" java.lang.IllegalStateException: cannot access uninitialized memory at address offset 12

#

my memory guards are working too good

tawny remnant
tardy delta
#

loop through it

round finch
tardy delta
#

cant you just type the names of those classes and they show up

#

otherwise add a depencency with scope set to provided

round finch
#

i didn't know that how it worked

tardy delta
#

dunno whether spigot provides the latest versions

round finch
#

this is what i got

eternal oxide
#

why do you want those jars?

round finch
#

why not?

#

would it not provide more stuff?

tardy delta
#

lol

eternal oxide
#

its more of a , why do you want them and I can tell you than an open question

round finch
#

i'm no expert
i got no no idear

eternal oxide
#

You are asking how to get them, for what reason do you want the actual jars?

round finch
#

i did no search

eternal oxide
#

There are many ways to get them, which is why I'm asking WHY you want them. My answer will be different depending on your use case.

sullen marlin
#

I'll sell em to you for $10

round finch
#

deal @sullen marlin

#

xD

round finch
#

i really have no plans

eternal oxide
#

random stuff for spigot?

round finch
#

yeah

eternal oxide
#

then you will never need the jars

#

?bootstrap

undone axleBOT
#

Bootstrap Jar
The main spigot-1.18.jar is now a bootstrap jar which contains all libraries. You cannot directly depend on this jar. You should depend on Spigot/Spigot-API/target/spigot-api-1.18-R0.1-SNAPSHOT-shaded.jar, or the entire contents of the bundler directory from your server, or use a dependency manager such as Maven or Gradle to handle this automatically.

Please read the release notes for further information: https://www.spigotmc.org/threads/9-years-of-spigotmc-spigot-bungeecord-1-18-1-18-1-release.534760/#post-4305163

eternal oxide
#

as you are using maven you don;t even need that

#

just depend on Spigot not Spigot-api

#

You will find them all in the bundler folder of your server

celest hinge
#

What libraries would you guys recommend for developing Resource pack based Inventory GUIs and HUDs?

eternal oxide
#

none

#

learn it yourself before attemptign to make life easier with any libs

ivory sleet
#

Yea

#

Good to learn

#

But I mean most normal gui libs would work relatively good with resource pack based guis btw

warm mica
#

All you have to do to texture it is to add it to the title of the GUI if I am not wrong

tardy delta
#

the only thing you have to add is to modify title and custom model data so why would you need a lib for that

warm mica
#

Ya exactly

terse socket
#

My antivirus gave me an error when I tried to run the "LoginSecurity" plugin off it's source-code. Saying "Exploit.PayloadProcessBlock" and linking the source of the 'virus' to ".../target/surefire/surefirebooter...jar", what is this?

warm mica
#

People shouldn't be allowed to use package managers in the first year of their development career, I managed to do that for the first 4 years LOL

rotund ravine
#

Who knows ask @vagrant stratus

tardy delta
#

havent seen optic in a while

rotund ravine
#

He’s lurking

vagrant stratus
#

I cannot help in this case lol

tardy delta
#

there you are

warm mica
terse socket
#

🤔

tardy delta
#

id like to decompile that jar

terse socket
#

I don't get it because when I search about it, it says that it's used by maven to run some unit tests

tardy delta
#

just ignore that ig

terse socket
#

Alright, thanks

young knoll
#

This is why gradle better

terse socket
#

The same detection again

young knoll
tardy delta
#

i might consider using gradle

#

what a sin

warm mica
#

or stop buying snake oil, aka anti virus/malware software

tardy delta
#

just use linux

terse socket
#

Snake oil

#

??

warm mica
tardy delta
#

only ai based avs do something promising imo

warm mica
tardy delta
#

bios update decided to mess with my dualboot

#

dammit

warm mica
tardy delta
#

i have a laptop

#

i can probably put another ssd in but it gotta be a sata one then

terse socket
#

I deleted the whole plugin 😒

wet breach
warm mica
#

I've had been dual booting linux and windows on the same drive, and it was a pain when I tried to get rid of the linux partition

icy beacon
#

any way to detect an inventory being cleared with a X button in the creative menu?

glad prawn
#

is there a way to reload commands.yml file without restart the server?

river oracle
#

I mean probably but I wouldn't

#

Most of the time reloading is a recipe for disaster

warm mica
river oracle
#

A lot of times things won't work as intended

icy beacon
#

i did log it some time ago, i recall that doing the clear for some reason invokes a InventoryClickEvent on EVERY item in the inventory with an action of InventoryAction.PLACE_ALL

#

and i don't recall anything else

warm mica
fossil wraith
icy beacon
#

text wall...

#

?paste please use this

undone axleBOT
warm mica
icy beacon
#

^

icy beacon
#

regardless of left/right click

warm mica
#

I have actually made it so that it opens a window whenever you double click my plugin

icy beacon
#

damn that's

#

quite cool 😄

warm mica
icy beacon
#

yeah i'll just log everything i can

fossil wraith
remote swallow
#

Guis are client side

warm mica
# icy beacon quite cool 😄

Thanks😄 It's likely rarely ever being seen, but I can imagine the reaction whenever somebody accidentally opens it

icy beacon
#

😛

warm mica
icy beacon
#

let's see

fossil wraith
rotund ravine
tardy delta
#

just print the event and hope it has a toString ig

icy beacon
#

lmao

#

that works

tender shard
icy beacon
#

btw if you know how to detect an inventory being cleared via the X button in the creative menu, i won't have to read this monstrosity 😄

rotund ravine
icy beacon
#

fair

rotund ravine
#

?jd-s

undone axleBOT
tender shard
#

listen to InventoryClickEvent, if there's more than one event per tick, it's the X button lol

rotund ravine
icy beacon
#

this makes me feel bad

rotund ravine
#

Well it is the inventoryclcikevent for creative

icy beacon
#

hm

#

i'll just move the debug to this event lol

warm mica
# icy beacon this makes me feel bad

Oh bedrock edition is way worse. That one literally just tells you the new itemstack, the previous itemstack and the slot. Good luck finding out what exactly he has been clicking

icy beacon
#

😶

tender shard
#

why did they even make bedrock

icy beacon
#

it's also written in c++

#

like

sullen marlin
#

Cause they're stupid

tender shard
#

yeah

icy beacon
#

why make the same game, twice, in two different languages

#

at this point delete one

onyx fjord
regal scaffold
#

Dont say that

#

It’s Microsoft

fossil wraith
#

XD

icy beacon
#

they'll delete both

regal scaffold
#

Theyll delete Java

#

Before bedrock

onyx fjord
#

ok and

regal scaffold
#

And we’ll all be tucked

onyx fjord
#

people will continue to improve java just reverse engineered lol

icy beacon
#

noooooooooo i don't want to code in python

onyx fjord
#

also they cant delete it, its on my local pc

icy beacon
#

wait no shit they can't delete java?!?!?!?!?!

#

i thought microsoft could delete java

#

thanks for clarifying that microsoft can't delete java

onyx fjord
#

YES THEY WILL COLLAB WITH EVERY JDK MAINTAINER

#

TO DELETE JAVA

#

ORACLE WILL REMOVE IT

icy beacon
#

yeah that's happening tomorrow i think

tender shard
onyx fjord
#

I WILL respect microsofts intellectual property

icy beacon
#

so this might work...

if (event.slotType != InventoryType.SlotType.QUICKBAR) return
if (event.cursor != ItemStack(Material.AIR)) return
// cleared with X
rotund ravine
#

Purhaps

#

Was about to yell, but saw it was kotlin with those comparisons.

icy beacon
#

nope it does not work

#

it also triggers if i click on an item in the hotbar

#

i mean it's fine for my purposes

#

but i'd like to decrease the amount of the calls to the method, that i call after the conditions are satisfied, as much as possible

#

hmm

rotund ravine
#

@icy beacon Check amount of non-empty slots in the event and a tick after. If it’s empty they cleared it. + hotbar click + no double click

icy beacon
#

a tick later an item can pop up there though

regal scaffold
#

Where is org.bukkit.craftbukkit.libs.org.apache.commons.lang3

icy beacon
#

and unfortunately it doesn't work for my purposes

regal scaffold
#

In 1.19.4

icy beacon
#

i think lang3 was removed

rotund ravine
#

Ye creative inventory is ass

icy beacon
#

in the libs

regal scaffold
#

uh

#

1.19.3 it is

icy beacon
#

one sec

regal scaffold
#

It was

young knoll
#

You can always just add the dependency to your plugin

#

And shade/plugin.yml library it

icy beacon
#

ok not sure i can't see the apache lib removed anywhere in the latest blog posts

regal scaffold
#

It's not there

#

So it was removed

supple parcel
icy beacon
#

though i swear i did see a message about it being removed at some point

#

weird

icy beacon
#

nope

onyx fjord
#

i cant log in and i dont get pass reset email

sage patio
#

How i can move a armorstand in players eye direction while player is mounter on the armorstand?

icy beacon
#

i guess checks whether the user has their Ctrl button held

supple parcel
#

He posted that ocmment on both PR for the plugin update pull request

rough drift
#

I'd be happy to work with you

supple parcel
# rough drift Yep

Aye, but I don't have any further thoughts on either PR.
I think he just wants us to pick a PR to go ahead with, and make any changes as needed and close the other PR

icy beacon
#

xD

#

if (event.cursor.type != Material.AIR) return

rough drift
onyx fjord
#

whats agreed version 🤔

#

version of what

rough drift
#

wait can't rn, mind if I read it later once I am back @supple parcel

supple parcel
#

Yeah, just ping me when you're done

rough drift
#

alr

onyx fjord
#

YEAH

remote swallow
#

Parse stufd

sacred wyvern
#

Good evening all, I have a question on the Bukkit.getIp() command as it relates to server rentals. Do those servers set the server-ip= parameter in the server.properties spigot file?

fluid river
#

free

sacred wyvern
#

Or bukkit

fluid river
#

or even mojang

#

idr

#

i guess they do

#

most of the rent platforms don't let you modify server-ip

#

if not DS of course

hazy parrot
#

Yap, it's returning bind ip

sacred wyvern
#

Ok cheers, I built a plugin that's using the Bukkit.getIp() to determine if it's a localhost vs remote server but meh

fluid river
#

shouldnt localhost always be 0.0.0.0 or 127.0.0.1

hazy parrot
hazy parrot
fluid river
#

that's why i asked

eternal oxide
#

0.0.0.0 is generally used to bind to all IP's

fluid river
#

cool

eternal oxide
#

when supported

hazy parrot
#

And if getIp return empty string or 0.0.0.0 it's bond to all ips, and it's probably available to external (not including firewall)

sacred wyvern
#

sigh no this was code I took over from another developer. Our plugin has an external API it accesses to chat with villagers using ChatGPT.

#

There are two modes for the API dev and prod hosts.

#

it's based on Bukkit.getIp() but that's bad logic

fluid river
#

chatgpt has api?

sacred wyvern
#

I'm just gonna document that prod means the server-ip=

#

no I created one

#

My villagers for my mod can chat with you and hold convos

#

or plugin rather

wise mesa
final monolith
#

Is there any method to check if the server has done loading?

final monolith
#

Spigot 1.8

fluid river
#

wdym loading

#

onEnable()

final monolith
fluid river
#

you can try making your plugin load post-world

#

?plugin

#

?plugin.yml

#

shit

final monolith
#

not works for me

fluid river
#

and then just do your stuff in onEnable

final monolith
#

i need a method, its an API, cannot use the post-world due to compatibility issues

#

at 1.8, the ServerFinishLoadEvent doesn't exists

#

sadly

forest pumice
#

?paste

undone axleBOT
fluid river
#

then i guess there is no way

final monolith
forest pumice
#

Can someone help me

fluid river
#

guy has troubles

forest pumice
wise mesa
#

?1.8

undone axleBOT
rotund ravine
fluid river
#

plguin is disabled
@forest pumice

rotund ravine
#

Set*

final monolith
#

the source needs to be created on 1.8 then

forest pumice
final monolith
fluid river
#

?nocode

undone axleBOT
#

It’s hard to answer a programming question without code
Oh no! You ran into a problem. But no worries, people are willing to help, but first they need to see your code. This is because otherwise, they would be providing help based on guesses instead of concrete knowledge. Whether it be a compile error, runtime error, or an unexpected output, I'm sure that if you were to provide code, you'd receive a quick solution.

final monolith
forest pumice
#

I don't know where the error is comign from

fluid river
#

commandexecutor

rotund ravine
#

So just make a task

#

That runs

fluid river
#

Ev1.0

rotund ravine
#

When it runs the server is loaded

final monolith
fluid river
#

omg so smart

rotund ravine
#

1.8 life

fluid river
#

scheduler be like

wise mesa
#

Yea there’s no ticks before the server starts

final monolith
forest pumice
fluid river
#

@forest pumice show your onEnable and CommandExecutor for /updateparkour + full startup log

rotund ravine
#

Also plugin.yml

fluid river
#

Main class + plugin.yml + log

river oracle
sage patio
#

How I can move something like a ArmorStand between 2 locations using Velocity?

forest pumice
rotund ravine
#

Doesn’t look like an error

fluid river
#

line 31

#

in your main class

sage patio
fluid river
#

your blocks variable is cringe

forest pumice
#

the blocks

fluid river
#

i guess

#

you cannot cast memory section to hashmap

fluid river
#

can you show your config

forest pumice
#

config only has
locations : {}

fluid river
#

locations section

#

then why are you casting {} to hashmap

river oracle
fluid river
#

it doesn't work like this

forest pumice
final monolith
fluid river
forest pumice
#

Config is empty bro

#

it just generates like that

fluid river
#

you just can't cast the thing to hashmap

#

what do you want your locations section to look like

#

when you fill it with values

forest pumice
#

I don't want to fill it with values

#

im saving it

#

like onBlockPlace

#

and I'm just fetching it later on

#

in a for each loop

fluid river
#

you haven't saved anything yet, so you are probably not

forest pumice
#

what

fluid river
#

bruh

forest pumice
#

Sorry I don't get it

#

oh

#

bto

fluid river
#

should it look like this?

forest pumice
#

u edited

fluid river
#
locations:
  location1:
    someStuffHere:
    block: ACACIA_DOOR
  location2:
    someStuffHere:
    block: BIRCH_LOG
dire marsh
# final monolith

why even bother with minor versions that aren't the latest for that major release...?

forest pumice
#

it looks like this:

fluid river
#

i asked if you want it to look like on my example

forest pumice
forest pumice
#

I want something to just work properly

#

my concern isn't the config file rn

#

I'm just asking what this error is happening from

#

lol

rotund ravine
#

From the config.

fluid river
#

you are casting this to hashmap of location/material

rotund ravine
#

You’re welcome

fluid river
#

which is not possible

dire marsh
#

you have to deserialise that data properly

fluid river
#

yup

#

i can help you write it so it works fine

forest pumice
#

Ok if it fixes the issue

dire marsh
#

bukkit serialization stuff is so ugly

fluid river
#

show how you set the values

#

before saveConfig();

#

config.set("stuff", stuff);

forest pumice
#

ok I'm doing config.set(Location, Material)

remote swallow
#

first i would do that the other way round and you would need to to string the material

remote swallow
#

have the location as the key

#

not location

#

material

#

my brain works

fluid river
#

dm me, so we figure it out

#

also, if you are coding for ~1.17 or higher

#

you can just store data to the Chunk PDC

#

So if player interacts with your block, you just check the chunk for any info about the block you interacted with

forest pumice
#

hold up

fluid river
#

if there is no data, block does not belong to your plugin

#

and so you avoid the config completely

forest pumice
fluid river
#

?pdc

forest pumice
#

ok wait I think I fixed it

#

lemme see

#
[ERROR] .... Could not pass event BlockPlaceEvent to FarmBlockEaster v1.0

java.lang.NullPointerException: Cannot invoke "java.util.HashMap.put(Object, Object)" because "this.plugin.blocks" is null
#

what exactly is this

fluid river
#

Cannot invoke

#

put() method

#

cuz variable blocks == null

forest pumice
#

oh wait

#

silly me

fluid river
#

tho why do you need map if you have config

forest pumice
#

It's easier

fluid river
#

is that like tossing data around so there is on copy in RAM and one copy on Disk?

forest pumice
#

I don't really know, I'm working with another developer as well

#

Seems to work so yea

hazy parrot
fluid river
#

true actualy

#

as a map

fluid river
forest pumice
fluid river
#

call me

#

free yaml lessons

wise mesa
#

While someone is mining, how often is player interact event called?

forest pumice
#

right/left click once

wise mesa
#

Hm

fluid river
#

yup

wise mesa
#

I know that if you hold down right click it’ll spam the event

#

But haven’t tested for mining

forest pumice
#

Try PlayerBreakEvent

#

or no

#

BlockBreakEvent

#

This is called after the block is mined not during

left plover
#

When running code in an async task, when calling other functions, do those functions also run async or no?

bold crane
#

Are you making sure blocks HashMap is properly initialized before it is used?

icy beacon
#

code that's inside an async task code block will be ran async

wise mesa
#

so is there any other way i could check if the player is still mining a block

#

like in a runnable for instance

bold crane
#

Use playerinteractevent and blockbreakevent

wise mesa
#

cannot do that

#

it is a barrier

#

they will never break it

#

i want to see if they are still mining it

#

packet time

bold crane
#

Mining the barrier of the world?

bold crane
wise mesa
#

no like minecraft:barrier

#

what is a barrier of the world

bold crane
#

Do Material.BARRIER

wise mesa
#

im so confused

bold crane
#

So am I xD

#

so you want want to know if a barrier block it being mined yes?

sage patio
#

Can I move a ArmorStand using Velocity?

icy beacon
wise mesa
#

yes if the player is trying to mine it

icy beacon
#

?tas

undone axleBOT
bold crane
#

Then try the above

sage patio
#

thats why i asked

icy beacon
#

?nocode

undone axleBOT
#

It’s hard to answer a programming question without code
Oh no! You ran into a problem. But no worries, people are willing to help, but first they need to see your code. This is because otherwise, they would be providing help based on guesses instead of concrete knowledge. Whether it be a compile error, runtime error, or an unexpected output, I'm sure that if you were to provide code, you'd receive a quick solution.

sage patio
#
        val speed = 0.1
        val start = Location(Bukkit.getWorlds().first(), 0.0, 100.0, 0.0)
        val end = Location(Bukkit.getWorlds().first(), 100.0, 100.0, 100.0)
        val plane = start.world?.spawnEntity(start, EntityType.ARMOR_STAND)!! as ArmorStand
        plane.setGravity(false)
        plane.teleport(start)

        Ruom.runSync({
            plane.velocity = end.subtract(plane.location).toVector().normalize().multiply(speed)
        }, 0, 20)
wise mesa
#

the block break event is never called

#

because they never break the block

#

because its a barrier and they are in survival mode

#

i guess i will have to use packets

bold crane
#

Can you send me the code

sage patio
icy beacon
#

ah shit i'm bad at vectors

#

one sec i'll try to make sense of this

wise mesa
#

@bold crane

    @EventHandler(priority = EventPriority.HIGH)
    public void onPlayerInteract(PlayerInteractEvent event) {
        Bukkit.broadcastMessage(event.getAction().toString());
    }

    @EventHandler
    public void onBlockBreak(BlockBreakEvent event) {
        Bukkit.broadcastMessage("block break event");
        Bukkit.broadcastMessage("cancelled? " + event.isCancelled());
        Bukkit.broadcastMessage("");
    }
#

the block break event runs for other blocks

icy beacon
wise mesa
#

because i break them

#

but you don't break barrier blocks

#

because they are barriers

#

which is fine im not trying to

#

i just want to see if the player is trying to

icy beacon
wise mesa
#

for a feature im working on

sage patio
icy beacon
#

did you make sure that the world is the one that you're looking for?

sage patio
icy beacon
#

Ruom.runSync({...

sage patio
#

its a sync runnable

icy beacon
#

yeah

#

why?

#

is the rest of the code async?

sage patio
#

but its not moving

sage patio
icy beacon
#

i mean i don't see why it's necessary for testing to run your code in a separate runnable but ok

#

maybe apply the velocity, then turn it off

sage patio
#

hmm lemme test

bold crane
sage patio
bold crane
#

using packet time?

bold crane
grizzled oasis
#
@EventHandler
    public void onSpawn(EntityTargetEvent event) {
        if(!Ressurectio.getRessurectioMobs().contains(event.getEntity())) {
            Bukkit.getLogger().info("logger INT");
            return;
        }
        if(!Ressurectio.getRessurectioPlayers().contains(event.getTarget())) {
            Bukkit.getLogger().info("logger Target");
            return;
        }

        Bukkit.getLogger().info("Loggato UWU");
        event.setCancelled(true);

    }
//The other class
    @Getter
    public static List<UUID> RessurectioPlayers = new ArrayList<>();
    @Getter
    public static List<Entity> RessurectioMobs = new ArrayList<>();
//add the mobs
RessurectioMobs.add(player.getWorld().spawnEntity(player.getLocation(), EntityType.ZOMBIE));
//player is the same but with the player uuid

The zombies as the same target me, i don't know what i did wrong, the event is registred. The event doesn't even get called

wise mesa
#

dawg i just wanna know if the player is trying to mine a barrier for an extended period of time

wise mesa
icy beacon
icy beacon
#

text wall

#

?paste

undone axleBOT
icy beacon
#

use this please

#

thx

icy beacon
#

i've been trying for too long, how do i prevent this click?
my current code in InventoryClickEvent (the code is indeed being run, i've debugged it):

if (event.currentItem == Constants.IMMOVABLE_ITEM &&
  event.currentItem?.itemMeta?.displayName() == Constants.IMMOVABLE_ITEM_NAME) { // FIX 4
  event.isCancelled = true
  event.cursor = ItemStack(Material.AIR)
  event.currentItem = ItemStack(Material.AIR)
  return
}
#

i want the item to stay in place and the cursor to be empty

icy beacon
#

you only changed the condition

#

as i've mentioned, the detection works properly and the code inside the if-block is being run

#

it's just not the correct code and i'm trying to figure it out

bold crane
#

You can then check the console output to see if the values of event.currentItem and event.currentItem?.itemMeta?.displayName() are what you expect them to be

bold crane
icy beacon
#

??????

bold crane
#

Are you trying to make it so when the player clicks on it, it will not pick it up?

icy beacon
#

and you didn't touch what didn't work

bold crane
#

ah

icy beacon
#

it works in survival

#

not in gmc

bold crane
#

so in gmc

bold crane
#

does the original one work in gms/gmc

bold crane
icy beacon
#

and you too

#

let me reiterate

#

i SUCCESSFULLY detect the custom item

#

but i CANNOT change the item cursor

#

code it for me in java rq

#

i'll be waiting

remote swallow
#

i was thinking of saying that

#

if something doesnt work and its in kotlin blame kotlin

#

null stuff iirc

icy beacon
#

if it's null it's not gonna do shit

#

that's what ? does

#

in a nutshell

hazy parrot
#

Iirc creative inventory have different event

#

As you said its only not working in creative

#

If I read that right

#

And creative inventories in general can be tricky

icy beacon
bold crane
icy beacon
#

it detects the stuff

#

oh perhaps the result

#

yeah

#

i'll test that iota

remote swallow
#

set the cursor to null

hazy parrot
icy beacon
remote swallow
#

oh

icy beacon
#

my current code btw

if (event.currentItem == Constants.IMMOVABLE_ITEM && event.currentItem?.itemMeta?.displayName() == Constants.IMMOVABLE_ITEM_NAME) { // FIX 4
      event.isCancelled = true
      event.view.cursor = null
      event.clickedInventory?.setItem(event.slot, Constants.IMMOVABLE_ITEM)
      event.result = Event.Result.DENY
      return
    }
#

i'm gonna test that now*

remote swallow
#

isnt that a setter

#

or is that how setters are in kotlin

icy beacon
#

it can be both a setter and a getter

wise mesa
remote swallow
#

gives me groovy syntax vibes

icy beacon
#

if (event.view.cursor == null) is a getter
event.view.cursor = null is a setter

#

as an example

icy beacon
#

alright if it doesn't work it's a java issue

#

gimme a minute

#

gonna test mine first

worldly ingot
#

String == String won't work

bold crane
worldly ingot
icy beacon
#

in progress

#

compiling

ivory sleet
#

String#intern >:)

icy beacon
#

restarting the server

#

anyways thanks for pretty much rewriting my exact code in a different language and hoping for a different outcome thus wasting both your and my time

terse ore
#

are Boolean.TRUE/FALSE useful for something?

remote swallow
icy beacon
#

used to

#

but i no longer have my dragclicking mouse

remote swallow
#

imagine drag clicking

icy beacon
#

imagined

#

quite fun

remote swallow
#

nerd

icy beacon
#

ty

ivory sleet
#

They are the singletons for the boxed boolean class

stiff zinc
#

Is there a reason why there is no underline here for 1.8.8 but works for 1.14.4 and above with TextComponents

terse ore
#

but

#

what's the difference between true and Boolean.TRUE

stiff zinc
#

Seems like they work weird for previous versions

terse ore
#

public static final Boolean TRUE = new Boolean(true);

#

hmm

#

the only thing I see it's that you can use Boolean methods

ivory sleet
terse ore
#

copied it from there

ivory sleet
#

Boolean.valueOf(…) if u have a boolean value where u dont know if its true or false

terse ore
#

it isn't in my code dw

ivory sleet
#

But if u know in beforehand that u need the true instance of Boolean class, Boolean.TRUE is the best option, same for false

terse ore
#

okok ty

ivory sleet
#

Yes but thats the creation of the Boolean.TRUE singleton lol

#

The only appropriate place to use the constructor directly

terse ore
#

yes yes, I just wanted to check what it really was

remote swallow
#
public static final Boolean TRUE = !!!false;
public static final Boolean UNTRUE = Double.NaN == Double.NaN;
terse ore
#

bruh

#

UNTRUE

terse ore
#

the name says it all

terse ore
remote swallow
#

yes

terse ore
#

💀

tardy delta
#

wheres the AbstractFactoryFactory?

terse ore
#

trueStringVariable == trueStringVariable

#

"The server must start and the plugin must load." rules for contributions

glass mauve
#

if I want to add ProtocolLib via maven for spigot 1.19.3 can I just add version 5.0.0-SNAPSHOT?
On his website is a build as jar file for 1.19.3 but do I really need to add it manually?

tardy delta
bold crane
remote swallow
#

the latest on github is 5.0.0-SNAPSHOT just be careful of bugs

glass mauve
tardy delta
#

ive never used it but it would make sense if it didnt

worldly ingot
# terse ore are Boolean.TRUE/FALSE useful for something?
Boolean value = Boolean.TRUE; // Boxed (not auto boxed)
boolean value = true; // Primitive (not auto unboxed)
Boolean value = true; // Boxed (auto boxed from primitive)
boolean value = Boolean.TRUE; // Primitive (auto unboxed from boxed constant)```
Probably most useful when you're dealing with a boxed vs primitive type where you want to avoid auto boxing and unboxing in hot code. Take an Optional for example (ignore the fact that an OptionalBoolean would make more sense)
```java
Boolean value = someMethodThatReturnsAnOptionalBoolean().orElse(Boolean.TRUE); // Performs no auto boxing operations
boolean value = someMethodThatReturnsAnOptionalBoolean().orElse(true); // Auto boxes "true" to a Boolean, then auto unboxes it to a primitive
tardy delta
#

comparing the value of a Map<?, Boolean> uwu

worldly ingot
#

Yeah, though realistically you'd only care about the auto boxing if it's pretty hot code

worldly ingot
#

And auto unboxing isn't nearly as heap-polluting as auto boxing is

#

Boolean.booleanValue() just returns a boolean field whereas constructing a new Boolean may put it on the heap (or best case, on the stack)

tardy delta
#

the constructor became deprecated for a reason

worldly ingot
#

Well, yeah, though that's just because you really don't ever have any reason whatsoever to be constructing a Boolean wrapper

#

You only have two possible values. True or false

#

You can use Boolean#getBoolean() or #parseBoolean() to get a primitive anyways

#

Or Boolean#valueOf() if you want a wrapper

tardy delta
#

oh didnt know there were 2 methods

icy beacon
worldly ingot
#

I lied. getBoolean() is a misnomer. That gets a system property as a boolean

worldly ingot
tardy delta
#

ye

icy beacon
worldly ingot
#
    public static boolean getBoolean(String name) {
        boolean result = false;
        try {
            result = parseBoolean(System.getProperty(name));
        } catch (IllegalArgumentException | NullPointerException e) {
        }
        return result;
    }```
#

System property lol

#

idk why they did that

wise mesa
#

has using specialsource changed since back in 1.17

#

also is there a specialsource for gradle

remote swallow
#

spigot offical, no

eternal oxide
#

no

wise mesa
#

tragic

#

i hate maven

remote swallow
#

you either use paperweight which forces you to use paper so gotta be careful or you use one of the hundred unoffical ones

wise mesa
#

appreciate

remote swallow
rotund ravine
#

Isn’t that keyvaluepairs

#

So get it as a map or smth

#

Idk how yml does it lele

eternal oxide
#

? ==: Claim ? no package?

rotund ravine
#

Idk googled it and got smth

#

Lmk if it’s useful

fallow violet
#

i just want to get sure, would the list get updated?

HashMap<String, List<Reward>> rewardMatrix = new HashMap<>();
rewardMatrix.get(table_name).add(itemReward);

so if u get the list the item is in the list?

#

dayumn

#

alright thanks

young knoll
#

?

#

Why not just use a mutable form of list

fallow violet
#

Because i dont know it

sage patio
#
start = someLocation;
end = someLocation;
double speed = 1.0;
Vector direction = end.subtract(start).toVector().normalize();
armorStand.setVelocity(direction.multiply(speed));

speed is 1.0 which its a little fast, 0.9 stops the armorStand after a short time, 1.1 is way too high, any idea?

wary mauve
#

Does anyone know some stuff about world gen? I'm working on a cool project where the plugin generates 'micro worlds'

wary mauve
#

It does this by generating the world with a custom generator Terraform Generator. The plugin then loads these areas by calling each individual chunk, and then the server reloads the world with a VoidGen so that the rest of the chunks generate as void. Make sense?

fallow violet
#

kinda

golden turret
#

I have an entity id and I want to retrieve an entity by its id but the chunk where the entity is located is unloaded. Is there a way to get that entity without loading the chunk?

wary mauve
#

Problem: Sometimes these micro worlds have extra bits like this:

#

And I don't know why and I don't know if its preventable

#

4 out of 10 had extra bits

#

randomly

fallow violet
#

damn i cant help sorry

round finch
#

x z chunk?

young knoll
#

It's probably best to make your own terrain generator

wary mauve
#

the ChunkGenerator shouldn't effect which chunks are generated

wary mauve
young knoll
#

Should be fairly easy to delegate to vanilla generation in a chunk you want, and just void in the others

wary mauve
#

It is absolutely not easy. I've been told you can't generate a chunk manually. The only thing you can do is change the ChunkGenerator

#

and I havent found anyone able to just generate a chunk on command

#

The javadocs about this are confusing to me

wary mauve
#

I use getChunkAt() to generate it. this method might work better, not sure

young knoll
#

Does it not stop with 1.0?

sage patio
#

no it does not

young knoll
#

Weird

sage patio
#

goes like speed of the light with more than 1.0, and stopes a while with lower than 1.0

#

a while = a few blocks

wary mauve
#

@lost matrix could you check your dm's?

lost matrix
# wary mauve randomly

Try listening to the WorldInitEvent and setting setKeepSpawnInMemory(boolean) to false

lost matrix
wary mauve