Coder Social home page Coder Social logo

nathat23 / stackmob-5 Goto Github PK

View Code? Open in Web Editor NEW
54.0 5.0 19.0 15.71 MB

A plugin for bukkit servers, which aims to reduce the lag that the server experiences by combining several entities into a single entity.

License: GNU General Public License v3.0

Java 100.00%
spigot-resource bukkit-plugin mobstacker spigot-plugin spigotplugin bukkit-plugins nbt

stackmob-5's Introduction

StackMob-5

StackMob for 1.16.5+. StackMob 5 uses Bukkit's PersistentDataContainer API so performance will be greatly improved from previous versions.

Spigot: https://www.spigotmc.org/resources/stackmob-enhance-your-servers-performance-without-the-sacrifice.29999/

StackMob is a plugin that reduces the strain of mobs on your server by 'stacking' them together, therefore you can have 1 entity instead of 30 entities. StackMob aims to try and not break vanilla mechanics, however this is not always pratical and/or possible.

It is recommended to use StackMob in conjunction with a farm limiter plugin for the best results.

Building

In order to build StackMob, you will need to do the following.

  • Clone the repository.
  • Run 'mvn clean install' to compile.

Contributing

Contributions are welcome. StackMob is licensed under the GPLv3.

API

StackMob does have a few custom events that can be used. These are in the events subpackage.

Maven:

<repository>
    <id>CodeMC</id>     
    <url>https://repo.codemc.org/repository/maven-public/</url>
</repository>
<dependency>
    <groupId>uk.antiperson.stackmob</groupId>
    <artifactId>StackMob</artifactId>
    <version>5.8.2</version>
</dependency>

stackmob-5's People

Contributors

aurelien30000 avatar cpaca avatar hausergrim avatar hsgamer avatar kyle1elyk avatar loggits avatar ploppyperson avatar superronancraft avatar yive avatar yomamaeatstoes 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

Watchers

 avatar  avatar  avatar  avatar  avatar

stackmob-5's Issues

Throwing several errors

I'm getting an error related to mob health. Saying something along the lines of "Health must be between 0 and 20 but instead was 40.2342365232"

This is another error I'm getting after lowering the mob cap on the server.

21.02 12:39:19 [Server] WARN [StackMob] Task ploppyperson/StackMob-3#103 for StackMob v5.0.2 generated an exception
21.02 12:39:19 [Server] INFO java.lang.IllegalArgumentException: Stack size cannot be more than the configured stack size!
21.02 12:39:19 [Server] INFO at uk.antiperson.stackmob.entity.StackEntity.setSize(StackEntity.java:35) ~[?:?]
21.02 12:39:19 [Server] INFO at uk.antiperson.stackmob.entity.StackEntity.setSize(StackEntity.java:23) ~[?:?]
21.02 12:39:19 [Server] INFO at uk.antiperson.stackmob.entity.StackEntity.merge(StackEntity.java:179) ~[?:?]
21.02 12:39:19 [Server] INFO at uk.antiperson.stackmob.tasks.MergeTask.run(MergeTask.java:49) ~[?:?]
21.02 12:39:19 [Server] INFO at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.15.2.jar:git-Paper-66]
21.02 12:39:19 [Server] INFO at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452) ~[patched_1.15.2.jar:git-Paper-66]
21.02 12:39:19 [Server] INFO at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1185) ~[patched_1.15.2.jar:git-Paper-66]
21.02 12:39:19 [Server] INFO at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:423) ~[patched_1.15.2.jar:git-Paper-66]
21.02 12:39:19 [Server] INFO at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1112) ~[patched_1.15.2.jar:git-Paper-66]
21.02 12:39:19 [Server] INFO at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:934) ~[patched_1.15.2.jar:git-Paper-66]

Weird stuff happens when merging three or more entities at once, or one of the stacks has a size of 1

The behaviour continues to be extremely weird.

  • As soon as there are 3 in a stack, the remaining act very random.
  • The most I've seen is a stacked 3 plus 3 singles.
  • Afterwards they start disappearing, sometimes, one makes a 4 stack, and the rest continue to disappear.
  • Sometimes one makes a 2 stack and instantly disappears, while the main stack continues to remain at 4.

Make yourself the following setup:
https://i.imgur.com/NJF8RIj.png

Right spawner: pig
Left spawner: zombie

And observe with following setup:

Build 10: https://ci.ecocitycraft.com/job/StackMob-5/changes
Config:

# If specific entities should have a waiting time before their first stack.
# Designed for monster grinders etc.
wait-to-stack:
  enabled: true
  # For (x) times the stack task fires after spawn, don't stack this entity.
  wait-time: 5
  # Entity types that this should work for.
  types-whitelist:
    - ZOMBIE
    - SKELETON
    - PIG_ZOMBIE
    - CREEPER
    - ENDERMAN
  types-whitelist-invert: false
  # Spawn reasons that this should work for.
  reasons-whitelist:
    - SPAWNER
  reasons-whitelist-invert: false

As always, wait-to-stack.enabled set to false fixes ALL issues.

Originally posted by @andrewkm in #23 (comment)

Old SMv4 non stackable mobs are getting stacked

Using this:

# Names of worlds where there should be no stacking
worlds-blacklist:
  - world
  - world_the_end
  - world_the_nether
worlds-blacklist-invert: true
# Types of entity which should not stack
types-blacklist: 
  - VILLAGER
  - PARROT
  - HORSE
  - MULE
  - CAT
  - WOLF
  - DONKEY
  - LLAMA
  - ZOMBIE_VILLAGER
  - ZOMBIE_HORSE
  - SKELETON_HORSE
  - SNOWMAN
  - TURTLE
  - TRIDENT
types-blacklist-invert: false
# If the entity's spawns reason is listed below, do not stack.
reason-blacklist: 
  - BREEDING
  - SPAWNER
reason-blacklist-invert: true

It appears that placed fish using a bucket before the 5.0 update, are now being stacked. Is there a way I can just remove old stacked items instead of converting them?

Is this okay to use?

I know it's still in development, but is it alright to use on a 1.15 paper server at the moment?

bee does not work in blacklist.

This has no effect on bees:

# Types of entity which should not stack
types-blacklist: [villager,bee]

They still stack. We don't want bees stacking since there's nothing to cause them to be more productive in stacks... it just reduces the population so that with my limit of 25 per stack... we'd need 75 bees to accomplish the exact same thing 3 bees would accomplish without stacking. Since stacking them cannot be disabled, it's basically nerfing all bee populations on the server to no benefit. If some other mechanics were also at work here like... what happens when stacked chickens lay eggs (like filling the hive faster, leaving the hive faster, etc)... then it wouldn't be so bad that stacking of bees can't be disabled. But in this form it's just really irritating.

v5.0.2

Using a lead on a chicken stack makes the lead clone to the amount of mobs there are in the stack when killed.

Describe the bug
Using 1 lead on a stacked chicken results in the lead being cloned to the exact number of mobs in the stack if the user kills one of the mobs in the stack while with the lead. This also occurs on chickens when you have a lead on them and right click them while leaded to take off the lead in survival.

To Reproduce
stack a chicken as much as u want, use a lead on them, punch the stack until one dies and watch the lead drop and duplicate to the number of mobs in the stack.

Expected behavior
the lead does not duplicate and users keep the 1 lead they used.

Screenshots/Videos
https://i.ibb.co/Fh533KY/2020-01-24-14-19-55.png

Bukkit/Spigot AND StackMob version:
bukkit/spigot: 1.15.2
SM: original-stackmob-5.0.2

Additional context
not much else to say, pretty straight forward. Sorry about coming back to bother u with yet another issue. User on my server discovered it and it can be exploited horribly.

Stacking mobs that already exist.

So I have quite a bit of an issue and am unsure as to how I should go about getting around it.

I have a world with a very large amount of mobs, that are all name tagged in several places. I’d like to enable stacking in this world (we had the world blacklisted for years) however when I do so (and indeed I did restart, not just /sm reload)... only newly spawned mobs (we do not blacklist any stack reasons) stack.

So say I have a sheep pen with 10 old name tagged sheep prior to removing the world from the blacklist, only newly spawned sheep in that pen will stack. The old ones never do. There is basically a stack of 30+ in the middle of 10 individual sheep, and regardless of what I do I cannot get those ten to stack.

I have also verified that newly spawned mobs even if name tagged do get stacked, it’s the ones prior to removing the blacklist that don’t.

Now of course I realize you cannot be scanning the entire world for mobs as that would kill performance.

Anyways, I need some sort of solution please.

Perhaps there is an option or command I’m not aware of? And if not, can we get some sort of, /sm forcestack command.

This command would go through all loaded chunks and stack all mobs, I would then run this command on an interval of one hour obviously understanding it would cause lag while it’s executing.

As well can you add an option somehow to take old mobs into consideration.

I actually really hope this is nothing more than a bug, but if not please find us a solution <3.

PS: A forcestack command would be extremely useful, yes it would be laggy but it would be the server owners responsibility to understand that. Please consider, this would literally save my old world.

Bees still stacking regardless of Whitelist and Blacklist invert.

Bees still stack even though i have it set for only Rabbit, cow, pig, chicken.
A clear and concise description of what the bug is.

To Reproduce
make a white list and inverted blacklist for only farm animals. Spawn the amount of bees needed to stack. wait the time. Boom they stacked.

Expected behavior
bees aren't stacking.

Screenshots/Videos
https://ibb.co/WsCjTvL

Bukkit/Spigot AND StackMob version:
1.15.1 SM 5.0.2

Additional context
sorry to be back with an issue -.-

can't use sm tool

the "stick" is in use by at least 3 different plugins so please be more specific with your tool. For now I can't get anything except for land claim information (grief prevention) when right clicking or shift right clicking with the stack mob "stick".

java.lang.UnsupportedOperationException: wait-to-stack.reasons-whitelist list is null!

Describe the bug
Updated from a 4.x version got the bridge, bridge didn't work. Deleted stack mob and bridge and generated files, downloaded latest version 5.x generated files Whitelisted Pig sheep chicken rabbit cow, not stacking. old stacks are still stacked but no mobs will stack. Ver 1.15.1

To Reproduce
take sheep egg, spam sheep.

Expected behavior
the sheep turn in to a stack of sheep separated by age and color.

Screenshots/Videos
https://i.ibb.co/JKPnKvs/2020-01-05-01-10-04.png

Bukkit/Spigot AND StackMob version:
Paper 1.15.1 Build#33
StackMob ver 5.0.1

Additional context
I think that's about it. I'm completely lost.

Stacking is not working with an enabled threshold over 1.

Hello again @Nathat23 I have returned to play with the latest on 1.15.1
First bug I found is threshold. Any activated threshold over 1 breaks stacking.

Version: 5.0.1 (From https://spigotmc.org, I'm not yet using development builds)
Config: https://pastebin.com/4zzgfbix

The following = stacking works.

  threshold:
    enabled: true
    amount: 1

The following = stacking does NOT work.

  threshold:
    enabled: true
    amount: 2

The following = stacking does NOT work.

  threshold:
    enabled: true
    amount: 3

The following = stacking works.

  threshold:
    enabled: false
    amount: 3

License

How is this code licensed? Is it GPL?

My team would be happy to use it and contribute code if we could distribute binaries with our projects.

StackMob causes incredible lag spike!

Version: 5.0.1 (From https://spigotmc.org, I'm not yet using development builds)
Config: https://pastebin.com/4zzgfbix

Please observe the following timings from our recent INSANE lag spike.
All due to stack mob...

From the full server tick:
https://i.imgur.com/z8HHmct.png

From the bukkit scheduler:
https://i.imgur.com/H5WYaGD.png

From the bukkit scheduler's minecraft plugins:
https://i.imgur.com/AYfhkfq.png

From the Minecraft::Plugins (SELF) section:
https://i.imgur.com/46girKS.png

Feel free to reach out via discord (andrewkm#0001) for entire timings.
Only 14 players on this server and dropped down to 7tps. Pretty wild drop.

Please kindly advise!

Killing baby creates an adult

Killing a baby cow seems to create adults sometimes when killing. I am not sure if it's a visual bug or an actual bug but the cow when it appears as an adult has the same health as a baby.

1.15

Hello,

I would like to know if the plugin will be compatible with 1.15 because currently, the stack of mobs no longer work despite the fact that the plugin loads correctly. I managed to get this in my logs, I use the latest version of paper # 8 in 1.15.
https://pastebin.com/Ks9vWU8G

Does odd things to invisible armor stands (breaking Slimefun functionality)

Slimefun uses a number of "player_head" items which when placed also create an invisible armor_stand with a title to display additional information. While StackMob is installed, it replaces the displayed text with the text "Armor Stand", and continues to generate an infinite amount of invisible armor stands in the same block position. I can kill invisible armor stands with commands but regular players cannot do this and there would be a LOT of them to kill in the location if the block was placed for very long.

I tried adding "armor_stand" to the stacking blacklist though this had no effect.

StackMob >> StackMob version 5.0.1
[17:54:11 INFO]: Paper v1_15_R1
[17:54:11 INFO]:
[17:54:11 INFO]: CS-CoreLib vDEV - 80 (git e3242c60)
[17:54:11 INFO]: Slimefun vDEV - 393 (git 9ff093af)

video demonstrating issue:
https://youtu.be/B55oUW4dPS8

All mobs stacking even though I have a whitelist.

Finally got stackmobs working thanks to you but now for some reason even though i have a white list for Pig,Cow,Sheep,Chicken and rabbits only, all mobs still stack.

Config: https://pastebin.com/SVb3Ygx4

I only want my whitelisted mobs to stack for the server and im not sure why this is happening. I've tried multiple spacing methods for the list section as well, none have worked.

Hopefully this will be my last issue and I will be able to stop pestering you haha

Stack value larger then configured

Error when using a stack size larger then max size (when modifying stack)

WARN 00:55:11
[StackMob]: Plugin StackMob v5.0.2 generated an exception whilst handling conversation input
Console 00:55:11
java.lang.IllegalArgumentException: Stack size cannot be more than the configured stack size!
at uk.antiperson.stackmob.entity.StackEntity.setSize(StackEntity.java:35) ~[?:?]
at uk.antiperson.stackmob.entity.StackEntity.setSize(StackEntity.java:23) ~[?:?]
at uk.antiperson.stackmob.utils.StackingTool$ModifyPrompt.acceptValidatedInput(StackingTool.java:120) ~[?:?]
at org.bukkit.conversations.NumericPrompt.acceptValidatedInput(NumericPrompt.java:37) ~[patched_1.15.1.jar:git-Paper-51]
at org.bukkit.conversations.ValidatingPrompt.acceptInput(ValidatingPrompt.java:30) ~[patched_1.15.1.jar:git-Paper-51]
at org.bukkit.conversations.Conversation.acceptInput(Conversation.java:234) ~[patched_1.15.1.jar:git-Paper-51]
at org.bukkit.craftbukkit.v1_15_R1.conversations.ConversationTracker.acceptConversationInput(ConversationTracker.java:59) ~[patched_1.15.1.jar:git-Paper-51]
at org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer.acceptConversationInput(CraftPlayer.java:1443) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.PlayerConnection$2.run(PlayerConnection.java:1639) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1192) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:417) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1106) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:933) ~[patched_1.15.1.jar:git-Paper-51]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]

Only stack when the server is lagging.

Could be an interesting feature. However there would have to be a playoff between the cost of saving and restoring entity data and the performance saved by it.

Dupe?

if you give a trident (including enchanted trident) to a stacked mob drowned, all of the stacked mobs will have a trident, meaning that when you kill them they will drop duplicates of the original trident.

I feel like there's a config setting, but nothing is popping out to me. Thoughts?

1.15.1 Error

31.01 14:55:54 [Server] ERROR Could not pass event EntityDeathEvent to StackMob v5.0.2
31.01 14:55:54 [Server] INFO java.lang.IllegalArgumentException: Health must be between 0 and 20.0, but was 42.27833557128906. (attribute base value: 20.0)
31.01 14:55:54 [Server] INFO at org.bukkit.craftbukkit.v1_15_R1.entity.CraftLivingEntity.setHealth(CraftLivingEntity.java:111) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at uk.antiperson.stackmob.entity.death.KillStepDamage.onSpawn(KillStepDamage.java:30) ~[?:?]
31.01 14:55:54 [Server] INFO at uk.antiperson.stackmob.listeners.DeathListener.onStackDeath(DeathListener.java:38) ~[?:?]
31.01 14:55:54 [Server] INFO at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor463.execute(Unknown Source) ~[?:?]
31.01 14:55:54 [Server] INFO at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:545) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at org.bukkit.craftbukkit.v1_15_R1.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:754) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.EntityLiving.d(EntityLiving.java:1380) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.EntityLiving.die(EntityLiving.java:1308) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.EntityLiving.damageEntity(EntityLiving.java:1152) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.EntityMonster.damageEntity(EntityMonster.java:52) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.EntityZombie.damageEntity(EntityZombie.java:318) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.EntityHuman.attack(EntityHuman.java:1113) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.EntityPlayer.attack(EntityPlayer.java:1694) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:2049) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.PacketPlayInUseEntity.a(PacketPlayInUseEntity.java:51) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.PacketPlayInUseEntity.a(PacketPlayInUseEntity.java:6) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.MinecraftServer.ba(MinecraftServer.java:1038) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.MinecraftServer.executeNext(MinecraftServer.java:1031) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeAll(IAsyncTaskHandler.java:95) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1172) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:934) ~[patched_1.15.2.jar:git-Paper-66]
31.01 14:55:54 [Server] INFO at java.lang.Thread.run(Thread.java:748) [?:1.8.0_211]

