Advanced Portals

Advanced Portals

307k Downloads

Re-Code

sekwah41 opened this issue ยท 13 comments

commented

Here are the tasks needed for the
Ok so I'm going to make a list of features planned for the initial release. Please if anything is missing that you would consider core ping me or respond.

This is what is considered as the core features, so some may be missing and replaced or added as they were later

  • Command tags
  • Trigger block tags
  • Destination tags
  • Sort all command permissions and tag permissions surrounding testing.
  • Message tag
  • Add default warp message and config to say where they should show
  • Delay tag
  • Disable gateway beacons in portal regions
  • Bungee tag
  • Proxy/Server tag
  • Permission tag
  • Portal protection
  • Portal disable liquid physics
  • Portal disable mob spawning
  • Nether portal checks (avoid going to nether)
  • Fire portals don't keep you set on fire
  • Gateway blocks and end portals don't trigger default behaviour
  • Destination create
  • Destination remove
  • Portal create
  • Portal remove
  • Portal file conversion to new format
  • Portal selector
  • Placeholder blocks for portals, end and gateway
  • Help Menus
  • Stop portal blocks being smashed in active portals
  • Update permissions in the plugin.yml

These are the indented platforms to support at least eventually

Core

  • Spigot
  • Paper (possibly using some of the extra optimisations, plus properly testing paper specific bugs)
  • Velocity
  • Bungee

Extended

  • Folia
  • Forge
  • Fabric

Will likely switch the non base release tasks to a separate ticket

commented

Hi,
Is there any Progress on this rewrite?
BR

commented

Not in the last few weeks though I have the base tag system and most things ready with a few bugs for spigot. I just need to add bungee and velocity support. Then it's bug testing and finishing off a few more of the base tags.

commented

Ive added the extra checks to the main body of the ticket.

commented
  • Error when reloading an invalid configuration (Will be fixed with change to yml)
Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated array at line 27 column 5 path $.a.[2]
  • Strings in tags cause an internal error due to autocomplete
[13:00:27 ERROR]: Exception when username attempted to tab complete advancedportals create name:test3 command:"d
org.bukkit.command.CommandException: Unhandled exception during tab completion for command '/advancedportals create name:test3 command:"d' in plugin AdvancedPortals v1.0.0
	at org.bukkit.command.PluginCommand.tabComplete(PluginCommand.java:150) ~[PaperCrane-API-1.20.1-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.command.Command.tabComplete(Command.java:93) ~[PaperCrane-API-1.20.1-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.command.SimpleCommandMap.tabComplete(SimpleCommandMap.java:240) ~[PaperCrane-API-1.20.1-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.craftbukkit.v1_20_R1.CraftServer.tabCompleteCommand(CraftServer.java:2420) ~[papercrane-1.20.1.jar:git-Paper-"c09094b"]
	at org.bukkit.craftbukkit.v1_20_R1.CraftServer.tabComplete(CraftServer.java:2392) ~[papercrane-1.20.1.jar:git-Paper-"c09094b"]
	at org.bukkit.craftbukkit.v1_20_R1.command.BukkitCommandWrapper.getSuggestions(BukkitCommandWrapper.java:74) ~[papercrane-1.20.1.jar:git-Paper-"c09094b"]
	at com.mojang.brigadier.tree.ArgumentCommandNode.listSuggestions(ArgumentCommandNode.java:71) ~[brigadier-1.1.8.jar:git-Paper-"c09094b"]
	at com.mojang.brigadier.CommandDispatcher.getCompletionSuggestions(CommandDispatcher.java:602) ~[papercrane-1.20.1.jar:?]
	at com.mojang.brigadier.CommandDispatcher.getCompletionSuggestions(CommandDispatcher.java:582) ~[papercrane-1.20.1.jar:?]
	at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleCustomCommandSuggestions$6(ServerGamePacketListenerImpl.java:922) ~[?:?]
	at net.minecraft.server.TickTask.run(TickTask.java:18) ~[papercrane-1.20.1.jar:git-Paper-"c09094b"]
	at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
	at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
	at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1337) ~[papercrane-1.20.1.jar:git-Paper-"c09094b"]
	at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[papercrane-1.20.1.jar:git-Paper-"c09094b"]
	at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
	at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1314) ~[papercrane-1.20.1.jar:git-Paper-"c09094b"]
	at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1307) ~[papercrane-1.20.1.jar:git-Paper-"c09094b"]
	at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
	at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1285) ~[papercrane-1.20.1.jar:git-Paper-"c09094b"]
	at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1173) ~[papercrane-1.20.1.jar:git-Paper-"c09094b"]
	at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[papercrane-1.20.1.jar:git-Paper-"c09094b"]
	at java.lang.Thread.run(Thread.java:840) ~[?:?]
	```
	
commented

I believe better error logging will prevent most Nether checks as currently, if there is an error somewhere in the configuration or creation, it will send you there.

commented

The plan is for now to get the main system out, some parts may be rough and I will re-organise it as I go but the main API's or data used by plugins should not change drastically.

commented

The re-code will be based off the initial re-code but with a slight re-structure.

commented

Look into the best way to use/setup guice https://stackoverflow.com/questions/3404871/guice-inject-field-in-class-not-created-by-guice

For now, the injection method seems a bit best for just getting it working for our needs. Luckily due to the structure of the plugin, it shouldn't be too hard to re-do the references if need be.

commented

Need to fix an issue with creating tags using " to surround values

commented

Once this is ready I need to make an announcement saying some features may be slightly different or missing, so please raise issues or discuss on the discord.

commented

Will merge tomorrow, and after testing will look to release a full update

commented

Actually I'll keep open as I'd like to also look at moving dependencies via the shadow plugin so they don't clash. Also I need to setup the release pipeline.

commented

Closing now as ive remapped and shadowed the libraries