Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nether not deleting #1840

Closed
ghost opened this issue Aug 26, 2021 · 12 comments
Closed

Nether not deleting #1840

ghost opened this issue Aug 26, 2021 · 12 comments
Assignees
Labels
Status: Done This issue has been completed or answered. This pull request has been merged. Type: Bug

Comments

@ghost
Copy link

ghost commented Aug 26, 2021

Expected behavior

I expect to see nether islands getting deleted.

Observed/Actual behavior

Overworld and end is fine. But nether deletes only few chunks or a row of chunks and most of the island is untouched.

Steps/models to reproduce

Create nether, delete or reset island.

BentoBox version

[22:30:13 INFO]: Běžím na PAPER 1.16.5.
[22:30:13 INFO]: Verze BentoBox: 1.16.1
[22:30:13 INFO]: Databáze: JSON
[22:30:13 INFO]: Načtené herní světy:
[22:30:13 INFO]: jodo (jodo): Svět, Nether, End
[22:30:13 INFO]: Načtené doplňky:
[22:30:13 INFO]: a2b 1.8.1 (ENABLED)
[22:30:13 INFO]: Biomes 1.14.0 (ENABLED)
[22:30:13 INFO]: BSkyBlock 1.14.4 (ENABLED)
[22:30:13 INFO]: Challenges 0.8.3 (ENABLED)
[22:30:13 INFO]: ControlPanel 1.13.0 (ENABLED)
[22:30:13 INFO]: DimensionalTrees 1.6.0 (ENABLED)
[22:30:13 INFO]: Level 2.6.3 (ENABLED)
[22:30:13 INFO]: Limits 1.15.5 (ENABLED)
[22:30:13 INFO]: Warps 1.10.2 (ENABLED)

Plugin list

AdvancedBan, AsyncWorldEdit, BentoBox, BKCommonLib, BlockUp*, CharcoalToCoal, ChopTree2, Chunky, ChunkyBorder, Citizens, CleanroomGenerator, ConsoleSpamFix, CustomTeleport, DomanGoldFarmControl, DomanPrefix, dynmap*, DynmapBSkyblock*, ElevatorSigns, Emoji, EndTeleport, Essentials, EssentialsChat, EssentialsSpawn, FakaHedaMinequery*, FlashingFireworks, InstantRestock, JoinDate, LibsDisguises, LightCleaner, Minepacks, Multiverse-Adventure*, Multiverse-Core*, MythicMobs, NoRain*, OSZOAntiWDL*, PacketLimiter, PermissionsEx*, PerWorldBlock*, PerWorldInventory, Pinger, PlugMan, ProtocolLib, RedirectCommands, ScLoad*, SecretMute*, SkinsRestorer, SmartSignEditor, SuperVanish, Vault, VillageInfo, VillagerOverhaul, VillagerTradeLimiter, VoidGenerator, WorldEdit, WorldEditSelectionVisualizer

Other

Tried deleting all the plugins, only leaving BentoBox with addons, still does the same. Also turned off clear super flat chunks. I don´t know if that has something to do with it but still nothing.

2021-08-26_22 31 40

2021-08-26_22 41 24

(In this one, new nether schematic placed onto old not deleted nether, the portal was lit previously)

Ze4a

@tastybento tastybento self-assigned this Aug 27, 2021
@tastybento tastybento added Status: Cannot replicate Could not replicate the issue on a fresh install. More details are needed. Status: Under investigation Investigating the interest and the feasability of the issue. labels Aug 27, 2021
@tastybento
Copy link
Member

Hmm, I can't replicate this right now. Does this happen all the time or you just noticed some islands have this issue?

How big are your islands (protected size?). Maybe the server was shutdown mid deletion. However, the islands in deletion are saved to a database and the islands should delete after that.

If you make an island, then reset, and then go back to the spot is the island there?

@ghost
Copy link
Author

ghost commented Aug 27, 2021

Yes, it happens all the time, every time i try. Protecton sizes are 100 or 190 (200x200 blocks or 380x380 blocks, happens on both of them). I try to delete or reset island, go to spawn or anywhere so chunks are unloaded, wait for sometimes a hour, come back and it is still in that state.

