Giter Club home page Giter Club logo

badlionclientmodapi's Introduction

Badlion Client Mod API

This repository explains how to disable Badlion Client mods and mod features for mods via Bungee/Bukkit plugin, and also limit player's CPS on your server.

By default, all mods on the Badlion Client are not restricted, and a user can enable any of the mods at anytime. By using this plugin you remove the ability for a user to activate certain mods or features of mods while they are playing on your server. The user will gain control over the ability to use these mods/features again when they leave your server.

We have anticheat warnings for certain features already built into the client and that the user can use them at their own risk, but some servers might want to further control/limit their ability to use these features. This repository shows how to control this.

Since update 2.0.0 this plugin now also replaces both our CPS API and Timer API. These repositories will be archived, but still supported. But we recommend that you upgrade to this repository instead.

Hooking into Badlion Mods

With this API you can also hook into some of our mods to enhance the experience for your players even further with our client. You can read more about this and learn how to get started with our documentation on our wiki page.

We've also provided some code examples on how to hook into our mods here.

Installation

How to install the Badlion Client Mod API on your server.

Quick Installation (for non-programmers)

  1. Download either the latest bukkit or bungee plugin from our releases (you don't need both, we recommend using the BungeeCord plugin if you are running BungeeCord): https://github.com/BadlionNetwork/BadlionClientModAPI/releases
  2. Place the downloaded plugin into your plugins directory on your server.
  3. NOTE: This step is if you are using our CPS API. If you were also using our CPS API, you should remove the .jar file for that plugin as it has been archived -- this plugin will take care of the configuration from the CPS API plugin.
  4. Turn on the BungeeCord or Bukkit server and a default config will be automatically made in plugins/BadlionClientModAPI/config.json, you will also see a waypoints.json file if you are running a bukkit version which can be used to create default waypoints on your server. More information about this exists on our wiki.
  5. Edit the config as you see fit and reboot the server after you have finished editing the config (see below for more information).

Do it yourself (for programmers)

  1. Clone this repository
  2. Compile the plugin(s) you want to use (you only need one per Minecraft network).
  3. Place the compiled plugins from the target directories into your plugins directory on your server.
  4. Turn on the BungeeCord or Bukkit server and a default config will be automatically made in plugins/BadlionClientModAPI/config.json
  5. Edit the config as you see fit and reboot the server after you have finished editing the config (see below for more information).

Example Config

To make a config place the information below example into plugins/BadlionClientModAPI/config.json. If you have any JSON errors it will not load the plugin properly. A quick and easy way to test that your JSON config is valid is to use this tool: https://jsonformatter.curiousconcept.com/

This example config will fully disable the waypoints and minimap mods. It will not disable togglesneak mod, but it will block the player from using the inventorySneak and flySpeed features of the togglesneak and togglesprint mods.

It will also limit the player's CPS on the right mouse button to 20, and left mouse button to 10. If a value below or equal to 0 is passed onto the CPS config fields, there will be no limitation.

{
  "clicksPerSecondLimitRight": 20,
  "clicksPerSecondLimit": 10,
  "modsDisallowed": {
        "Waypoints": {
            "disabled": true
        },
        "MiniMap": {
            "disabled": true
        },
        "ToggleSneak": {
            "disabled": false,
            "extra_data": {
                "inventorySneak": {
                    "disabled": true
                }
            }
        },
        "ToggleSprint": {
            "disabled": false,
            "extra_data": {
                "flySpeed": {
                    "disabled": true
                }
            }
        }
    }
}

Remove Hit Delay (1.8)

Remove Hit Delay is an option for 1.8 only where you are able to remove the hit delay, much like on 1.7.10. By default, this option is disabled and can be enabled by adding some extra data for the animations mod in the plugin config.

{  
    "modsDisallowed": {  
        "Animations": {  
            "disabled": false,
            "extra_data": {  
                "removeHitDelay": {
                  "forced": true
                }
            }
        }
    }
}

Schematica printer mode

By default, Schematica printer cannot be enabled on servers. You need to specify that your server allows it using this API, like in this example :

{  
    "modsDisallowed": {  
        "Schematica": {  
            "disabled": false,
            "extra_data": {  
                "printerEnabled": {  
                    "forced": true
                }
            }
        }
    }
}

AutoText command whitelist

Instead of disabling the AutoText mod, you can specify a list of commands that you want to allow. Below is an example which allows the use of a few commands:

{  
    "modsDisallowed": {  
        "AutoText": {  
            "disabled": false,
            "settings": {  
                "whitelistedCommands": [
                    "/warp",
                    "/help"
                ]
            }
        }
    }
}

Mod Names and Fields that can be disabled

  • 3D Skins
  • Animations
    • itemHeld
    • itemSwitch
    • hitBox
    • inventory
    • blockHit
    • heartAnimation
    • damageAnimation
    • sneakingAnimation
    • eatAnimation
    • thrownItems
    • fishingRod
    • swordSwing
    • bowAnimation
    • alwaysSwing
    • removeTitles
    • oldEnchantGlint
    • leftHanded
    • noSmallArms
    • noShake
    • fixLiquidPlace
    • removeHitDelay
  • AntiXray
  • Armor Status
    • hideDurabilityForUnbreakables
    • showMaxDurability
    • showPercentage
    • handPiece
    • bootPiece
    • leggingPiece
    • chestPiece
    • helmetPiece
    • offHandPiece
    • vanillaBackground
  • Auto Friend
  • Auto Text
  • AutoGG
  • AutoTip
  • AutoWho
  • Bedwars Beds
  • Bedwars Upgrade Display
  • Block Counter
  • Block Info
  • Block Overlay
  • Boss Bar
  • Chat
    • textBackgroundShadow
    • timeStamp24h
    • timeStampBold
    • antiSpam
    • ignoreClickableMessagesForSpawn
    • infiniteHistory
    • emphasizeUsername
    • boldEffect
    • underlineEffect
    • italicsEffect
    • soundEffect
    • smoothChat
    • noCloseMyChat
    • vanillaFont
    • hypixelTabComplete
  • Chunk Borders
  • Clear Glass
  • Clock
  • Color Saturation
  • Combo Counter
  • Coordinates
    • roundLocation
    • biomeEnabled
    • directionEnabled
    • chunksEnabled
    • hideXYZ
    • hideC
    • hideBiome
    • textModCustomPrefix
    • textModOneLine
    • textModShowXZ
    • textModShowY
    • textModShowDirection
    • textModShowBiome
    • textModShowChunks
    • biomeColors
  • CPS
    • reversed
    • showDecimal
    • removeCpsText
  • Crosshair
    • visibleHideGui
    • visibleDebugScreen
    • visibleSpectatorMode
    • visibleThirdPerson
    • highlightPlayer
    • highlightHostile
    • highlightPassive
    • dynamicBow
    • dynamicAttack
    • outline
    • dotOutline
    • dot
    • vanillaBlendering
  • Custom Fonts
  • Damage Tint
  • Direction
  • Enchant Glint
  • FOV Changer
  • FPS
    • reversed
  • Fullbright
  • GUI
  • Height Overlay
  • Hit Color
  • Hitboxes
    • animalHitBoxesEnabled
    • itemDropHitboxesEnabled
    • monsterHitboxesEnabled
    • playerHitboxesEnabled
    • projectileHitboxesEnabled
    • itemFrameHitboxesEnabled
    • hideStuckArrows
    • fireballHitboxesEnabled
    • witherskullHitboxesEnabled
    • arrowHitboxesEnabled
    • fireworkrocketHitboxesEnabled
    • snowballHitboxesEnabled
    • xporbHitboxesEnabled
    • player1_7HitboxesEnabled
  • Inventory Blur
  • Item Counter
  • Item Info
  • Item Physics
  • Item Size
  • Item Tracker
  • Just Enough Items
  • Keystrokes
  • LevelHead
  • Light Overlay
  • Memory
  • Minimap
  • MLG Cobweb
  • Motion Blur
  • Mouse Strokes
  • Mumble Link
  • Music
  • Name History
  • Name Tags
  • Nick Hider
  • NotEnoughUpdates
  • OofMod
  • Pack Display
  • Pack Tweaks
    • customSky
    • enableOreOverlays
  • Particles
  • Perspective
  • Ping
  • Player Counter
  • Potion Status
  • Protection
  • PvP Info
  • Quickplay
  • Reach Display
  • Replay
  • Saturation
  • Schematica
    • printerEnabled
  • Scoreboard
    • showNumbers
    • removeNumberOffset
  • Server Address
    • showIcon
  • Shaders
  • Shinypots
  • Skyblock
  • Sounds Mod
  • Speedometer
  • Stopwatch
  • Survival
  • Tab
  • Tactical Markers
  • TcpNoDelay
  • Team Marker
  • TeamSpeak
  • Time Changer
  • Timers
  • TNT Time
  • ToggleChat
  • ToggleSneak
    • inventorySneak
  • ToggleSprint
    • flySpeed
  • TPS
    • reversed
  • Uptime
  • Voice Mod
  • Waypoints
  • Weather Changer
  • World Edit CUI
  • Zoom
    • useOptifineZoom

badlionclientmodapi's People

Contributors

alexvermaning0 avatar budderman18 avatar gylliegyllie avatar janmm14 avatar leolifbom avatar lukalt avatar mastergberry avatar pownsgg avatar rigner avatar travisvv 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

badlionclientmodapi's Issues

plugin doesnt work on 1.21

This stacktrace pops up when joining and no mods are blocked

[BadlionClientModAPI] Failed to send BLC mod packet
java.lang.NullPointerException: Cannot invoke "java.lang.reflect.Constructor.newInstance(Object[])" because "this.packetPlayOutMinecraftKeyConstructor" is null
at Badlion-ModApi-Bukkit-1.17.jar/net.badlion.bukkitapi.BukkitPluginMessageSender.sendPluginMessagePacket(BukkitPluginMessageSender.java:222) ~[Badlion-ModApi-Bukkit-1.17.jar:?]
at Badlion-ModApi-Bukkit-1.17.jar/net.badlion.bukkitapi.AbstractBukkitPluginMessageSender.sendPluginMessage(AbstractBukkitPluginMessageSender.java:23) ~[Badlion-ModApi-Bukkit-1.17.jar:?]
at Badlion-ModApi-Bukkit-1.17.jar/net.badlion.modapicommon.AbstractPluginMessageSender.sendModData(AbstractPluginMessageSender.java:44) ~[Badlion-ModApi-Bukkit-1.17.jar:?]
at Badlion-ModApi-Bukkit-1.17.jar/net.badlion.bukkitapi.survival.SurvivalManager.sendData(SurvivalManager.java:107) ~[Badlion-ModApi-Bukkit-1.17.jar:?]
at Badlion-ModApi-Bukkit-1.17.jar/net.badlion.bukkitapi.survival.SurvivalManager.sendData(SurvivalManager.java:103) ~[Badlion-ModApi-Bukkit-1.17.jar:?]
at Badlion-ModApi-Bukkit-1.17.jar/net.badlion.bukkitapi.listener.PlayerListener.onPlayerJoin(PlayerListener.java:41) ~[Badlion-ModApi-Bukkit-1.17.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor744.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:1.21-1-21c9a7c]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.21.jar:1.21-1-21c9a7c]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.21.jar:1.21-1-21c9a7c]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?]
at net.minecraft.server.players.PlayerList.placeNewPlayer(PlayerList.java:347) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.server.network.ServerConfigurationPacketListenerImpl.handleConfigurationFinished(ServerConfigurationPacketListenerImpl.java:173) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.handle(ServerboundFinishConfigurationPacket.java:22) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.handle(ServerboundFinishConfigurationPacket.java:13) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:36) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1478) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1456) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1449) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1408) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1415) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1260) ~[paper-1.21.jar:1.21-1-21c9a7c]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:329) ~[paper-1.21.jar:1.21-1-21c9a7c]
at java.base/java.lang.Thread.run(Thread.java:1570) ~[?:?]