Stacked Entities becoming one entity

After leaving any amount of stacked entities for a while they turn into one entity with the stacked identifier above them, upon killing them, instead of going down 1 entity, the entire stack disappears.

API Question

So a plugin that i use, utilised stackmob's api and now returns:

[CoreArena] Plugin CoreArena v2.5.1 has failed to register events for class org.mineacademy.corearena.short. .a because uk/antiperson/stackmob/api/events/EntityStackEvent does not exist.

Is it possible if you could reintroduce the uk/antiperson/stackmob/api/events/EntityStackEvent file. Loving the plugin, keep up the great work!

Doesnt Work?

I have stack mob but player farms with a lot of sheep and stuff don't get stacked, nothing gets stacked at all, not in a world guard region except global and global doesnt mess with stacking.
https://hastebin.com/ezufikodim.bash
my config

Stacked Mob "Targeting" Setting Ignored

Describe the bug
Mob AI does not disable for stacked mobs, even when mob targeting is disabled.

To Reproduce
Allow hostile mobs to stack and they will attack you.

Expected behavior
Stacked mobs should have no AI if the targeting feature is disabled.

Bukkit/Spigot AND StackMob version:
Spigot 1.15.2
StackMob 5.0.2

Villagers stacking removes trades

With the default configuration, when players have a village with enough Villagers of the same profession to stack they do without preserving the trades. Also, this messes with the ecosystem where say there are 5 farmers which supply food to the rest, after the stack there is only a single farmer.
Suggestion would be to have villagers default to being blacklisted in the config.

FullSlice

A FullSlice or something similar that allows you to unstack the whole entity e.g. spawn its amount of stack, would be nice to have. It's hard to work with mobs such as bees when trying to unstack.

sm forcestack removing nametag son singular mobs.

  1. Spawn one mob.
  2. Ensure no mobs are around.
  3. Name the mob.
  4. /sm forcestack
  5. The named mob becomes unnamed.

Sm forcestack should not be removing name tags of singular mobs.
It's a new system so will definitely take some time to sort out properly :)

@Aurelien30000 - Let's see if we can get this one too. :D

WAY to many slimes

Slime multiplier is off, slimes still multiply on death.

big issue is stacked large slime, dies -kills one of stack- still multiplies med slime count, then med slime die and produce same effect, if they stack which they do.

https://youtu.be/Vaa34X_Wvlo
freshly uploading video if problem

config:
config.txt

causing big lag

Spawn command bug

/sm spawn
/sm spawn cow
/sm spawn cow 1

All yield invalid arguments.

Mobs stacking to newest mob, not to those already stacked.

Version 5.0.2
Build 4: https://ci.ecocitycraft.com/job/StackMob-5/changes
Current Config: https://pastebin.com/Sk9LTwpj

Just got the following report:
https://ecocitycraft.com/forum/threads/mob-stacking.193839/

Seems it is indeed an issue.
Posted below:

Brief Description:
Mobs stack to the newest mob spawned and not the already stacked group
Instructions:
Go to a mob spawner
Look at how they stack
How many times did you recreate this?:
Many times
Result:
The already stacked mobs are stacking to the new mob spawned from the mob spawner, which results to mobs getting tp'ed around a lot
Expected Result:
The new mob spawned from a mobspawner would go into the already stacked mob group, so they don't tp around all the time

Video: https://imgur.com/a/I8vrjYe#mROBNtQ
Please let me know how we can have mobs spawn into the stack already made as opposed to that stack getting TPed around. (Seems that Ghasts are not affected by this).

