Skip to content
This repository has been archived by the owner on Apr 24, 2023. It is now read-only.

Jikoo/MobStacker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notice

I have no plans to continue working on MobStacker, as I believe it is in most cases largely useless or actively detrimental to server performance. The only areas I believe MobStacker to truly be useful and excel are player-owned farms.

Before you install a mob stacking plugin, consider your needs.
How does player experience compare? More importantly, will this confuse my players?

  • ❌ Stacks are not vanilla and therefore require explanation, no matter how self-explanatory you think the stacks are.
  • 👍 Farm labor (breeding, shearing, etc.) can be greatly assisted by stacking
  • 👍 Stacked entities in mob farms can make them function more cleanly and faster
  • ❌ Breaks some mob farm designs that depend on entities pushing each other
  • ❌ Stacked enemies are generally less challenging. Boring for people who are good at combat.
  • ❌ Alternate: Every fight is some form of raid boss. Bad for people who aren't good at combat; they die constantly and then stop playing.
  • ❌ Stacked entities make the world feel emptier. One fish in the pond. One cow in the pen. The world is a wasteland.

You're probably not considering a stacking plugin because your players want it; you're probably a concerned admin.
Does your server currently suffer from low tick rate due to entities? If not, don't micro-optimize, don't mess with success. Making wide sweeping changes to attempt to fix a problem you don't have is a waste of time, both yours and your players'.

  • 👍 Ticking a single entity is faster than ticking a cluster of 4-5 entities.
  • ❌ The server spawns more mobs to compensate for the reduced mob count.
    • Lower entity limits can compensate for this, but because fewer mobs are spawned there's less gain from merging them.
    • Particularly noticeable in farms that rely on natural spawning, i.e. guardian and enderman farms. Experience rates and drops through the roof.
      • You can disable stacking on a per-spawn-spawn-reason basis with MobStacker.
  • ❌ Creation of numerous scheduler tasks can be quite heavy
    • MobStacker schedules tasks on a per-entity basis.
      • Accidentally great for Folia support, I guess.
      • Tasks are halted where unnecessary, but object creation still causes a hit. See natural spawning farms.

About

MobStacker is a Bukkit/Spigot plugin for 1.16+ that stacks mobs in a highly efficient way to decrease server and FPS lag.

Features

  • Clusters of configurable mobs are removed and replaced with a single named entity
  • Name can be customized and hidden when not directly looked at
  • Damage sources can be configured to harm entire stacks
  • To prevent issues, stacks which die to VOID damage are always killed
  • Stacks can drop loot for all entities when killed by a source which damages the entire stack
  • To prevent issues, stacks which die to VOID damage do not drop additional loot
  • Stacked sheep and mooshrooms can be sheared
  • Stacked animals can be bred
  • Stacked chickens can be configured to drop stacked eggs
  • Stacked creepers can be configured to explode more powerfully

For Developers

Compiling

MobStacker is compiled using Maven. Clone the repository and run mvn clean install.

Maven and other dependency management systems

Should you wish to use MobStacker as a dependency, it is available via JitPack.

    <dependency>
      <groupId>com.github.Jikoo</groupId>
      <artifactId>MobStacker</artifactId>
      <version>-SNAPSHOT</version>
    </dependency>

Be sure to add the JitPack repository to your repositories section.

    <repository>
      <id>jitpack.io</id>
      <url>https://jitpack.io</url>
    </repository>

About

A Bukkit/Spigot plugin for 1.16 that stacks mobs in a highly efficient way to decrease server and FPS lag.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%