1.20.3 Clients Get Kicked When Connecting to Bungeecord

Bungeecord version

git:BungeeCord-Bootstrap:1.20-R0.2-SNAPSHOT:231024b:1777

Backend Server version

git-Paper-1620 (MC: 1.12.2)

Client version

1.20.3

Bungeecord plugins

ABPS, AlwaysOnline, BadlionClientModAPI, BungeeAliases, BungeeCommands, BungeeControl-Red, BungeeTeleport, KauriVPN, LiteAnnouncer, LiteBans, LuckPerms, MyCommand for BungeeCord, NuVotifier, PartyAndFriends, RedirectPlus, ServerListPlus, ServerUtils, SyncCommands, VulcanBungee, floodgate and spark

The bug

After adding the latest BadlionClientModAPI plugin to my Bungeecord server, players using 1.20.3 clients get kicked when they try to join. When joining my Bungeecord server, 1.20.3 clients get kicked with the below message. It also sends an error in console (see console error above). This did not happen prior to 1.20.3 update. I am using latest Bungeecord as of writing this. ViaVersion is used on the backend servers for 1.20.3 connection.

io.netty.handler.codec.DecoderException: java.io.IOException: Packet login/0 (afr) was larger than I expected, found 318 bytes extra whilst reading packet 0

image

Log output (links)

https://mclo.gs/tUjGTJA

06.12 15:58:41 [Server] SEVERE [MC_Legend] -> UpstreamBridge - encountered exception
06.12 15:58:41 [Server] [INFO] io.netty.handler.codec.EncoderException: java.lang.IllegalArgumentException: Cannot get ID for packet class net.md_5.bungee.protocol.packet.PluginMessage in phase LOGIN with direction TO_CLIENT
06.12 15:58:41 [Server] [INFO] at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:125)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:940)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:966)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:934)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1020)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:311)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.netty.ChannelWrapper.write(ChannelWrapper.java:90)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection$1.sendPacket(UserConnection.java:152)
06.12 15:58:41 [Server] [INFO] at net.badlion.bungeeapi.listener.PlayerListener.onLogin(PlayerListener.java:23)
06.12 15:58:41 [Server] [INFO] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
06.12 15:58:41 [Server] [INFO] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
06.12 15:58:41 [Server] [INFO] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
06.12 15:58:41 [Server] [INFO] at java.lang.reflect.Method.invoke(Method.java:498)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.event.EventHandlerMethod.invoke(EventHandlerMethod.java:19)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.event.EventBus.post(EventBus.java:49)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.api.plugin.PluginManager.callEvent(PluginManager.java:413)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.connection.InitialHandler.finish2(InitialHandler.java:623)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.connection.InitialHandler.access$1300(InitialHandler.java:72)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.connection.InitialHandler$6$1.run(InitialHandler.java:603)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:413)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
06.12 15:58:41 [Server] [INFO] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
06.12 15:58:41 [Server] [INFO] at java.lang.Thread.run(Thread.java:748)
06.12 15:58:41 [Server] [INFO] Caused by: java.lang.IllegalArgumentException: Cannot get ID for packet class net.md_5.bungee.protocol.packet.PluginMessage in phase LOGIN with direction TO_CLIENT
06.12 15:58:41 [Server] [INFO] at com.google.common.base.Preconditions.checkArgument(Preconditions.java:463)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.protocol.Protocol$DirectionData.getId(Protocol.java:845)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.protocol.MinecraftEncoder.encode(MinecraftEncoder.java:26)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.protocol.MinecraftEncoder.encode(MinecraftEncoder.java:10)
06.12 15:58:41 [Server] [INFO] at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107)
06.12 15:58:41 [Server] [INFO] ... 26 more
06.12 15:58:41 [Server] [INFO] [MC_Legend] disconnected with: EncoderException : java.lang.IllegalArgumentException: Cannot get ID for packet class net.md_5.bungee.protocol.packet.PluginMessage in phase LOGIN with direction TO_CLIENT @ io.netty.handler.codec.MessageToByteEncoder:125
06.12 15:58:41 [Server] [INFO] [MC_Legend] -> UpstreamBridge has disconnected
06.12 15:58:41 [Server] [WARN] An exception was thrown by net.md_5.bungee.UserConnection$4.operationComplete()
06.12 15:58:41 [Server] [INFO] java.lang.NullPointerException
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.netty.ChannelWrapper.getEncodeProtocol(ChannelWrapper.java:51)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection.sendPacketQueued(UserConnection.java:186)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection.sendMessage(UserConnection.java:537)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection.sendMessage(UserConnection.java:492)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection.sendMessage(UserConnection.java:480)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection.sendMessage(UserConnection.java:459)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection$4.operationComplete(UserConnection.java:377)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection$4.operationComplete(UserConnection.java:359)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.fulfillConnectPromise(AbstractEpollChannel.java:674)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:693)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:567)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:499)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:407)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
06.12 15:58:41 [Server] [INFO] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
06.12 15:58:41 [Server] [INFO] at java.lang.Thread.run(Thread.java:748)

MC 1.18.1 - Error Causes Plugin to Be Disabled

Notes: Slightly different issue from #23

The version of the plugin used is "badlionclientmodapibukkit-1.17.jar",

Paper is the server type.

Below is the error stack trace:

  [20:58:59 INFO]: [BadlionClientModAPI] Enabling BadlionClientModAPI v1.0
  [20:58:59 INFO]: [BadlionClientModAPI] Found version v1_18_R1
  [20:58:59 ERROR]: Error occurred while enabling BadlionClientModAPI v1.0 (Is it up to date?)
  java.lang.RuntimeException: Failed to find PlayerConnection.sendPacket()
          at net.badlion.blcmodapibukkit.listener.PlayerListener.<init>(PlayerListener.java:134) ~[badlionclientmodapibukkit-1.17.jar:?]
          at net.badlion.blcmodapibukkit.BlcModApiBukkit.onEnable(BlcModApiBukkit.java:38) ~[badlionclientmodapibukkit-1.17.jar:?]
          at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
          at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
          at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:501) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
          at org.bukkit.craftbukkit.v1_18_R1.CraftServer.enablePlugin(CraftServer.java:561) ~[paper-1.18.1.jar:git-Paper-197]
          at org.bukkit.craftbukkit.v1_18_R1.CraftServer.enablePlugins(CraftServer.java:475) ~[paper-1.18.1.jar:git-Paper-197]
          at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:727) ~[paper-1.18.1.jar:git-Paper-197]
          at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:503) ~[paper-1.18.1.jar:git-Paper-197]
          at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:313) ~[paper-1.18.1.jar:git-Paper-197]
          at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1202) ~[paper-1.18.1.jar:git-Paper-197]
          at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.18.1.jar:git-Paper-197]
          at java.lang.Thread.run(Thread.java:833) ~[?:?]

