GithubHelp home page GithubHelp logo

lauriethefish / betterportals Goto Github PK

View Code? Open in Web Editor NEW
66.0 66.0 32.0 1.61 MB

My plugin version of the popular BetterPortals mod which has many limitations, but requires no client side code

License: zlib License

Java 100.00%

betterportals's Introduction

Hi, I'm an amateur developer who loves programming.

Learning to code

I learnt to code by myself, mostly through Scratch and then later Python. After some time, I started to learn C#, and later Java, with the goal of making Minecraft Bukkit plugins. This went well, and a few months later I had created a minigame (admittedly a terribly coded one) for a few friends.

C++

A while later, I got bored of making plugins and tried my hand at C++ development. I was very confused at first at how weirdly the language worked, but I soon understood memory management and how it wasn't done for me anymore. My main reason for learning C++ was to make OpenGL applications, although I didn't end up doing much of this in the end.

BetterPortals

After this, I returned to plugin development. I had an idea for a plugin that let you see through portals, and created it over the course of about a week. This is BetterPortals. This was the first time I published my code to github.

The code was much better than what I had created before, and was commented well so that I would be able to understand it later on. The project gained some traction, and has now risen to over 20,000 downloads.

Beat Saber Modding

In the meanwhile, I was starting to get into playing the game Beat Saber on the Oculus Quest. I was having a lot of fun playing custom levels, and after a while I thought I would try to create my own mods. This took a while for me to learn, mostly due to the lack of documentation and, at the time, confusing setup. But eventually I figured it out and created a few mods.

QuestPatcher

In the early days of Gorilla Tag modding, I make a small tool for modding il2cpp applications on the Oculus Quest and Oculus Quest 2. This is QuestPatcher. It has now reached over 100,000 downloads.

The QMOD format used in QuestPatcher was later adopted by BMBF, the primary modding tool for Beat Saber on the quest.

betterportals's People

Contributors

bluebotlabz avatar cloudate9 avatar dependabot[bot] avatar fernthedev avatar harvelsx avatar lauriethefish avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

betterportals's Issues

Draconic Evolution Dislocator Crash

Describe the bug

Using a dislocator from Draconic Evolution that results in cross-dimension travel (In multiplayer) causes the game to effectively force the player into an endless connecting state. They're unable to move, or see any blocks, and cannot be moved by other players (but are able to be moved by other means, such as pistons). Any attempt to reload their view (Lowering the render distance, exiting the server) results in the server crashing and the client being disconnected.

Disabling third party transitions did not resolve the issue.

To Reproduce

Start a LAN world, connect to it with a second client, create a dislocator pair, give each player one of the dislocators from the pair, move the client (or the host) to another dimension, and attempt to teleport from either one to the other.

Server Logs

When the dislocator is used:

java.util.concurrent.ExecutionException: java.lang.NullPointerException
	at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_51]
	at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_51]
	at net.minecraft.util.Util.func_181617_a(Util.java:48) [h.class:?]
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:723) [MinecraftServer.class:?]
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668) [MinecraftServer.class:?]
	at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:279) [chd.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]
Caused by: java.lang.NullPointerException
	at net.minecraft.server.management.PlayerChunkMap.handler$zci000$updateMovingPlayerWithViews(PlayerChunkMap.java:798) ~[ou.class:?]
	at net.minecraft.server.management.PlayerChunkMap.func_72685_d(PlayerChunkMap.java) ~[ou.class:?]
	at net.minecraft.server.management.PlayerList.func_72358_d(PlayerList.java:383) ~[pl.class:?]
	at net.minecraft.network.NetHandlerPlayServer.func_147347_a(NetHandlerPlayServer.java:584) ~[pa.class:?]
	at net.minecraft.network.play.client.CPacketPlayer.func_148833_a(SourceFile:126) ~[lk.class:?]
	at net.minecraft.network.play.client.CPacketPlayer$PositionRotation.func_148833_a(SourceFile:18) ~[lk$b.class:?]
	at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:22) ~[hv$1.class:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_51]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_51]
	at net.minecraft.util.Util.func_181617_a(Util.java:47) ~[h.class:?]
	... 5 more