EDIT: Tried deleting BSkyBlock config, works perfectly. Now find what was wrong

@ghost
Copy link
Author

ghost commented Aug 27, 2021

Looks like setting create-missing-nether-end-islands to false fixed it.

@BONNe
Copy link
Member

BONNe commented Aug 27, 2021

Looks like setting create-missing-nether-end-islands to false fixed it.

Oh, yes, that option could influence.
Because it auto generate nether island when you join the nether world :D

@ghost ghost closed this as completed Aug 27, 2021
@ghost ghost reopened this Sep 5, 2021
@ghost
Copy link
Author

ghost commented Sep 5, 2021

Hello. We tried everything, nothing. Completly fresh 1.17.1 PaperMC server with only BentoBox and BSkyBlock. Few times it will delete but mostly it doesnt. Sometimes it doesnt delete anything, mostly only a few chunks.

@tastybento
Copy link
Member

Can you give me a step by step for how to try and replicate? It sounds like you did a test on a completely fresh (no changes to configs) server? If so, let me know how you tested and saw the results. Also, as it might be coordinate related, tell me where the islands are that you saw the issues happening. Thanks!

Also, this may be a good idea - if you are using a completely fresh install, then zip up the whole server, including the worlds and share it with me and I'll try and run exactly what you have.

@ghost
Copy link
Author

ghost commented Sep 5, 2021

Yes, brand new server, no changes at all. Created island, reset trough /is reset, after a few minutes went to check out nether island, still was there. And this only happens to nether and end islands. Islands in overworld get deleted every single time without any problems.

@ghost
Copy link
Author

ghost commented Sep 5, 2021

Looks like on spigot it works fine. On Paper doesn´t.

@tastybento
Copy link
Member

I'm sorry, I cannot replicate. Here's what I did:

  1. Downloaded latest Paper 1.16.5 Build 788
  2. Downloaded the 1.16.5 version of BentoBox and addons:
> bbox v
[17:15:45 INFO]: Running PAPER 1.16.5.
[17:15:45 INFO]: BentoBox version: 1.16.2
[17:15:45 INFO]: Database: JSON
[17:15:45 INFO]: Loaded Game Worlds:
[17:15:45 INFO]: bskyblock_world (BSkyBlock): Overworld, Nether, The End
[17:15:45 INFO]: Loaded Addons:
[17:15:45 INFO]: Biomes 1.14.0 (ENABLED)
[17:15:45 INFO]: BSkyBlock 1.14.4 (ENABLED)
[17:15:45 INFO]: Challenges 0.8.4 (ENABLED)
[17:15:45 INFO]: ControlPanel 1.13.0 (ENABLED)
[17:15:45 INFO]: DimensionalTrees 1.6.0 (ENABLED)
  1. Ran as a brand new server
  2. Made the default island and then reset it.
  3. Visited the old coords
  4. Repeated with multiple islands:
[17:08:31 INFO]: BoxManager joined the game
[17:08:32 INFO]: BoxManager[/127.0.0.1:49480] logged in with entity id 389 at ([world]160.5, 63.5, 6.5)
[17:08:50 INFO]: [BentoBox] Downloading data from GitHub...
[17:08:50 INFO]: [BentoBox] Successfully downloaded data from GitHub.
[17:09:15 INFO]: BoxManager issued server command: /is
[17:09:26 INFO]: BoxManager has made the advancement [Stone Age]
[17:09:44 INFO]: BoxManager issued server command: /is reset
[17:09:45 INFO]: BoxManager issued server command: /is reset
[17:10:28 INFO]: BoxManager issued server command: /bsb tpnether BoxManager
[17:10:28 INFO]: BoxManager has made the advancement [We Need to Go Deeper]
[17:10:42 INFO]: BoxManager issued server command: /tp 0 120 0
[17:10:42 INFO]: [BoxManager: Teleported BoxManager to 0.5, 120.0, 0.5]
[17:10:52 INFO]: BoxManager issued server command: /is
[17:10:56 INFO]: BoxManager issued server command: /is reset
[17:10:57 INFO]: BoxManager issued server command: /is reset
[17:11:29 INFO]: BoxManager issued server command: /bsb tpnether BoxManager
[17:11:37 INFO]: BoxManager issued server command: /tp 0 120 800
[17:11:37 INFO]: [BoxManager: Teleported BoxManager to 0.5, 120.0, 800.5]
[17:11:37 WARN]: BoxManager moved too quickly! -800.0,-8.243413216081763,-2.0
[17:12:00 INFO]: BoxManager issued server command: /is
[17:12:03 INFO]: BoxManager issued server command: /is reset
[17:12:05 INFO]: BoxManager issued server command: /is reset
[17:12:25 INFO]: BoxManager issued server command: /bsb tpnether BoxManager
[17:12:39 INFO]: BoxManager issued server command: /tp 800 120 800
[17:12:39 INFO]: [BoxManager: Teleported BoxManager to 800.5, 120.0, 800.5]
[17:12:39 WARN]: BoxManager moved too quickly! 0.0,-7.907797189770335,798.0
[17:12:49 INFO]: BoxManager issued server command: /is
[17:13:30 INFO]: BoxManager issued server command: /is reset
[17:13:32 INFO]: BoxManager issued server command: /is reset
[17:13:45 INFO]: BoxManager issued server command: /bsb tpnether BoxManager
[17:13:55 INFO]: BoxManager issued server command: /tp 800 120 0
[17:13:55 INFO]: [BoxManager: Teleported BoxManager to 800.5, 120.0, 0.5]
[17:13:55 WARN]: BoxManager moved too quickly! 0.0,-8.657671363115895,798.0
[17:14:08 INFO]: BoxManager issued server command: /is
[17:14:13 INFO]: BoxManager issued server command: /is reset
[17:14:15 INFO]: BoxManager issued server command: /is reset
[17:14:28 INFO]: BoxManager issued server command: /bsb tpnether BoxManager
[17:14:39 INFO]: BoxManager issued server command: /tp -800 120 -800
[17:14:39 INFO]: [BoxManager: Teleported BoxManager to -799.5, 120.0, -799.5]
[17:14:52 INFO]: BoxManager issued server command: /is
[17:15:05 INFO]: BoxManager lost connection: Disconnected
[17:15:05 INFO]: BoxManager left the game

Each time, the nether island was completely gone when I visited the old location.

Nether.mov

I'll need some more info to try and work out why it's happening for you. I'm not running any other plugins. Are you? Any other ideas how what you have is different to what I have?

@x1p
Copy link

x1p commented Sep 8, 2021

I have the same issue.
On my production server the End islands are not deleted.

I tried numerous times to reproduce the issue on a test server and all worked perfectly. I couldn't figure it out why it worked flawless. Until I realized that the production server has Multiverse because CMI needs to have all the worlds loaded in order to accept homes on bskyblock worlds. After running the test server with Multiverse on it, both Nether and End islands failed to delete upon command.

@tastybento
Copy link
Member

Yes, thank you. When MV is running, I don't see deletion occurring in the nether or end! I'll try and see if there's some reason for that.

@tastybento tastybento added Type: Bug Status: In progress Working on the issue. and removed Status: Cannot replicate Could not replicate the issue on a fresh install. More details are needed. Status: Under investigation Investigating the interest and the feasability of the issue. labels Sep 9, 2021
@tastybento tastybento added Status: Done This issue has been completed or answered. This pull request has been merged. and removed Status: In progress Working on the issue. labels Sep 9, 2021
@tastybento
Copy link
Member

It's not MV's fault. It was due to the async loading of chunks by Paper and exacerbated by MV. Now the chunks are properly deleted and this should be fixed. Thanks for the report @Aricius2 and tip that enabled me to replicate it @x1p!

tastybento added a commit that referenced this issue Sep 11, 2021
* Version 1.17.1

* Add homes command to default player options.

* Implements better online player counter. (#1791)

Current one is based on online player count when bStats sends data to the server.
This one will send data about amount of players who logged in the server.

* Add Boxed Gamemode to the list. (#1793)

* Add Bank addon (#1792)

* Add Holographic Displays as SoftDepend for AOneBlock (#1794)

* Custom date time format support for /<admin> info <player> (#1783)

Fixes #1720

* Parent/sub-flag support, split up and designate CONTAINER flag as parent flag (#1784)

* Split CONTAINER flag into multiple flags

CONTAINER split into
- CONTAINER (Chest/Minecart Chest)
- BARREL (Barrel)
- COMPOSTER (Composter)
- FLOWER_POT (Flower Pot)
- SHULKER_BOX (Shulker Box)
- TRAPPED_CHEST (Trapped Chest)

Fixes #1777

* Add subflag support

* Create container parent flag, chest subflag

* Remove extra string from when CHEST was CONTAINER

* Fix incorrect flag specified on fired event in IslandToggleClick

* Add missing world subflag event firing

* Remove extra import

* Add world setting flag for island visitors keep inventory (#1785)

* Implement 3 bar charts: addons, gamemodes, hooks (#1790)

BStats supports sending Bar chart data, however, it does not display it via their site directly.
It can be called manually, to view.

PieChart does not work very well for addons and hooks. BarChart however allows viewing each addon separately. 

This change allows sending data to the server about bar charts.

* Update action versions

* Declare distribution - adopt

* Cache Java Maven files differently.

* Try dependency for shade snapshot

* Add support for Minecraft 1.17.1

* Fix test by incrementing listener value check

There is a new listener now.

* Spigot 1.17.1

* Fix test for InventoryListener

* Re-order repos.

* Downgrading to 1.17 Spigot for now to enable building.

* Try pluginRespositories tag in POM to enable Github actions

* Version 1.17.2

* Add alternative Addon#getIslandManager method (#1797)

We have already done this to the main BentoBox class. But add-ons missed it, and it still has this weird structure: Addon#getIslands().getIslands().

This will just add the same method as it is already in BentoBox class.

* Fix bucket dupe (#1806)

Fix https://discord.com/channels/272499714048524288/310623455462686720/867790395442462760

* Removes unneeded exploit protection code for skulls (#1810)

This no longer seems to be required with 1.17.1

https://github.com/BentoBoxWorld/BSkyBlock/issues/430

* Quote filename of addon that cannot be loaded.

Provides a better understanding of which addon failed.

* Remove update when pasting chest.

* Version 1.17.3

* Java upgrade (#1814)

* Version 1.17.3

* Use Map.of and List.of instead of Immutable collections

* Replace explicit type argument.

* Replace lamba with method reference

* Replace condition with Objects.requireNonNullElseGet

* Use String.repeat

* Use new switch expressions

* Use instanceof patten variables which are more compact

* Fuse toUnmodifiableList into stream and return it.

* Remove unnecessary toString() calls.

* Remove unnecessary public

* Extracted common part from if

* Simplify conditional expressions

* Remove unused IOExceptions

* Cast to long

* Use Map.putAll

* Use primitives

* Clarify what is null or not

* Addedd @serial annotation introduced with Java 14.

* Use Optional.isEmpty instead of !isPresent

* Use flatMap then ifPresent

* Just use Arrays.stream

* Swap map and filter for null with Objects::nonNull

* Use expression lambda

* Update JavaDoc version to 16

* Make spawn protection area square instead of circle.

#1819

* Improve ItemParser code. (#1821)

* Improve ItemParser code.

Add ability to parse text if Material is just a single string.
Add ability to parse player heads.

Add comments to the code.

* Fixes failing test.

* Added deprecation suppression.

* Added Pladdon to loadbefore.

* Prevent bucket duping when scooping obsidian Part 35

#1825

* Warns visitors that PVP is active if they teleport to an island

#1780

* Prevents repeated portaling when nether is disabled. (#1826)

* Prevents repeated portaling when nether is disabled.

#1782

* Fix test

* Hex pr 1820 (#1822)

* Fix @SInCE for subflags. (#1831)

* Add Citizens to Softdepend list for NPC support (#1834)

* Fix color test.

* Set the default game mode when player makes island.

* Corrects JavaDocs link

Fixes #1838

* Update to 3.3.1-SNAPSHOT for shade plugin.

* Package info files for better JavaDocs (#1839)

* Added package info files for better JavaDocs

* Implement Flag icon changing via Locales file. (#1829)

This commit contains 2 changes:
- An option for Flag to use icon that is defined in locales after "icon" string.
- An option for ItemParser to parse icon or return given value, if parsing was not successful.

The flag option is not ideal, but it is simpler and easier to maintain then adding new config section where icons can be changed, as the locales file already contains a lot of info about each flag.

* Support glowing ink in blueprints (#1842)

Fixes #1837

* Panel template (#1841)

* Implement basic functionality to read data from template panels.

Create TemplateReader class that has static method which generates a PanelTemplateRecord. This record contains every necessary information from user created template file so everyone could use it to generate a functional panel.
These classes are just for reading templates and do not create actual panel.

* Add template clearing via bentobox reload command.

* Fix version command to show addon state.

* Fix German flag banner description.

Added more debug around error reporting.

* Make variables final if they can be. (#1843)

* Make variables final if they can be.

* Do not use final so that test can pass.

For testing, we use a trick to set this variable, but it won't work if
it is final. Right now, I'd like to keep the test.

* Static code analysis (#1844)

* StringBuffer (Java 5) may be declared as StringBuilder

* Replace map with flatMap

* Use instanceof naming

* No need to specify paramter types.

* Remove verbose code

* Fix JavaDoc issues

* Make internal class a record.

* Remove unused import.

* Make internal class a record.

* Made internal class a record.

* Removed unused import

* Fix typos

* Fix typo in test.

* Prevent home teleport when already home teleporting

Home teleporting is async so it's possible to issue the command multiple
times. This puts a flag in so that if a playeer is mid-teleport, then
issuing the go command will just repeat the text that the player is
teleporting home.

#1637

* Extracted island info from the Island object.

This is in preparation to have a different info for players than admins.

#1501

* Slimmer trimmer island info for players.

#1501

* Fixes coop and trust invites when team invites are not allowed

If a member or sub-owner has coop or trust invite capability and not
team invite rank, and confirm invites is on, then the invites were not
working.

Fixes #1452

* Remove invulnerable visitor protection if island is in PVP mode

We now have alerts if a player teleports to a PVP island.

#668

* Fixes NPE in admin tp if nether or end worlds don't exist.

* Adds arrow sound when teleporting into a PVP island.

* Fix PVPListenerTest

Visitors are no longer invincible when on a PVP island.

* Fix test failure in InvincibleVisitorsListenerTest

* Minor JavaDoc correction.

* Go command was not working second time.

* Prevents console errors for missing icons in locale files.

* Fixes PlAddon disabling issue. (#1847)

There was a bug that did not unload PlAddon classes from JVM.
This change should fix it, as it will unload PlAddons via pluginLoader.

* Clear code - set worlds once on construction.

* Fixes a bug when Potion metadata was not applied (#1849)

There was missing potion meta data applying after creating an item. 
This affects both: Potions and Tipped arrows.

* Adds force-shown lines to the template. (#1850)

* Adds force-shown lines to the template.
Fixes a bug when template type was not selected correctly.
Changes "name" to "title" for border and background icons.

* Create TemplatedPanel and TemplatedPanelBuilder.

TemplatedPanel uses PanelTemplateRecord to create a functional panel.
Builder contains button builder callbacks that are used to create buttons with custom data.

* Use final vars for lambdas to avoid them changing async

The processes could run async, especially when chunk loading took a
while, so using fields that could change would result in blocks being
missed, especially in the nether or end. Switching to final vars avoids
this.

Fixes #1840

* Remove travis.

Co-authored-by: BONNe <bonne@bonne.id.lv>
Co-authored-by: Fredthedoggy <45927799+Fredthedoggy@users.noreply.github.com>
Co-authored-by: Justin <jstnf@users.noreply.github.com>
Co-authored-by: gecko10000 <60494179+levtey@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Done This issue has been completed or answered. This pull request has been merged. Type: Bug
Projects
None yet
Development

No branches or pull requests

3 participants