Edit: Located the issue to have most likely originated from the class PlayerListener

Edit 2: Tested with disabling two other plugins that we suspected might be potentially conflicting (one being ProtocolLib), but issue still remains.

On PaperMC 1.18.1 Not working

Here is the Error on my Terminal

[21:21:05 INFO]: [BadlionClientModAPI] Enabling BadlionClientModAPI v1.0*
[21:21:05 INFO]: [BadlionClientModAPI] Found version v1_18_R1
[21:21:05 ERROR]: Error occurred while enabling BadlionClientModAPI v1.0 (Is it up to date?)
java.lang.RuntimeException: Failed to find EntityPlayer class
	at net.badlion.blcmodapibukkit.listener.PlayerListener.<init>(PlayerListener.java:71) ~[badlionclientmodapibukkit.jar:?]
	at net.badlion.blcmodapibukkit.BlcModApiBukkit.onEnable(BlcModApiBukkit.java:40) ~[badlionclientmodapibukkit.jar:?]
	at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:500) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.craftbukkit.v1_18_R1.CraftServer.enablePlugin(CraftServer.java:564) ~[paper-1.18.1.jar:git-Paper-103]
	at org.bukkit.craftbukkit.v1_18_R1.CraftServer.enablePlugins(CraftServer.java:478) ~[paper-1.18.1.jar:git-Paper-103]
	at org.bukkit.craftbukkit.v1_18_R1.CraftServer.reload(CraftServer.java:1036) ~[paper-1.18.1.jar:git-Paper-103]
	at org.bukkit.Bukkit.reload(Bukkit.java:857) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:54) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.craftbukkit.v1_18_R1.CraftServer.dispatchCommand(CraftServer.java:897) ~[paper-1.18.1.jar:git-Paper-103]
	at org.bukkit.craftbukkit.v1_18_R1.CraftServer.dispatchServerCommand(CraftServer.java:860) ~[paper-1.18.1.jar:git-Paper-103]
	at net.minecraft.server.dedicated.DedicatedServer.handleConsoleInputs(DedicatedServer.java:507) ~[paper-1.18.1.jar:git-Paper-103]
	at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:481) ~[paper-1.18.1.jar:git-Paper-103]
	at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1470) ~[paper-1.18.1.jar:git-Paper-103]
	at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1264) ~[paper-1.18.1.jar:git-Paper-103]
	at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.18.1.jar:git-Paper-103]
	at java.lang.Thread.run(Thread.java:833) ~[?:?]