Further attempts to use the dislocator will result in an identical error (But not crash the server).

Attempting to leave the server or lower render distance results in the following error, crashing the server:

java.lang.IllegalStateException: Player changed world without us noticing. Did some third-party mod do something weird?
	at de.johni0702.minecraft.view.impl.server.ServerWorldsManagerImpl.updateActiveViews(ServerWorldsManagerImpl.kt:67) ~[ServerWorldsManagerImpl.class:?]
	at net.minecraft.server.management.PlayerChunkMap.handler$zci000$setPlayerViewRadiusWithViews(PlayerChunkMap.java:817) ~[ou.class:?]
	at net.minecraft.server.management.PlayerChunkMap.func_152622_a(PlayerChunkMap.java) ~[ou.class:?]
	at net.minecraft.server.management.PlayerList.func_152611_a(PlayerList.java:1155) ~[pl.class:?]
	at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:284) ~[chd.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]

Additional context
Plugin Version: 0.3.7.7
Game Version: Forge 14.23.5.2854

Horizontal nether portal support

What would you like added?
Support for horizontal portals, like the end portal, the end portal would probably be a one-way portal of course

Is it to solve a particular problem?
I just think horizontal portals would be really nice and very useful

TeleportCooldown Not working

Describe the bug
I have a portal that is against a wall, and if accessed into the side facing the wall, I cannot enter through to the other side, as it just teleports me back through when I try to move.
I assumed the TeleportCooldown would fix this, but I have tried setting it to 10, 100, and 10000 with no change.

To Reproduce
Walk into a one sided portal

Server Logs
NA

If you can't do this for security reasons, an excerpt of log will probably suffice.

Additional context
Any other info.

BetterPortals error

Describe the bug
What is going wrong? Does the plugin crash? What have you tried to try and fix the problem, if anything.

I have installed the BetterPortals plugin to my PaperMC world. Anytime I try to light a portal I get a error message.

"You must select both sides of a portal first. For info, run /bp help"
"Unfortunately, this portal will not be lit since the world that you are in is not linked, (If you have changed the name of your world in server.properties, you need to change it in the config) If you believe this to be a mistake, contact an admin.

Any help would be greatly appreciated.

Additional context
Plugin Version: 0.9.0
Game Version: 1.17.1

Riding entities separate when teleporting through a portal.

Title basically, whenever you walk through a portal on a horse, you dismount prior to teleportation.

Some notes about fixing:

  • Setting the riding entities directly after the teleport has proved difficult.
  • This is because of client-server disagreements. The client gets confused about where they are.
  • Probably will be a while before I can fix properly.

Exception when throwing item through end portal

try to put some item in end portal and take this error

java.lang.IllegalStateException: Invalid PortalCreateEvent called by Bukkit. Portal was not on a valid plane
        at com.lauriethefish.betterportals.bukkit.events.SpawningEvents.findPortalDirection(SpawningEvents.java:150) ~[?:?]
        at com.lauriethefish.betterportals.bukkit.events.SpawningEvents.onPortalCreate(SpawningEvents.java:90) ~[?:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor183.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Paper-625]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.5.jar:git-Paper-625]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Paper-625]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.WorldServer.a(WorldServer.java:2411) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.Entity.teleportTo(Entity.java:2700) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.Entity.b(Entity.java:2655) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.EntityItem.b(EntityItem.java:467) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.BlockEnderPortal.a(BlockEnderPortal.java:63) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.BlockBase$BlockData.a(BlockBase.java:626) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.Entity.checkBlockCollisions(Entity.java:1070) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.Entity.move(Entity.java:805) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.EntityItem.tick(EntityItem.java:120) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.WorldServer.entityJoinedWorld(WorldServer.java:960) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.World.a(World.java:946) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.WorldServer.doTick(WorldServer.java:646) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1486) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:418) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1338) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1126) ~[patched_1.16.5.jar:git-Paper-625]
        at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:289) ~[patched_1.16.5.jar:git-Paper-625]
        at java.lang.Thread.run(Thread.java:834) [?:?]```

Add CoreProtect integration

What would you like added?
BetterPortals to use the CoreProtect API to inform it when blocks change from the dimension blend and portal creation.
Would be very useful for server owners who use CoreProtect.

Is it to solve a particular problem?
BetterPortals block changes, i.e. those generated in the creation of portals and in dimension blending, don't show up in CoreProtect logs and therefore can't be rolled back.

Add client side dimension blend.

Could you change how Biome Blend works? that way it only changes the textures client side but not actually changes the blocks. That way when the portal gets broken the blocks revert black to their original texture and dont stay that way.
Would be a very nice and helpful touch

Not detecting plugin or Jar file

It does not run the plugin or detect the jar is there. The jar is there but it does not create anything and the jar is unable to run manually or automatically.

To Reproduce
not sure

Server Logs
does not detect the plugin is there

Additional context
Plugin Version: 0.8.1
Game Version: 1.16.5

Mobs sometimes spawn in portal frame when pushed through, and thus suffocate

if a portal with a width of 2 blocks is built (default), then the mobs that we push into the portal appear on the other side right in the frame of the portal and die. that is, the plugin will incorrectly spawn mobs on the other side. we also noticed that the portals do not correctly copy the suits of horses.

Turning on nether portals

I have downloaded the plugin and learned how to use custom portals but is there just a way to light on a portal like in vanilla and it shows the other side, because if there is I haven't found it

Instant teleportation toggle

What would you like added?
I could need an option to toggle the instant teleportation when stepping into portals. This could than be configured in the config file or per portal.

Is it to solve a particular problem?
There are a lot of people on my server who have their portal like a doorway where you can walk through. Without BetterPortals the normal behaviour is:
Survial Mode: teleportation timer with animation
Creative Mode: instant teleportation
With BetterPortals it's like in creative mode and that's a problem for them. (They can't walk through the portals anymore)

What are your thoughts about this?
Thx

End portal support

What would you like added?
See-through end portals like the function of the nether portals?

Is it to solve a particular problem?
No

Black Concrete Spawning with linked portals

Hi,

When linking 2 portals together in the overworld, sometimes the black concrete that you see through the portals (I imagine to reduce lag especially with longer render distances) sometimes doesnt despawn when you go through the portal. This sometimes leaves huge box's of black concrete that only despawns if you reconnect

Plugin Crashes Going Between Worlds on Same Server

I attempted to create portals to other worlds, all of them being on the same server. I can teleport to these worlds using other plugins. When I create the portals, they work until I restart the server. At this point, they will continue to display, but when I try to use them, the plugin shuts down breaking all my custom portals, and the following errors are logged:

26.02 04:39:14 [Server] ERROR A critical error occurred during plugin execution.
26.02 04:39:14 [Server] ERROR Please create an issue at https://github.com/Lauriethefish/BetterPortals/issues to get this fixed.
26.02 04:39:14 [Server] WARN java.lang.NullPointerException
26.02 04:39:14 [Server] WARN at org.bukkit.Location.getBlock(Location.java:133)
26.02 04:39:14 [Server] WARN at com.lauriethefish.betterportals.bukkit.entity.LocalEntityTeleportationManager.limitToBlockHitbox(LocalEntityTeleportationManager.java:83)
26.02 04:39:14 [Server] WARN at com.lauriethefish.betterportals.bukkit.entity.LocalEntityTeleportationManager.teleportEntity(LocalEntityTeleportationManager.java:111)
26.02 04:39:14 [Server] WARN at com.lauriethefish.betterportals.bukkit.entity.LocalEntityTeleportationManager.update(LocalEntityTeleportationManager.java:47)
26.02 04:39:14 [Server] WARN at com.lauriethefish.betterportals.bukkit.portal.Portal.onUpdate(Portal.java:85)
26.02 04:39:14 [Server] WARN at com.lauriethefish.betterportals.bukkit.portal.PortalActivityManager.onPortalActivatedThisTick(PortalActivityManager.java:36)
26.02 04:39:14 [Server] WARN at com.lauriethefish.betterportals.bukkit.player.PlayerData.updateViewablePortals(PlayerData.java:86)
26.02 04:39:14 [Server] WARN at com.lauriethefish.betterportals.bukkit.player.PlayerData.onUpdate(PlayerData.java:104)
26.02 04:39:14 [Server] WARN at java.base/java.util.HashMap$Values.forEach(HashMap.java:976)
26.02 04:39:14 [Server] WARN at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1085)
26.02 04:39:14 [Server] WARN at com.lauriethefish.betterportals.bukkit.tasks.MainUpdate.run(MainUpdate.java:48)
26.02 04:39:14 [Server] WARN at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:99)
26.02 04:39:14 [Server] WARN at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468)
26.02 04:39:14 [Server] WARN at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1299)
26.02 04:39:14 [Server] WARN at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:377)
26.02 04:39:14 [Server] WARN at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1214)
26.02 04:39:14 [Server] WARN at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1002)
26.02 04:39:14 [Server] WARN at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:175)
26.02 04:39:14 [Server] WARN at java.base/java.lang.Thread.run(Thread.java:834)
26.02 04:39:14 [Server] INFO Attempting to shut down the plugin . . .
26.02 04:39:14 [Server] INFO Disabling BetterPortals v0.7.0

I should also say, that this was using v0.7.0, but v0.7.1 does the exact same thing. Was just testing to see if a regression snuck in or not.

1.17

Please add support for minecraft version 1.17.

Minecarts not teleporting through portals correctly.

hi, the carts can't pass through the portal properly

[11:20:05 WARN]: Wrong location! (-2, 4) should be (-2, 0), EntityMinecartFurnace['Minecart with Furnace'/28302, uuid='e036ed17-7ff9-45b4-b310-ca568bdcff15', l='ServerLevel[world]', x=-28.80, y=150.00, z=68.00, cx=-2, cz=4, tl=1, v=true, d=false]

Unlightable Portals

Describe the bug
Plugins tells me to relight the portal to see through it, so I break the portal, fix it and attempt to relight. Fire is placed and no portal spawns. Appears to be like this for all size portals

To Reproduce
1.16.5 spigot server, repeat above.

Server Logs
Not sure how to do that

If you can't do this for security reasons, an excerpt of log will probably suffice.

Nether type portals to any world determined by frame block type

What would you like added?
Similar to issue #26. Wondering if it would be possible for players to build portals that go to different worlds and the world they link to be determined by the a block type defined by the config. For example a player portal built from obsidian goes to the nether but maybe one built from purpur goes to the end, and one built from clay blocks goes to a mining world. All would use the same properties that current nether portals have available, but the frame type would define the world it is for.

Is it to solve a particular problem?
Not really, I just think it would be a fun addition that makes travel between worlds more consistent.

Plugin linking vanilla portals when walking through to the other side

More or less as the title says. Since the last update any time I go through a "vanilla" portal (we're using a datapack to enable using crying obsidian and the plugin doesn't recognize that), the plugin tries to fix it on the other side and fairly consistently guesses the portal to be two blocks wider on the horizontal axis than it really is. If it's helpful, I can grab a clip of this effect tomorrow.

Interact through portals

What would you like added?
Interaction with portals through blocks, like opening a door. I would also appreciate if you make the area beyond the portal actually loaded (so animals and stuff don't look unnatural through portals staying in one place).

Is it to solve a particular problem?
When interacting with blocks beyond portals that has portal blocks off, the portal blocks appear then disappear. And I want to be able to open the door right in front of the portal that is very hard to interact with right now.

Exception when moving through portal

Describe the bug
I went through the portal and then went back to the overworld. Then the plugin crashed.

Additional context
Plugin Version: 0.9.0
Game Version: Paper MC 124 (1.17.1)

[16:02:08 ERROR]: [BetterPortals] A critical error occurred during plugin execution.
[16:02:08 ERROR]: [BetterPortals] Please create an issue at https://github.com/Lauriethefish/BetterPortals/issues to get this fixed.
[16:02:08 WARN]: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
[16:02:08 WARN]:        at com.lauriethefish.betterportals.bukkit.util.nms.EntityUtil.getRawEntitySpawnPacket(EntityUtil.java:119)
[16:02:08 WARN]:        at com.lauriethefish.betterportals.bukkit.entity.faking.EntityPacketManipulator.showEntity(EntityPacketManipulator.java:49)
[16:02:08 WARN]:        at com.lauriethefish.betterportals.bukkit.entity.faking.IEntityPacketManipulator.showEntity(IEntityPacketManipulator.java:28)
[16:02:08 WARN]:        at com.lauriethefish.betterportals.bukkit.entity.faking.EntityTracker.addTracking(EntityTracker.java:135)
[16:02:08 WARN]:        at com.lauriethefish.betterportals.bukkit.entity.faking.EntityTrackingManager.setTracking(EntityTrackingManager.java:57)
[16:02:08 WARN]:        at com.lauriethefish.betterportals.bukkit.player.view.entity.PlayerEntityView.updateReplicatedEntities(PlayerEntityView.java:89)
[16:02:08 WARN]:        at com.lauriethefish.betterportals.bukkit.player.view.entity.PlayerEntityView.update(PlayerEntityView.java:42)
[16:02:08 WARN]:        at com.lauriethefish.betterportals.bukkit.player.view.PlayerPortalView.update(PlayerPortalView.java:71)
[16:02:08 WARN]:        at com.lauriethefish.betterportals.bukkit.player.PlayerData.updatePortalViews(PlayerData.java:72)
[16:02:08 WARN]:        at com.lauriethefish.betterportals.bukkit.player.PlayerData.onUpdate(PlayerData.java:104)
[16:02:08 WARN]:        at java.base/java.util.HashMap$Values.forEach(HashMap.java:1067)
[16:02:08 WARN]:        at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1087)
[16:02:08 WARN]:        at com.lauriethefish.betterportals.bukkit.tasks.MainUpdate.run(MainUpdate.java:52)
[16:02:08 WARN]:        at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:101)
[16:02:08 WARN]:        at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:483)
[16:02:08 WARN]:        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1490)
[16:02:08 WARN]:        at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:479)
[16:02:08 WARN]:        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1406)
[16:02:08 WARN]:        at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1188)
[16:02:08 WARN]:        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316)
[16:02:08 WARN]:        at java.base/java.lang.Thread.run(Thread.java:831)
[16:02:08 WARN]: Caused by: java.lang.reflect.InvocationTargetException
[16:02:08 WARN]:        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[16:02:08 WARN]:        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
[16:02:08 WARN]:        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[16:02:08 WARN]:        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
[16:02:08 WARN]:        at com.lauriethefish.betterportals.bukkit.util.nms.EntityUtil.getRawEntitySpawnPacket(EntityUtil.java:109)
[16:02:08 WARN]:        ... 20 more
[16:02:08 WARN]: Caused by: java.lang.IllegalStateException: Markers should never be sent
[16:02:08 WARN]:        at net.minecraft.world.entity.Marker.getPacket(Marker.java:37)
[16:02:08 WARN]:        ... 25 more
[16:02:08 INFO]: [BetterPortals] Attempting to shut down the plugin . . .
[16:02:08 INFO]: [BetterPortals] Disabling BetterPortals v0.9.0

Add support for non-rectangular portals

Your plugin looks awesome but i have a question, all my Portals are circular shaped or 2 block high holes, any chance you can make it work with non-rectangular portal builds?

Nether resetting after installing plugin

I put this on my server and the Nether reset (I haven't been able to check the end yet). I've follow all the steps to install the plugin, I'm just wondering why it would reset the Nether.

Null Pointer Exception when used with Multiverse

First of all thanks for developing this amazing plugin. These portals look and behave so much cooler.

BetterPortals doesn't seem to work well with Multiverse though. When using portals inside "world" or "world_nether" everything works as expected. However as soon as I'm using it in another overworld dimension (e.g. "second") nothing happens. The console spits out the following error message:

org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:319) ~[spigot.jar:git-Spigot-2f5d615-d07a78b]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot.jar:git-Spigot-2f5d615-d07a78b]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589) ~[spigot.jar:git-Spigot-2f5d615-d07a78b]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576) ~[spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.BlockPortal$Shape.createPortal(BlockPortal.java:342) ~[spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.BlockPortal.a(BlockPortal.java:60) ~[spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.BlockFire.onPlace(BlockFire.java:289) ~[spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.ItemStack.placeItem(ItemStack.java:242) ~[spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.PlayerInteractManager.a(PlayerInteractManager.java:486) ~[spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:1251) ~[spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:27) ~[spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:1) ~[spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18) [spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(SourceFile:144) [spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(SourceFile:118) [spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.MinecraftServer.ba(MinecraftServer.java:918) [spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.MinecraftServer.executeNext(MinecraftServer.java:911) [spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(SourceFile:127) [spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.MinecraftServer.sleepForTick(MinecraftServer.java:895) [spigot.jar:git-Spigot-2f5d615-d07a78b]
        at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:828) [spigot.jar:git-Spigot-2f5d615-d07a78b]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
Caused by: java.lang.NullPointerException
        at com.lauriethefish.betterportals.PortalSpawnSystem.findSuitablePortalLocation(PortalSpawnSystem.java:50) ~[?:?]
        at com.lauriethefish.betterportals.events.PortalCreate.onPortalCreate(PortalCreate.java:82) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_242]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_242]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_242]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:315) ~[spigot.jar:git-Spigot-2f5d615-d07a78b]
        ... 22 more

I have to add that I edited the bottom half of config.yml to include my "second" world:

worldConnections:
  '0':
    originWorld: 'world'
    destinationWorld: 'world_nether'
    minSpawnY: 5
    maxSpawnY: 122
    coordinateRescalingFactor: 0.125
  '1':
    originWorld: 'world_nether'
    destinationWorld: 'world'
    minSpawnY: 5
    maxSpawnY: 250
    coordinateRescalingFactor: 8.0
  '2':
    originWorld: 'second'
    destinationWorld: 'second_nether'
    minSpawnY: 5
    maxSpawnY: 122
    coordinateRescalingFactor: 0.125
  '3':
    originWorld: 'second_nether'
    destinationWorld: 'second'
    minSpawnY: 5
    maxSpawnY: 250
    coordinateRescalingFactor: 8.0

Also the portals work fine without BetterPortals installed on my Server. I'm using Spigot 1.15.2 with
Multiverse Core 4.1.0, Multiverse Inventories 3.0.0, Multiverse NetherPortals 4.1.1, Multiverse Portals 4.1.0 and Multiverse SignPortals 4.1.0.

I'm willing to help if there is an issue to be fixed. However after digging into your source code I realized that I have no clue about the Spigot/Bukkit API. So you would at least have to point me in the right direction.

Player Tracking Entity

Describe the bug
What is going wrong? Does the plugin crash? What have you tried to try and fix the problem, if anything.
The plugin crashes
To Reproduce
How would I make this bug happen in order to fix it?
just look through the portal for a bit and it crashes
Server Logs
Please enable debug logging by setting logLevel in the config file to FINER, then running /bp reload. Try to reproduce your issue, then send your full server log here.
https://mcpaste.io/54a99d866d5dd809
If you can't do this for security reasons, an excerpt of log will probably suffice.

Additional context
Plugin Version: 0.9.0
Game Version: 1.17.1 Paper

Portals not saving correctly

Hi

I am using your plugin on my server Bukkit/Spigot 1.16.5

First issue is that the plugin is not saving created portals.
There is no message in console for this bug.

The file portals.yml is everytime emty.

Portals joining

Hi

The second issue is very complicatated.

If player are running, jumping or sneaking by the portals there seeing an black wall.

Watch out the picture.

unknown

Exception when a player selects a 3D area for a portal

Whenever a player selects a portal area that is more than 1 block thick, this error occurs.

Caused by: java.lang.NullPointerException
at com.lauriethefish.betterportals.math.MathUtils.greaterThanEq(MathUtils.java:27) ~[?:?]
at com.lauriethefish.betterportals.selection.PortalSelection.isValid(PortalSelection.java:76) ~[?:?]
at com.lauriethefish.betterportals.commands.MainCommand.onCommand(MainCommand.java:89) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[patched_1.16.3.jar:git-Paper-206]

Fix: Give an error in chat describing the improper selection instead of throwing an error.

Add blacklisted blocks configurable list for portal blend feature.

What would you like added?
Add blacklisted blocks configurable list for portal blend feature, it's pretty straight-forward. My reasoning as to why to add this is so in the case of a player making a portal next to something valuable (say diamond blocks, or a village, anything) the netherack generated by the portal does not replace these valuable blocks.

Is it to solve a particular problem?
Not necessarily, if I don't use this feature there really won't be any issues. If I do, it could be a problem.

Plugin not working

I have added the plugin into the server and restarted and reloaded. yet the commands still don't show up I don't think its in the server even though its in the server files.
Edit: the jar is in the plugins folder but its not got a folder of its own.

Yatopia Server JAR doesn't work

Currently, the Yatopia JAR stops this plugin from working as it changes the format of PacketPlayOutMultiBlockChange.
I'm currently working on a fix.

can throw items from creative server through into none creative areas

Describe the bug
no crash no error. im using paper mc minecraft version 1.17 better portals multiverse and multiverse inventory

To Reproduce
install the plugins as above for 1.17 make a portal in world then link to a portal in nether world throw items through reap rewards even though multi inv does its job to stop items moving borders.

Server Logs
i have no log as console throws no exceptions or errors

Additional context
i have seen the conf for entitys maybe if i disable that it stops the items crossing but i guess mobs too. id like mobs to travel but not thrown items any help is apreciated.

NullPointerException in console (likely caused by Pterodactyl memory issue)

[09:53:50 WARN]: [BetterPortals] Task #243380 for BetterPortals v0.59 generated an exception
java.lang.NullPointerException: null
at com.lauriethefish.betterportals.runnables.MainUpdate.updateEntities(MainUpdate.java:112) ~[?:?]
at com.lauriethefish.betterportals.runnables.MainUpdate.run(MainUpdate.java:171) ~[?:?]
at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftTask.run(CraftTask.java:99) ~[patched_1.16.3.jar:git-Paper-251]
at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468) ~[patched_1.16.3.jar:git-Paper-251]
at net.minecraft.server.v1_16_R2.MinecraftServer.b(MinecraftServer.java:1296) ~[patched_1.16.3.jar:git-Paper-251]
at net.minecraft.server.v1_16_R2.DedicatedServer.b(DedicatedServer.java:371) ~[patched_1.16.3.jar:git-Paper-251]
at net.minecraft.server.v1_16_R2.MinecraftServer.a(MinecraftServer.java:1211) ~[patched_1.16.3.jar:git-Paper-251]
at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:999) ~[patched_1.16.3.jar:git-Paper-251]
at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.3.jar:git-Paper-251]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_262]

Add end portal support with support for choosing destination world

What would you like added?
Support for viewing through end portals as well as nether portals.

I'd also love if this plugin entirely replaces MV-NetherPortals. To do so, I'd appreciate if support was added to have control of end portal linking between worlds like there is for nether portals. What this would effectively do is just know where end portals should shoot you within the worlds (like you currently have setup with your nether portal system). This also eliminates the need for me to have an entirely separate plugin for handling this basic feature.

Hex color support in messages.

What would you like added?
Add the somewhat new 1.16 hex support to be used in plugin messages. Preferably, could you have it work as {(hex)} rather than anything else like &(hex) or just the (hex) as most plugins do it this way.

Is it to solve a particular problem?
I suppose, my color scheme heavily utilizes hex so I'd need BP to have support for it when I customize it.

Command to allow for vanilla portals

What would you like added?
A /command to let players decide if they want vanilla portals or better portals. Shouldn't require OP status.
Perhaps something like /bp usevanilla to toggle it?
Permission like betterportals.usevanilla

Is it to solve a particular problem?
Some players on a server want vanilla portals, while some want BetterPortals portals. The command would allow each user to choose their preferred option.

Entities left after removing portals

Describe the bug
Whenever i remove a portal a weird entity is left behind in the frame that prevents me from building in it, removing it, or moving through it.

To Reproduce
Make a portal and then do /bp delete and see the entity.

Server Logs
Please enable debug logging by setting logLevel in the config file to FINER, then running /bp reload. Try to reproduce your issue, then send your full server log here.

If you can't do this for security reasons, an excerpt of log will probably suffice.

Additional context
Plugin Version: 0.9.0
Game Version: 1.16.5

Minecarts rotated incorrectly through portals

Describe the bug
What is going wrong? Does the plugin crash? What have you tried to try and fix the problem, if anything.
minecarts rotated in some situations
To Reproduce
How would I make this bug happen in order to fix it?
put a minecart off of tracks and turn it by pushing it. then view it through a portal on the other axis (e.g. one is on the X axis and the other is on the Z axis). it also occurs the other way around: minecarts going through the portal will end up rotated sideways.
2021-04-30_10 22 21
2021-04-30_10 22 23

Server Logs
Please enable debug logging by setting logLevel in the config file to FINER, then running /bp reload. Try to reproduce your issue, then send your full server log here.
not relevant this is probably just the fact that minecart rotation is weird
If you can't do this for security reasons, an excerpt of log will probably suffice.

Additional context
Any other info.

Server crash at high coords

Describe the bug
What is going wrong? Does the plugin crash? What have you tried to try and fix the problem, if anything.
The entire server crashes when a player makes a portal at high coords.

To Reproduce
How would I make this bug happen in order to fix it?
Just go extremely far from spawn (like x 99999999 z 999999) then make a portal, server will crash.

Server Logs
Please enable debug logging by setting logLevel in the config file to FINER, then running /bp reload. Try to reproduce your issue, then send your full server log here.
https://mclo.gs/nr9rlnh

If you can't do this for security reasons, an excerpt of log will probably suffice.

Additional context
Any other info.
I can't even make my server work anymore...

Per player render distance

tl;dr: Please add a section to the config file allowing me to override the base render distance for specific players based on player name.

Not exactly an issue, but would be a nice to have. My friends are mostly playing on laptops and such, so anything past 13 is pushing it. I on the other hand have a much nicer device and can handle render distances of 30+ with only rare fps drops, and even then those are barely noticeable. In the current state of the plugin the only reasonable thing to do is set the render distance lower so everyone can enjoy it. However if I could set an override for each player, I could customize the distances to match each devices connection speed and such for a even better experience.

Regardless, thank you very much for making this at all! I'm already enjoying it a lot, and hope you continue to maintain it for future versions.

BetterPortals not working

Describe the bug
When I log into my server, it says this: "[ProtocolLib] Loaded class {0} from {1} which is not a depend, soft depend, or loadbefore of this plugin."

To Reproduce
We just have ProtocolLib and BetterPortals with Spigot 1.17

Server Logs
I am unable to grab them as when I try to run a /bp command it does this

Additional context
BP Version: v0.8.1
ProtocolLib Version: Latest Dev Build
Game Version: 1.17
Screenshot of the Chatbox

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.