Event api, Raids, Zombie sieges #2833
No reviewers
Labels
No Label
#P1 CRITICAL
#P2: HIGH
#P3: elevated
#P4 priority: medium
#P6: low
#Review
annoying
API
bug
code quality
combat
commands
compatibility
configurability
contribution inside
controls
core feature
creative mode
delayed for engine release
documentation
duplicate
enhancement
environment
feature request
gameplay
graphics
ground content conflict
GUI/HUD
help wanted
incomplete feature
invalid / won't fix
items
looking for contributor
mapgen
meta
mineclone2+
Minecraft >= 1.13
Minecraft >= 1.17
missing feature
mobile
mobs
mod support
model needed
multiplayer
Needs adoption
needs discussion
needs engine change
needs more information
needs research
nodes
non-mob entities
performance
player
possible close
redstone
release notes
schematics
Skyblock
sounds
Testing / Retest
tools
translation
unconfirmed
mcl5
mcla
Media missing
No Milestone
No project
No Assignees
6 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: VoxeLibre/VoxeLibre#2833
Loading…
Reference in New Issue
No description provided.
Delete Branch "events"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally the idea was to use this for raids and z sieges but this way it is so flexible that it can eventually be used for weather and even player effects.
i rebased the branch to #2832 that's why you don't see @PrairieAstronomer's commits on this particular page (they show up in the commits tab)
Todo
(probably not)
Testing
spawning an event manually can be done with /event_start (raid|zombie_siege) - note that if it isn't dark not a lot of zombies will spawn as they only spawn on nodes which are sufficiently dark.
Place a (red) bed
spawn a few villagers (best so they don't run away)
/effect bad_omen 500 1
wait for the raid (should happen within 10 seconds or so)
The zombie sieges (zombie_siege) are supposed to happen in 10% of the nights at midnight when in a village (same check as raids)
308105fb3d
to30536e0959
WIP: Event apito WIP: Raids and event api30536e0959
toc14e1f976d
mmh something has messed up this branch ... might redo it without the subtree
c14e1f976d
to1e2ae7e006
fixed
Closure style function banned...huh, ok, noted for later.
@cora how to test?
place a bed and a few villagers (best put them in a hole so they dont run away lol) and then give yourself the bad omen effect /effect bad_omen 500 1 (first number is duration, 2nd the bad omen level)
maybe add
after
at line 66 so that the mobs acctually find the villagers and player.
If someone could make a texture for him, I would mess around with adding a pillager raid captain to get the bad omen effect from.
Good idea for now,
midterm I'm hoping to use the now somewhat working versions of mobs:gopath to set them on an initial route to the detected "village"
that sounds like a good idea.
a0c83e72b9
to9fe1cd9f59
9fe1cd9f59
to5fb1ef7250
5fb1ef7250
to1825232967
8f925ab825
to19e147da29
I think we need a pillager texture with a blue tunic to use for raid captains for now until banners can be on top of mob heads. Otherwise, there is no way currently to start a raid in survival.
038b94e515
to7f38cded42
i'm wondering if we cant attach a banner entity to the mob
WIP: Raids and event apito WIP: Event api, Raids, Zombie siegesIma going to checkout the raid captain. One thing though, they do need to be anywhere pillagers are, plus in patrols (https://minecraft.fandom.com/wiki/Patrol).
Yeah ik that commit just does the banner attachment... I suppose they should prob do it in on_spawn according to a chance and captains already in the area
b6d86bffef
to3b99e08bf2
fce604026f
to238226ece5
bdd42b3d3c
to447643843c
447643843c
tob04da54bdf
WIP: Event api, Raids, Zombie siegesto Event api, Raids, Zombie siegesb04da54bdf
tod62ff5c1e3
25ef49bc92
tof031711cf6
78cc2b3488
to5e0f4cdf3b
Event api, Raids, Zombie siegesto WIP: Event api, Raids, Zombie siegesWIP: Event api, Raids, Zombie siegesto Event api, Raids, Zombie siegesVexes are ridiculous. If you have a bed in a house, and you respawn near the evoker, you end up in a spawn trap. They keep spawning and you're surrounded by 7 and die before you can take a step. Brutal.
A cap on spawning, a spawn cool down, or LOS needed to spawn would probably help with this.
yeah the vex spawning was not really limited - its limtied to max 7 vexes per evoker now.
thanks for pointing that out
8c0c42f406
to377bf88366
377bf88366
to82852b4b11
98ac1bf961
toc0838f846a
038d28fabf
to2227f413d2
2227f413d2
tof21e3abbae
It's a step in the right direction, but 7 is still a lot, or, if you get 2 evokers it could be real rough.
I would think that 7 sounds like a good enough challenge because the reward for killing the source is pretty OP.
From what I can tell, there's supposed to be more than just summoning vexes in their kit, and there's cooldowns (2 seconds) and casting time (5 seconds) to allow the player the opportunity to to kill the evoker. Also, the spell creates 3 vexes, so they are in waves, not Boom! 7!
Evokers has an AOE spell centered on them. (the ground spike spell).
its 7 in mc so :P
So, you're eternally going to have 7 demonic pixies attacking you until you somehow find a way to kill the evoker, becuase there's no pause in the onslaught? lol.
Sounds.... "fun"...
no. up to 7 .. they summon 2 or 3 in one go iirc and then wait a while
okay, because it's been presented multiple times that they summon 7 in one casting.
6efbf9c493/mods/ENTITIES/mobs_mc/villager_evoker.lua (L52)
f21e3abbae
tob3401005e8
it'd be easier if "pr" was something like "rng" or "rnd" ... lol. I was just like what is pr?!
so it spawns 1-4 each time, and with no delay in between casts, correct?
it's somewhat commonly used in mcl2
with a delay of 15 seconds i suppose - that seems about right from what i see in game anyways
it just took a minute... all good.
@ancientmarinerdev even everyone who thinks the maximum of 7 vexes is still too much should probably still want this to get merged as right now they can literally spawn as many as they like.
b3401005e8
to8866b86e1c
I think that this is a good pr...
It gives players a chance at being able to damage the evoker, without being completely devastated by the vexes.
I'd like to point out that "fixing" the evoker is only a side project of this PR
neither did this PR introduce the evoker nor did is it the first thing that spawns them in survival.
literally the only way to even get a raid in survival is to fight a pillager outpost first - and that eventually spawns evokers too.
I found an issue where if you start a raid and then leave and come back it will start a new wave. If you do this enough times, you can get hero of the village without fighting.
yeah i see ... well you'll have to time and distance it just right though bc if you go too far for too long it will just abort the event.
are you sure you tested the current version though? bc if anything it should start a completely new raid (and the mobs from the old raid will still be there too) - its what happens when you restart the server anyways but yeah maybe if you do it just right this is possible as the raid might think the mobs are dead when they get unloaded.
No. I was testing an outdated version. Sorry. I need to retest.
hehe good. i was like "damn i thought i had fixed that"
The pillager raids work except sometimes rarely if you go away (just wait for the boss bar to disappear) and come back a new wave will start. Sometimes it will start a few waves at once and it can even go over the wave limit. However I don't think this is a deal breaker.
Also there is a noticeable lag when a new wave is about to start. I think this OK since this is a rare occurrence.
The zombie sieges work. My way of testing rare events is to change the probability to a high value or 100%.
An extra wave is an extra wave and some free loot, so I honestly dont care too much.
23b660aa21
to5da9d24693
you can /event_start zombie_siege ... make sure it's night though otherwise chances are good that simply no zombies will spawn
I'll see if i can figure out the going away thing though .. maybe the distance just needs to be tweaked to make that impossible.
Not sure about the lag .. but yeah i think ive noticed it before. I'll look at it a bit see if its an easy fix.
I wanted to see if they would naturaly occur.
5da9d24693
to3a8f4fbaf7
looks like i fixed it - the thing i didnt consider is that when the mobs get re-loaded they are not the same (luaentity-) table anymore and hence it discarded them as having died before..
what it now does is set a var in the luaentity and in case it doesnt find a mob from the table searches the area for mobs with that field set.
18c199bed2
to57f8851339
I'm getting a crash sometimes when I kill a mob in a pillager raid:
I have the latest commits.
I am not able to reproduce the issue of waves being skipped if you go away and come back.
are you sure you're running the latest version ? because line 105 does not appear to contain any "cmi_cause".
looks like you probably don't have the latest commit - the previous one (
18c199bed2
) would make some sense igwhen you test again please make sure you have the latest commit that is supposed to fix it - otherwise it'd be kinda pointless lol
It does for me. I had up through 73074ed349cd8bd823d655921a60fc7c3180e350. I'm confused.
well should be fixed now in any case
919664807c
to69f5bad0bb
I can't reproduce crashing now.