[21:21:05 INFO]: [BadlionClientModAPI] Disabling BadlionClientModAPI v1.0

Disable all Badlion functions

I'm wanting to block all Badlion functions out of the box. In fact I'd prefer a way to block Badlion clients from joining my server at all, but I'd settle for the former if outright blocking is not possible. Is there a preconfigured setting for one of these?

Update to 1.16.4

Can you update this Plugin to the 1.16.4 cause when you use the Plugin in the 1.16 it gives the Error:

[11:34:46 ERROR]: Could not pass event PlayerJoinEvent to BadlionClientModAPI v1.0
java.lang.NullPointerException: null
        at net.badlion.blcmodapibukkit.listener.PlayerListener.onPlayerJoin(PlayerListener.java:152) ~[?:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor2.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.4.jar:git-Paper-262]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.4.jar:git-Paper-262]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.4.jar:git-Paper-262]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.4.jar:git-Paper-262]
        at net.minecraft.server.v1_16_R3.PlayerList.postChunkLoadJoin(PlayerList.java:273) ~[patched_1.16.4.jar:git-Paper-262]
        at net.minecraft.server.v1_16_R3.PlayerList.lambda$null$1(PlayerList.java:220) ~[patched_1.16.4.jar:git-Paper-262]
        at net.minecraft.server.v1_16_R3.PlayerConnection.tick(PlayerConnection.java:165) ~[patched_1.16.4.jar:git-Paper-262]
        at net.minecraft.server.v1_16_R3.NetworkManager.a(NetworkManager.java:385) ~[patched_1.16.4.jar:git-Paper-262]
        at net.minecraft.server.v1_16_R3.ServerConnection.c(ServerConnection.java:145) ~[patched_1.16.4.jar:git-Paper-262]
        at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1384) ~[patched_1.16.4.jar:git-Paper-262]
        at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:377) ~[patched_1.16.4.jar:git-Paper-262]
        at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1212) ~[patched_1.16.4.jar:git-Paper-262]
        at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1000) ~[patched_1.16.4.jar:git-Paper-262]
        at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.4.jar:git-Paper-262]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_272]

Please look what the error is and then update please!

Can't see waypoints created by the Server

Heyo, I am trying to use these APIs to add waypoints visible by BadLionClient users in my PaperMC 1.20.4 Server.

Judging from the message that comes out in chat Client receives the waypoint but doesn't load it.
2024-01-18_20 14 30

This is my code:
image

I've already checked the coordinates I pass to the Location#of method and they are correct

/survivalapi not working

Hey im trying to allow the survival features on my server but when i execute the /survivalapi command nothing happens even when i restart the server. Can you help me to get it to work?
It is minecraft 1.21.

Issue with disabling AutoTIP

Hello!

Disabled AutoTip for my server, and shows in the Mod UI that it's disabled. Though players are still sending /tip in the chat, causing lots of "Unknown Command" spam.