Eggs not corresponding to the chickens in stack

Describe the bug
after more testing I have witnessed a stack of 88 chickens lay an egg. it took quite a while but I know that chickens can lay 1 egg between every 5-10 mins. This doesn't seem to multiply by the amount of chickens in a stack like it did in older version of Stackmob. A lot of people are complaining their chicken farms don't work because of the plugin yadda yadda. So yeah, 1 stack of 88 chickens or more lays only 1 egg every 5-10 mins instead of 88 randomly between those times. Any way to fix that?

To Reproduce
Stack a bunch of chickens and wait.

Expected behavior
chickens lay a proper amount of eggs relative to the amount of chickens in the stack.

Screenshots/Videos
just a single egg here. everything else can be ignored since it's from other stuff. behind the chest is a chicken stack of 88 on top of a hopper.
https://i.ibb.co/n85wB9C/2020-01-21-15-56-23.png

Bukkit/Spigot AND StackMob version:
1.15.2 SM: 5.0.2

Additional context
sorry to have so many bugs n bothering u. Ppl love this plugin on the server and so do i but they want pretty particular functionality etc. >.<

More health is deducted than the max health.

StackMob v5.0.2
paper 1.15.1 build 51

ERROR 18:54:48
Could not pass event EntityDeathEvent to StackMob v5.0.2
Console 18:54:48
java.lang.IllegalArgumentException: Health must be between 0 and 4.0, but was 5.0. (attribute base value: 4.0)
at org.bukkit.craftbukkit.v1_15_R1.entity.CraftLivingEntity.setHealth(CraftLivingEntity.java:111) ~[patched_1.15.1.jar:git-Paper-51]
at uk.antiperson.stackmob.entity.death.KillStepDamage.onSpawn(KillStepDamage.java:30) ~[?:?]
at uk.antiperson.stackmob.listeners.DeathListener.onStackDeath(DeathListener.java:38) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor680.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.15.1.jar:git-Paper-51]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.15.1.jar:git-Paper-51]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.15.1.jar:git-Paper-51]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:545) ~[patched_1.15.1.jar:git-Paper-51]
at org.bukkit.craftbukkit.v1_15_R1.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:754) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.EntityLiving.d(EntityLiving.java:1378) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.EntityLiving.die(EntityLiving.java:1306) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.EntityLiving.damageEntity(EntityLiving.java:1150) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.Entity.entityBaseTick(Entity.java:421) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.EntityLiving.entityBaseTick(EntityLiving.java:244) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.EntityInsentient.entityBaseTick(EntityInsentient.java:212) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.Entity.tick(Entity.java:383) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.EntityLiving.tick(EntityLiving.java:2332) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.EntityInsentient.tick(EntityInsentient.java:275) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.WorldServer.entityJoinedWorld(WorldServer.java:731) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.World.a(World.java:878) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.WorldServer.doTick(WorldServer.java:497) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1239) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:417) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1106) ~[patched_1.15.1.jar:git-Paper-51]
at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:933) ~[patched_1.15.1.jar:git-Paper-51]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]

Villagers stacking when configured to not stack

Describe the bug
Villagers are stacking when they are told not to stack.

To Reproduce
set types-blacklist-invert to true and then do not have villagers in the types-blacklist setting

Expected behavior
The villagers should not stack

Bukkit/Spigot AND StackMob version:
Bukkit/Spigot: 1.15.2
StackMob: 5.0.2

Additional context
These are the settings I am using
# Types of entity which should not stack
types-blacklist: [CHICKEN, COW, SHEEP, BLAZE, PIG]
types-blacklist-invert: true

Question

Is the new system storing nbt data to ALL mobs. e.g. mobs that aren't stacked but would typically be stacked if 4 more spawned using a specific spawn reason. would those mobs that aren't stacked get the nbt data put on them before they are even stacked?

Also with the new Disable ai thing, mobs cant be pushed and also float in the air, is this normal, i've never tested no-ai before.

Breeding experience

Describe the bug
When you breed a mob such as cow, pig, chicken, etc. it splits correctly, but I am not getting the experience I normally would when I breed an animal.

To Reproduce
Steps to reproduce the behavior:

  1. Give stacked chicken seeds
  2. No experience given :(

Expected behavior
What I expect to happen is get the experience for how many animals I bred

Bukkit/Spigot AND StackMob version:
Spigot

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.