A New Age of Weapons in Minecraft.

Overview

Weapon Mechanics Discord

High performance, fully featured gun plugin for newer Minecraft versions.

Quick Links

How to (Server Owners)

See the Getting Started section on the wiki.

How to (Developers)

See Hooking into WeaponMechanics page on the wiki.

Maven Repository:

    <repository>
        <id>fixme</id>
        <url>fixme</url>
    </repository>

    <dependency>
        <groupId>me.deecaad</groupId>
        <artifactId>MechanicsCore</artifactId>
        <version>1.0.0</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>me.deecaad</groupId>
        <artifactId>WeaponMechanics</artifactId>
        <version>1.0.0</version>
        <scope>provided</scope>
    </dependency>

Using Gradle:

repositories {
    maven {
        url = uri("fix me")
    }
}

dependencies {
    compileOnly("fix me")
}

Donate

WeaponMechanics is a free to use software, and the combination of hundreds of hours of work. If you like WeaponMechanics and want to see new features, please consider donating.

  • Donate Link 1
Comments
  • Wiki images are not visible

    Wiki images are not visible

    Link to code

    https://github.com/WeaponMechanics/MechanicsMain/wiki/Shooting#spread_image, https://github.com/WeaponMechanics/MechanicsMain/wiki/General#message-color-codes, https://github.com/WeaponMechanics/MechanicsMain/wiki/General#recipe

    Related Issues

    No response

    Improvements

    Use these links instead colorcodes crafting gear

    opened by CJCrafter 13
  • Change visual item in hotbar after swapping away from scope.

    Change visual item in hotbar after swapping away from scope.

    Description

    Hello,

    I have models where the scope is seperated completly and run a different cusotom model data. This means I use the same model/scope for different weapons.

    If I hold a weapon, scope in (model is now changed to scope), then change to different id in hotbar. 1,2,3,4 whatever. Then the gun remains on the scope model until the player goes back over it. Would be nice that if you scope in, change hotbar or whatever. Then the gun changes back to it's original state.

    It's a visual thing. But would be nice to have. Thanks.

    Configuration

    Not needed

    bug enhancement 
    opened by Kleypex 9
  • Crawl modifier

    Crawl modifier

    Description

    hello, there are plugins that create the ability for the player to crawl. this is done by spawning a block over the player's head, after which he starts "swimming". like after update 1.13. Could you make a "Crawl" modifier in the Modify_Spread_When category that would be activated when the player is "swimming" but not in water.

    Configuration

    Modify_Spread_When:
      Zooming: -5    # Make the gun more accurate when scoping
      Sneaking: -2
      Standing: 0
      Walking: 1.5
      Swimming: 1.5
      In_Midair: 4   # Player is probably jumping, so make them inaccurate
      Gliding: 6     # Player is probably moving super quick, so make them inaccurate
      Crawling: -5 #Player crawling
    

    Payment (optional)

    • [ ] I'm willing to pay for this feature
    enhancement 
    opened by EmSockz 7
  • Play multiple sounds depending on distance

    Play multiple sounds depending on distance

    Description

    Add the ability to use multiple sounds at different distances.

    For example, the sound of a shot at a distance of 50 will be loud, at a distance of 100 it will be quiet

    Configuration

    Mechanics:
      Sounds:
      - <sound>-<volume>-<pitch>-<range_min>:<range_max>
      - <range>-<volume>-<pitch>-<delay>-<pitchNoise>-<range_min>:<range_max>
      - custom:<sound>-<volume>-<pitch>-<range_min>:<range_max>
      - custom:<sound>-<volume>-<pitch>-<delay>-<pitchNoise>-<range_min>:<range_max>
      - <etc.>
      for example:
      - "custom:guns:ak47shoot-1-1-20:50" 
      - "custom:guns:ak47shoot2-1-1-51:70"
      - "custom:guns:ak47shoot2-1-1-71:100"          
    
    enhancement 
    opened by EmSockz 5
  • Out of ammo skin

    Out of ammo skin

    Description

    A skin for a gun when it has no ammo left (0 ammo in inventory or it says 0 in its ammo amt).

    Configuration

    Skin: Out_Of_Ammo_Inv: #for when there is no ammo in the inventory Out_Of_Ammo_Gun: #for when there it says 0 in its ammo amt

    enhancement 
    opened by outofthetime 5
  • Don't start

    Don't start

    Has this issue already been reported? Did you ask for help before making this report?

    • [X] I have searched the existing issues
    • [X] I have asked for help

    Current Behavior

    .

    Expected Behavior

    .

    Steps To Reproduce

    .

    Frequency

    .

    Version and Log

    https://paste.gg/p/anonymous/6a4240d24f87490bb3f55f7561df84d7

    Anything else?

    .

    opened by Lerphie 5
  • Horizontal distance for damage drop-offs

    Horizontal distance for damage drop-offs

    Description

    An option for damage drop-offs to only consider the horizontal distance travelled by the projectile.

    Configuration

      Damage:
        Use_Horizontal_Distance_For_Dropoff: [false (default)/true] 
        Dropoff:
          - "50~-6.49"
          [...]
    
    enhancement 
    opened by galacticwarrior9 4
  • [BUG] For some reason WeaponMechanics completely broke when a player logged in, seems to be a rare issue but it needed a server restart to fix it

    [BUG] For some reason WeaponMechanics completely broke when a player logged in, seems to be a rare issue but it needed a server restart to fix it

    Has this issue already been reported? Did you ask for help before making this report?

    • [X] I have searched the existing issues
    • [X] I have asked for help

    Current Behavior

    For some reason the plugin started spamming errors and ceased to work, it seems to have been triggered by a player logging in somehow.

    Expected Behavior

    Weaponmechanics would not start spamming errors

    Steps To Reproduce

    I honestly have no idea, this is the part of the log when the error occured

    [10:07:23] [User Authenticator #28/INFO]: UUID of player Sheepdumplings is bf67a2d4-d546-446a-97b2-49373674727a [10:07:23] [Server thread/ERROR]: [WeaponMechanics] An error occurred whilst injecting: [id: 0xdc06cfb3, L:/192.168.0.195:25565 ! R:/83.226.228.91:64049] java.util.NoSuchElementException: packet_handler at io.netty.channel.DefaultChannelPipeline.getContextOrDie(DefaultChannelPipeline.java:1073) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:248) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:237) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at me.deecaad.core.packetlistener.PacketListener.injectChannel(PacketListener.java:387) ~[MechanicsCore-1.2.2-BETA.jar:?] at me.deecaad.core.packetlistener.PacketListener.injectPlayer(PacketListener.java:365) ~[MechanicsCore-1.2.2-BETA.jar:?] at me.deecaad.core.packetlistener.PacketListener$4.onLogin(PacketListener.java:245) ~[MechanicsCore-1.2.2-BETA.jar:?] at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:37) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:git-Purpur-1623] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:671) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?] at net.minecraft.server.players.PlayerList.canPlayerLogin(PlayerList.java:781) ~[purpur-1.18.2.jar:git-Purpur-1623] at net.minecraft.server.network.ServerLoginPacketListenerImpl.handleAcceptedLogin(ServerLoginPacketListenerImpl.java:173) ~[?:?] at net.minecraft.server.network.ServerLoginPacketListenerImpl.tick(ServerLoginPacketListenerImpl.java:84) ~[?:?] at net.minecraft.network.Connection.tick(Connection.java:567) ~[?:?] at net.minecraft.server.network.ServerConnectionListener.tick(ServerConnectionListener.java:201) ~[?:?] at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1648) ~[purpur-1.18.2.jar:git-Purpur-1623] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:522) ~[purpur-1.18.2.jar:git-Purpur-1623] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1482) ~[purpur-1.18.2.jar:git-Purpur-1623] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1246) ~[purpur-1.18.2.jar:git-Purpur-1623] at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:320) ~[purpur-1.18.2.jar:git-Purpur-1623] at java.lang.Thread.run(Thread.java:833) ~[?:?] [10:07:23] [Server thread/ERROR]: [WeaponMechanics] Pipeline: DefaultChannelPipeline{} [10:07:23] [Netty Server IO #0/ERROR]: [MechanicsCore] Unhandled exception java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.LivingEntity.getType()" because "entity" is null at me.deecaad.weaponmechanics.WeaponMechanics.getEntityWrapper(WeaponMechanics.java:552) ~[WeaponMechanics-1.7.1-BETA.jar:?] at me.deecaad.weaponmechanics.packetlisteners.OutAbilitiesListener.onPacket(OutAbilitiesListener.java:29) ~[WeaponMechanics-1.7.1-BETA.jar:?] at me.deecaad.core.packetlistener.PacketHandlerListener.handle(PacketHandlerListener.java:95) ~[MechanicsCore-1.2.2-BETA.jar:?] at me.deecaad.core.packetlistener.PacketHandlerListener.onPacketOut(PacketHandlerListener.java:85) ~[MechanicsCore-1.2.2-BETA.jar:?] at me.deecaad.core.packetlistener.PacketListener$PacketInterceptor.write(PacketListener.java:495) ~[MechanicsCore-1.2.2-BETA.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:790) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:758) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:808) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at com.comphenix.protocol.injector.netty.ChannelProxy.writeAndFlush(ChannelProxy.java:327) ~[ProtocolLib.jar:?] at net.minecraft.network.Connection.doSendPacket(Connection.java:462) ~[?:?] at net.minecraft.network.Connection.lambda$writePacket$11(Connection.java:436) ~[?:?] at com.comphenix.protocol.injector.netty.ChannelInjector$3.lambda$onMessageScheduled$1(ChannelInjector.java:354) ~[ProtocolLib.jar:?] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at java.lang.Thread.run(Thread.java:833) ~[?:?] [10:07:23] [Netty Server IO #0/ERROR]: [MechanicsCore] Unhandled exception java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Player.getEntityId()" because the return value of "me.deecaad.core.packetlistener.Packet.getPlayer()" is null at me.deecaad.weaponmechanics.packetlisteners.OutEntityEffectListener.onPacket(OutEntityEffectListener.java:49) ~[WeaponMechanics-1.7.1-BETA.jar:?] at me.deecaad.core.packetlistener.PacketHandlerListener.handle(PacketHandlerListener.java:95) ~[MechanicsCore-1.2.2-BETA.jar:?] at me.deecaad.core.packetlistener.PacketHandlerListener.onPacketOut(PacketHandlerListener.java:85) ~[MechanicsCore-1.2.2-BETA.jar:?] at me.deecaad.core.packetlistener.PacketListener$PacketInterceptor.write(PacketListener.java:495) ~[MechanicsCore-1.2.2-BETA.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:792) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:702) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.ChannelDuplexHandler.write(ChannelDuplexHandler.java:115) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at me.neznamy.tab.platforms.bukkit.BukkitPipelineInjector$BukkitChannelDuplexHandler.write(BukkitPipelineInjector.java:86) ~[TAB v3.1.0.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:792) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:702) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.ChannelDuplexHandler.write(ChannelDuplexHandler.java:115) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at com.ticxo.modelengine.nms.v1_18_R2.packet.MEChannelHandler.write(MEChannelHandler.java:79) ~[Model-Engine-R2.5.1-2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:792) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:702) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.ChannelDuplexHandler.write(ChannelDuplexHandler.java:115) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.lumine.cosmetics.playeranimator.nms.v1_18_R2.network.PAChannelHandler.write(PAChannelHandler.java:40) ~[MCCosmetics.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:792) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:702) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.ChannelDuplexHandler.write(ChannelDuplexHandler.java:115) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.lumine.cosmetics.nms.v1_18_R2.network.VolatileChannelHandler.write(VolatileChannelHandler.java:37) ~[MCCosmetics.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:792) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:702) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.ChannelDuplexHandler.write(ChannelDuplexHandler.java:115) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at xyz.xenondevs.nova.network.PacketHandler.write(PacketHandler.kt:14) ~[Nova-0.8.12.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:790) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:758) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:808) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at com.comphenix.protocol.injector.netty.ChannelProxy.writeAndFlush(ChannelProxy.java:327) ~[ProtocolLib.jar:?] at net.minecraft.network.Connection.doSendPacket(Connection.java:462) ~[?:?] at net.minecraft.network.Connection.lambda$writePacket$11(Connection.java:436) ~[?:?] at com.comphenix.protocol.injector.netty.ChannelInjector$3.lambda$onMessageScheduled$1(ChannelInjector.java:354) ~[ProtocolLib.jar:?] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at java.lang.Thread.run(Thread.java:833) ~[?:?] [10:07:23] [Netty Server IO #0/ERROR]: [MechanicsCore] Unhandled exception java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Player.getEntityId()" because the return value of "me.deecaad.core.packetlistener.Packet.getPlayer()" is null at me.deecaad.weaponmechanics.packetlisteners.OutEntityEffectListener.onPacket(OutEntityEffectListener.java:49) ~[WeaponMechanics-1.7.1-BETA.jar:?] at me.deecaad.core.packetlistener.PacketHandlerListener.handle(PacketHandlerListener.java:95) ~[MechanicsCore-1.2.2-BETA.jar:?] at me.deecaad.core.packetlistener.PacketHandlerListener.onPacketOut(PacketHandlerListener.java:85) ~[MechanicsCore-1.2.2-BETA.jar:?] at me.deecaad.core.packetlistener.PacketListener$PacketInterceptor.write(PacketListener.java:495) ~[MechanicsCore-1.2.2-BETA.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:792) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:702) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.ChannelDuplexHandler.write(ChannelDuplexHandler.java:115) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at me.neznamy.tab.platforms.bukkit.BukkitPipelineInjector$BukkitChannelDuplexHandler.write(BukkitPipelineInjector.java:86) ~[TAB v3.1.0.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:792) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:702) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.ChannelDuplexHandler.write(ChannelDuplexHandler.java:115) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at com.ticxo.modelengine.nms.v1_18_R2.packet.MEChannelHandler.write(MEChannelHandler.java:79) ~[Model-Engine-R2.5.1-2.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:792) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:702) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.ChannelDuplexHandler.write(ChannelDuplexHandler.java:115) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.lumine.cosmetics.playeranimator.nms.v1_18_R2.network.PAChannelHandler.write(PAChannelHandler.java:40) ~[MCCosmetics.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:792) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:702) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.ChannelDuplexHandler.write(ChannelDuplexHandler.java:115) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.lumine.cosmetics.nms.v1_18_R2.network.VolatileChannelHandler.write(VolatileChannelHandler.java:37) ~[MCCosmetics.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:792) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:702) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.ChannelDuplexHandler.write(ChannelDuplexHandler.java:115) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at xyz.xenondevs.nova.network.PacketHandler.write(PacketHandler.kt:14) ~[Nova-0.8.12.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:790) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:758) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:808) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at com.comphenix.protocol.injector.netty.ChannelProxy.writeAndFlush(ChannelProxy.java:327) ~[ProtocolLib.jar:?] at net.minecraft.network.Connection.doSendPacket(Connection.java:462) ~[?:?] at net.minecraft.network.Connection.lambda$writePacket$11(Connection.java:436) ~[?:?] at com.comphenix.protocol.injector.netty.ChannelInjector$3.lambda$onMessageScheduled$1(ChannelInjector.java:354) ~[ProtocolLib.jar:?] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-all-4.1.68.Final.jar:4.1.68.Final] at java.lang.Thread.run(Thread.java:833) ~[?:?]

    Frequency

    I have no idea, probably rarely

    Version and Log

    image latest.log

    Anything else?

    not really anything else, but please do fix this.

    bug 
    opened by BookWyrm114 4
  • Formula for calculating scope (2x, 3x, 10x...)

    Formula for calculating scope (2x, 3x, 10x...)

    Description

        public static float getScopeAlt(double level) {
            if (level < 1 || level > 10) {
                debug.log(LogLevel.ERROR,
                        "Tried to get scope level of " + level + ", but only levels between 1 and 10 are allowed.",
                        new IllegalArgumentException("Tried to get scope level of " + level + ", but only levels between 1 and 10 are allowed."));
                return 0;
            }
            return (float) (1.0 / (20 / level - 10)); // checking for division by zero is not needed here, Java gives Infinity when dividing by zero. ABILITIES packet correctly understands the meaning of Infinity
        }
    

    setZoom takes values from 1 to 10. maximum zoom in minecraft is 10x (-0.125 value)

    enhancement 
    opened by MelonHell 4
  • Ability to disable all kinds of information about weapons.

    Ability to disable all kinds of information about weapons.

    Description

    Ability to disable all kinds of information about weapons (action bar, boss bar and etc.) (Needed in order to use action bar and could integrate information about weapons manually, for example through placeholderapi)

    Configuration

    Weapon_Info_Display:
       Enabled: <true/false>
    
    enhancement 
    opened by RollexGrief 4
  • Changing Spread bounds based on Player Action

    Changing Spread bounds based on Player Action

    Description

    The ability to set Spread Bounds based on the actions of the player. (running, jumping, zooming, etc.)

    Configuration

    Spread:
        Changing_Spread:
            Bounds:
                Changing_Minimum:
                    Always: <Minimum Amount>
                    Zooming: <Minimum Amount>
                    Sneaking: <Minimum Amount>
                    Standing: <Minimum Amount>
                    Walking: <Minimum Amount>
                    Riding: <Minimum Amount>
                    Sprinting: <Minimum Amount>
                    Dual_Wielding: <Minimum Amount>
                    Swimming: <Minimum Amount>
                    In_Midair: <Minimum Amount>
                    Gliding: <Minimum Amount>
                Changing_Maximum:
                    Always: <Maximum Amount>
                    Zooming: <Maximum Amount>
                    Sneaking: <Maximum Amount>
                    Standing: <Maximum Amount>
                    Walking: <Maximum Amount>
                    Riding: <Maximum Amount>
                    Sprinting: <Maximum Amount>
                    Dual_Wielding: <Maximum Amount>
                    Swimming: <Maximum Amount>
                    In_Midair: <Maximum Amount>
                    Gliding: <Maximum Amount>
    
    enhancement 
    opened by marijay1 4
  • Grenades/other items work as ammo

    Grenades/other items work as ammo

    Description

    Need items like grenades for example that can be thrown independently and still function but also work as consumable ammo for guns.

    Configuration

    Is_ammo?:
      Feature_Option: <true/false>
    
    
    ### Payment (optional)
    
    - [X] I'm willing to pay for this feature
    enhancement new 
    opened by zunkerman 0
  • new  modifier Swimming_1-13 and Crawling

    new modifier Swimming_1-13 and Crawling

    Description

    Swimming_1-13 - a modifier that only activates if the player is in a water block and in swimming mode added in update 1.13 (player.setSwimming(true)) Currently your Swimming modifier only triggers when the player is in a water block. Please add these two modifiers. later you will understand why

    Crawling - a modifier that activates when the player is in swimming mode added after 1.13 (player.setSwimming(true)) and is not in a water block. Some plugins create a crawling system by (player.setSwimming(true)) and sending a packet to set the block over the player. so that the player does not get up. This is a very useful modifier for servers where there is crawling.

    Configuration

    Modify_Spread_When:
      Zooming: -5    # Make the gun more accurate when scoping
      Sneaking: -2
      Standing: 0
      Walking: 1.5
      Swimming: 1.5
      In_Midair: 4   # Player is probably jumping, so make them inaccurate
      Gliding: 6     # Player is probably moving super quick, so make them inaccurate
      Crawling: -5 #Player crawling
      Swimming_1-13: 1.5 #Player swimming
    

    Payment (optional)

    • [ ] I'm willing to pay for this feature
    enhancement priority: low good first issue 
    opened by EmSockz 0
  • Vanilla Shield

    Vanilla Shield

    Description

    Add shield support for weapons. Weapons currently ignore the shield

    Configuration

    Shield:
      Ignore_Shield: <true/false>
      Block_Damage: <percent of damage>
      Durability_Loss: <percent of damage>
    

    Payment (optional)

    • [ ] I'm willing to pay for this feature
    enhancement 
    opened by 3Lord3 2
  • Mechanics summon entities

    Mechanics summon entities

    Description

    A mechanic serializer option to summon entities. This can be used to make mobs, animals and entities like armor stands spawn whenever the mechanics call for it like:

    • Spawn a Zombie at the shooter when you reload your gun.
    • Spawn a Pig at the block you just shot at.
    • Spawn an armor stand with specific NBT at the victim you just killed.

    In some way, players can play around with this feature how they want, like making throwable spawn eggs, or a summon staff, or in my case: Use this to make Kill Confirmed gamemodes a thing by making custom armor stands spawn as "tags" whenever you kill a player,...

    Below is a configuration idea, with explanation what it should do:

    Configuration

    Mechanics:
      Summon_Entity:
        Entity: <Entity> #What entity will it spawn? A chicken? a zombie? an armor stand?
        Entity_NBT: <NBT> #What NBT data should the entity carry? anything is possible like {isBaby:true},...
        Amount: <Integer> #How many of this entity should spawn at once, maybe you want a bunch of experience orbs to spawn, or a horde of zombies?
        Spawn_Entity_At: <Shooter / Impact> #Spawns an entity with "Shooter" on the shooter's location when the mechanic fires off, or with "Impact" it spawns an entity where the bullet hit/landed.
        Impact_Rules: <Block / Entity / Both> #When "Spawn_Entity_At" is "Impact", will the entity only spawn when the bullet hits a block, an entity or both?
        Only_Players: <True/False> #When using impact rules, should it only spawn entities when the impacted entity are players?
    

    Payment (optional)

    • [ ] I'm willing to pay for this feature
    enhancement new 
    opened by DarkmanBree 0
  • Per-weapon potion damage modifiers

    Per-weapon potion damage modifiers

    Description

    It is possible to modify how potion effects affect damage globally via config.yml:

    Damage:
      Minimum_Rate: 0.15
      Maximum_Rate: 4.0
      Potions:
        DAMAGE_RESISTANCE: -0.05
        UNLUCK: 0.15
        WEAKNESS: 0.05
    

    It would be helpful if this could be modified on a per-weapon basis too like in CSP.

    Configuration

    I imagine it looking the same in weapon files; it would just go under the damage section. For example:

    Damage:
      Base_Damage: 30
      Armor_Damage: 1
      Dropoff:
        - "50~-10"
      Potions:
        DAMAGE_RESISTANCE: -0.05
        UNLUCK: 0.15
        WEAKNESS: 0.05
    

    Payment (optional)

    • [X] I'm willing to pay for this feature
    enhancement paid 
    opened by galacticwarrior9 1
  • Options to allow scoping during firearm action.

    Options to allow scoping during firearm action.

    Description

    Currently while the firearm action is playing during like a sniper/shotgun rechamber, you either cannot scope in, or you are locked in scoping until the firearm action is done.

    It would be nice to have the option for guns to be able to scope in/out while the firearm action is playing, because it really hinders with snipers/shotguns right now.

    Configuration

    Firearm_Action:
      Allow_Scoping: <true/false>
    

    Payment (optional)

    • [ ] I'm willing to pay for this feature
    bug 
    opened by DarkmanBree 1
Releases(v1.14.11)
Owner
null
Create: Liftoff is a create addon that hopes to empower the player even more with the industrial age of the create mod and space rockets!

Create: Liftoff Welcome to Create: Liftoff, a mod that hopes to empower the player even more with the industrial age of the create mod and space rocke

Tazer 9 Jun 6, 2022
Expanding Create mod to Steam Age ⚙️

Create: Steam Powered Expanding Create mod to the Steam Age Foreword: Taking inspiration from the furnace engine in Create, we decide that we could ma

TeamMoeg 20 Dec 27, 2022
TerraBlender is a library mod for adding biomes in a simple and compatible manner with Minecraft's new biome/terrain system.

https://discord.gg/GyyzU6T TerraBlender is a library mod for adding biomes in a simple and compatible manner with Minecraft's new biome/terrain system

Glitchfiend 31 Dec 12, 2022
The Lezard Client is a new, open-source, minecraft client for the newer versions of the game.

The Lezard Client is a new, open-source, minecraft client for the newer versions of the game. It is oriented not for PvP, but for the Vanilla and the Survival experience. It is not a hack client for Minecraft and do not ask for it. 1 I hate hacked client and 2 it is not fun for other people. Also, I misspelled the word lizard in English and decided to leave it like that.

Michel-Ange 4 Jul 5, 2022
A mod adding radiation-related items to Mindustry (radioactive materials, new guns, etc.)

Nuclear Mines (VERY EARLY BUILD) A Mindustry mod adding more radiation-based items to the game. THIS IS A VERY EARLY VERSION. NOT EVERYTHING IS FINISH

null 6 Sep 3, 2022
Nuclear-Mines-Mod - A mod adding radiation-related items to Mindustry (radioactive materials, new guns, etc.)

Nuclear Mines (VERY EARLY BUILD) A Mindustry mod adding more radiation-based items to the game. THIS IS A VERY EARLY VERSION. NOT EVERYTHING IS FINISH

null 6 Sep 3, 2022
JavaFX & FXGL Game: Mario; Add New Levels.

FXGL_Mario Game Game Video This project is only used for learning JavaFX and fxgl technology; Pictures, sounds and other materials should not be used

null 8 Nov 7, 2022
A Java mod meant to add new things to the current Erekir's progression

Erekir Expansion A Java mod meant to add new things to the current Erekir's progression. Fun Fact: I used my private JS mod version, Flar Expansion v1

Antumbra (or Lich) 14 Dec 18, 2022
Infinity Buttons is a fabric mod which adds exciting new buttons!

Infinity Buttons Infinity Buttons is a mod which adds exciting new buttons! Current features Large Buttons, which are bigger than normal buttons. Copp

LarsMans 5 Nov 20, 2022
A mixin based ghost client for Minecraft 1.8.9 built on Minecraft Forge.

A mixin based ghost client for Minecraft 1.8.9 built on Minecraft Forge. Originally designed as a MCP Client (called Tephra), it is now being ported t

Peanut 130 Jan 1, 2023
An efficient map viewer for Minecraft seed in a nice GUI with utilities without ever needing to install Minecraft.

To download it head to the Releases section. To run it: either double click it on it if you have the Java Runtime (JRE) or use the command line (shift

Neil 127 Dec 24, 2022
A free mixin-based injection hacked-client for Minecraft using Minecraft Forge.

Custom LiquidBounce 1.8.9 build that aims to improve original visuals and bypasses, along with built-in ViaVersion to help you change from 1.8 to 1.17.1 without creating any other version branch.

epic group of paster 123 Jan 2, 2023
Small mod for Minecraft Forge 1.16.5 that sends messages of in-game events to a channel in your Discord server. This mod also enables cross-chatting between Minecraft and Discord.

DiscordSync Small mod for Minecraft Forge 1.16.5 that sends messages of in-game events to a channel in your Discord server. This mod also enables cros

AeonLucid 4 Dec 20, 2022
Minecraft Utility Mod for the latest release of Minecraft developed by Cypphi.

Minecraft Utility Mod for the latest release of Minecraft developed by Cypphi.

Haze 18 Jan 1, 2023
Play snake, in minecraft. This is a crude, horibly made snake in minecraft game. Requires PaperMC 1.18.2.

MinecraftSnake Play snake, in minecraft. This is a crude, horibly made snake in minecraft game. Requires PaperMC 1.18.2. Installation: Create a paperm

null 1 Sep 30, 2022
The Minecraft Mod API

Bukkit A Minecraft Server API. Website: http://bukkit.org Bugs/Suggestions: http://leaky.bukkit.org Contributing Guidelines: CONTRIBUTING.md Compilati

The Bukkit Project 2.2k Dec 31, 2022
Modifications to the Minecraft base files to assist in compatibility between mods.

MinecraftForge Forge is a free, open-source modding API all of your favourite mods use! Version Support 1.16.x Active 1.15.x LTS Download Forum Discor

Minecraft Forge 5.9k Jan 3, 2023
Equivalent Exchange 3 Apache 2 Equivalent Exchange 3 pahimar Equivalent-Exchange-3. Mods for Minecraft. License: Apache 2 , .

Welcome to Equivalent Exchange 3! All versions are available here Minecraft Forums page Compiling EE3 - For those that want the latest unreleased feat

Rob Davis 709 Dec 15, 2022
A Minecraft plugin API

SpongeAPI A mature Minecraft plugin API (not including an implementation), licensed under the MIT License. Homepage Source Issues Documentation Commun

SpongePowered 1.1k Dec 27, 2022