AutoTIP Disabled - https://photos.bghddevelopment.com/u/20.08.26-17.01.20.png

/tip spam - https://photos.bghddevelopment.com/u/20.08.49-17.01.20.png

It seems like either the client does not detect when AutoTip is disabled and sending the messages anyway, or the ModAPI seems to not stop it from happening. I can send more info if needed.

Detection broken on 1.20.5/6

plugin doesn't load on 1.20.6.

Error:
Could not load plugin 'Badlion-ModApi-Bukkit-1.17.jar' in folder 'plugins.paper-remapped'
org.bukkit.plugin.InvalidPluginException: Exception initializing main class `net.badlion.bukkitapi.BukkitBadlionPlugin'
at org.bukkit.plugin.java.PluginClassLoader.(PluginClassLoader.java:106) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:123) ~[paper-1.20.6.jar:git-Paper-71]
at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:35) ~[paper-1.20.6.jar:git-Paper-71]
at io.papermc.paper.plugin.entrypoint.strategy.modern.ModernPluginLoadingStrategy.loadProviders(ModernPluginLoadingStrategy.java:116) ~[paper-1.20.6.jar:git-Paper-71]
at io.papermc.paper.plugin.storage.SimpleProviderStorage.enter(SimpleProviderStorage.java:38) ~[paper-1.20.6.jar:git-Paper-71]
at io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.enter(LaunchEntryPointHandler.java:36) ~[paper-1.20.6.jar:git-Paper-71]
at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:515) ~[paper-1.20.6.jar:git-Paper-71]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:286) ~[paper-1.20.6.jar:git-Paper-71]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1142) ~[paper-1.20.6.jar:git-Paper-71]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:326) ~[paper-1.20.6.jar:git-Paper-71]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:74) ~[?:?]
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.(PluginClassLoader.java:98) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
... 10 more
Caused by: java.lang.RuntimeException: Failed to find version for running Minecraft server, got suffix craftbukkit
at Badlion-ModApi-Bukkit-1.17.jar/net.badlion.bukkitapi.BukkitPluginMessageSender.(BukkitPluginMessageSender.java:48) ~[Badlion-ModApi-Bukkit-1.17.jar:?]
at Badlion-ModApi-Bukkit-1.17.jar/net.badlion.bukkitapi.BukkitBadlionPlugin.(BukkitBadlionPlugin.java:14) ~[Badlion-ModApi-Bukkit-1.17.jar:?]
at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.(PluginClassLoader.java:98) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
... 10 more

Cannot disable the "flySpeed" feature of Badlion Client

Using the example config (from readme.md) to disable flySpeed doesn't work, I have tried everything I can think of and I cannot disable the Fly Speed feature of the Badlion client, help would be appreciated.

Edit to clarify: I can still use flySpeed in Badlion client even though it is disabled with the BadlionClientModAPI.

Feature request: Allow disabling of other cosmetics (shields)

Would be good if we could disable other cosmetics for players such as shields.

Our use case basically removes shields from the game, and re-textures them as a different item to allow for a hand-raising motion, however it seems to get overriden by users on BLC with a shield cosmetic applied.

Failed to find EntityPlayer class bukkit/spigot/paper 1.17 open-jdk16

Errors on its own and with other plugins, version is also incorrect, I am running on the latest build (1.2.2) of BadlionClientModAPI.
I have been told that adding "--illegal-access=permit" to my startup parameters would fix the issue temporarily but it has not, I get the same error with and without the "temporary fix".

[03:56:43 ERROR]: Error occurred while enabling BadlionClientModAPI v1.0 (Is it up to date?)
java.lang.RuntimeException: Failed to find EntityPlayer class
at net.badlion.blcmodapibukkit.listener.PlayerListener.(PlayerListener.java:71) ~[?:?]
at net.badlion.blcmodapibukkit.BlcModApiBukkit.onEnable(BlcModApiBukkit.java:40) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.17.jar:git-Paper-"e31ad11"]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[patched_1.17.jar:git-Paper-"e31ad11"]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:500) ~[patched_1.17.jar:git-Paper-"e31ad11"]
at org.bukkit.craftbukkit.v1_17_R1.CraftServer.enablePlugin(CraftServer.java:518) ~[patched_1.17.jar:git-Paper-"e31ad11"]
at org.bukkit.craftbukkit.v1_17_R1.CraftServer.enablePlugins(CraftServer.java:432) ~[patched_1.17.jar:git-Paper-"e31ad11"]
at net.minecraft.server.MinecraftServer.loadWorld(MinecraftServer.java:643) ~[patched_1.17.jar:git-Paper-"e31ad11"]
at net.minecraft.server.dedicated.DedicatedServer.init(DedicatedServer.java:303) ~[patched_1.17.jar:git-Paper-"e31ad11"]
at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1118) ~[patched_1.17.jar:git-Paper-"e31ad11"]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[patched_1.17.jar:git-Paper-"e31ad11"]
at java.lang.Thread.run(Thread.java:831) [?:?]
[03:56:43 INFO]: [BadlionClientModAPI] Disabling BadlionClientModAPI v1.0

Feature request: Make Badlion client detectable

A method like BadlionApi.isUsingBadlion(UUID/Player) can be useful for detecting Badlion users for some purposes like saving bandwidth (not sending badlion packets to non-badlion users), suggesting using Badlion client, display user brand, etc.
This can be possibly done by changing client brand [minecraft:brand payload] (e.g. from vanilla to badlion) or registering a plugin (custom payload) channel via minecraft:register.

Don't overwrite config on shutdown

changes in the config on velocity (3.1.1) are only possible while the server is offline. I would like to change the config while server is running, so the changes will apply on next restart

No option for fabric servers.

There is currently no option to use the badlion api on fabric servers. This should really be added considering fabric with lithium is one of the best performing server alternatives that also makes redstone work consistently with no un-intended behaviours. (unlike bukkit/spigot and paper)

schemaitca

my players can only print when they in gmc, if they in gms they can print but it doesnt work

console error on join on spigot 1.8.8

when a player joins with this plugin on the server on spigot 1.8.8 it gives you this console error

[16:36:11 ERROR]: Could not pass event PlayerJoinEvent to BadlionClientModAPI v1.0
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerList.onPlayerJoin(PlayerList.java:298) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerList.a(PlayerList.java:157) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.LoginListener.b(LoginListener.java:144) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.LoginListener.c(LoginListener.java:54) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.NetworkManager.a(NetworkManager.java:231) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.ServerConnection.c(ServerConnection.java:148) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:814) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_231]
Caused by: java.lang.NullPointerException
at net.badlion.blcmodapibukkit.listener.PlayerListener.onPlayerJoin(PlayerListener.java:152) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_231]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_231]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_231]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_231]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.8.8.jar:git-Spigot-db6de12-18fbb24]
... 14 more

Readme.md Wrong Information

The Point "ItemPhysic" is Wrong. "Item Physics" Woked. Idk how to Create an Pull Request but let the message count as one

Suggesting another way to enable survival mod

Hello,
To enable the survival mod, you have to install the badlion API on your server which can sometimes be long and pain for players (as it require spigot or smth like that tho).

I suggest a thing that would enable the survival mod on a server if an OP player of the server does a command such as /blc survivalmod on/off to activate the survival mod for everybody.

As the survival mod is a thing that is used by a lot of players who sometimes just have a basic server and who don't want to spend time on installing an API I think that it could be a cool addition to the client.

How to enabled survival mods

I have my personal server with my friends, i want to enabled everythings in the survival tab. I don't find somethings to do it with your api. I try to enable survival and each things but without success

Documentation is outdated

The documentation is missing a lot of the newly added modules like Pack Tweaks and BlockInfo.
Also you can't disable some sub options for newly added modules. This is especially important for Pack Tweaks. Every suboption should be customizable and documented.

1.19 compatibility issue

image
I was told to submit a bug report for the badlion api as it couldn't make the config files in the plugins folder and it isn't compatible with 1.19 yet. If it could be updated soon that would be great :)

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.