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

Re-Code #360

Open
29 tasks
sekwah41 opened this issue Apr 6, 2023 · 8 comments
Open
29 tasks

Re-Code #360

sekwah41 opened this issue Apr 6, 2023 · 8 comments

Comments

@sekwah41
Copy link
Owner

sekwah41 commented Apr 6, 2023

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.

  • Command tags
  • Trigger block tags
  • Destination tags
  • Bungee tags
  • Bungee support
  • Velocity support
  • 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

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

Extra Features

  • Allow setting, adding or removing tags from portals after creation

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

@sekwah41
Copy link
Owner Author

sekwah41 commented Apr 6, 2023

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.

@sekwah41
Copy link
Owner Author

sekwah41 commented Apr 6, 2023

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

@sekwah41 sekwah41 changed the title Re-Code Platforms Re-Code Apr 6, 2023
@sekwah41
Copy link
Owner Author

sekwah41 commented Apr 7, 2023

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.

@Terrorwolf01
Copy link

Hi,
Is there any Progress on this rewrite?
BR

@sekwah41
Copy link
Owner Author

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.

@sekwah41
Copy link
Owner Author

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

@sekwah41 sekwah41 pinned this issue May 10, 2024
@TreemanKing
Copy link
Contributor

TreemanKing commented May 13, 2024

  • 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 FlippinDuckMan 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) ~[?:?]
	```
	

@TreemanKing
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants