I am pretty sure the definition is in the right place, I'm just not sure how to use it. I did try specifying ANIMALSFARM (is that "A|" a typo? I don't know what that means) but JAS would delete them once I reload.
I've also found an issue with obj.torchlight; it only seems to respect vanilla torches. I have had vanilla horses spawn inside a little farm that was completely lit with Lantern from Gany's Surface, and I've had some MoCreatures animals do the same. It's rare, but it does happen. I assume it's JAS wrongly spawning, anyway...
A| <-- no typo, it is what tells JAS you are using an "attribute" group not individual http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1288431-just-another-spawner-jas-v0-14?comment=2529
That post shows ANVIL PUNCHER using an attribute group of biomes but it shows how he uses the A|
in your case you would want to put it in one of the CFG files in the SLE folder. I don't know if it matters which one since it embodies a group of mobs, the entire group will be applied.
the only issue may be the CFG where the original mob is listed, you may need to zero those weights so you don't get dbl spawning...
Once you are in a biome and JAS reads the biome and processes weights, then chooses your group, it will not care what another CFG says, it will process the one as listed.
as for torchlight ... e.g.
"Spawn Tag": "!lgcy.height(0,63)&&!lgcy.light(0,3)",
This reads "Spawn unless NOT height 0 to 63 and unless NOT light 0 to 3." Literally takes advantage of double negatives to say spawn between 0 and 63 and spawn in light level 0 to 3. //This is the spawn requirements of the bat, by the way, for vanilla Minecraft.
lgcy.torchlight(int minLight, int maxLight) <---this is what you need I think
obj.torchlight() <---returns light level of torch where you want to sent min and max spawn requirements or despawn requirements.
A| <-- no typo, it is what tells JAS you are using an "attribute" group not individual http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1288431-just-another-spawner-jas-v0-14?comment=2529
That post shows ANVIL PUNCHER using an attribute group of biomes but it shows how he uses the A|
in your case you would want to put it in one of the CFG files in the SLE folder. I don't know if it matters which one since it embodies a group of mobs, the entire group will be applied.
the only issue may be the CFG where the original mob is listed, you may need to zero those weights so you don't get dbl spawning...
Once you are in a biome and JAS reads the biome and processes weights, then chooses your group, it will not care what another CFG says, it will process the one as listed.
as for torchlight ... e.g.
"Spawn Tag": "!lgcy.height(0,63)&&!lgcy.light(0,3)",
This reads "Spawn unless NOT height 0 to 63 and unless NOT light 0 to 3." Literally takes advantage of double negatives to say spawn between 0 and 63 and spawn in light level 0 to 3. //This is the spawn requirements of the bat, by the way, for vanilla Minecraft.
lgcy.torchlight(int minLight, int maxLight) <---this is what you need I think
obj.torchlight() <---returns light level of torch where you want to sent min and max spawn requirements or despawn requirements.
more blah blah blah
Oh cool, I'll try out that attribute thing sometime - thanks!
Yeah, I'm aware of how the spawn tags work. Actually we set a few MoCreatures to "CREATURE-false" and they still rarely somehow spawn, even though "/jas canspawnhere MoCreatures.Goat" for example correctly shows that they cannot spawn.
I made a thing in my own mod which records the original spawn position of an entity and I can get this spawn info value with an item, and something is still spawning creatures randomly where they shouldn't be (i.e. jas canspawnhere does not pass). I'm not sure what the problem is - we have tried both the "empty spawn list" as well as the "disable spawning gamerule" options, but entities from various mods - including vanilla itself - are still rarely spawned. It might only happen when a player freshly logs-in after a server restart, or if an unloaded chunk is re-loaded (not generated) though.
It's really baffling us, there's no single mod that could be causing this - it's definitely an issue with the vanilla spawning not being properly blocked or a bug in JAS itself. We've tried to figure it out for weeks, but I give up. I'm just going to code my own thing that blocks entity spawning if torchlight is greater than a certain value. If it STILL has a problem after that, then it must be some kind of race condition with a chunk loading and the block light not being updated/applied before the game has an opportunity to spawn something.
Yeah, something is really wrong with JAS. I've done extensive debugging and for some reason it decides to spawn things wherever it wants, and it completely bypasses the conventional CheckSpawn event (I did this by logging every single spawn event and recording their UUID, then comparing their UUID's to entities also caught in the EntityJoinWorldEvent - the same specific entity is SOMETIMES firing the CheckSpawn event, but other times not - and in both cases, stacktraces show that JAS is spawning both).
I guess it's time I dive into the code and try and figure it out. Good fun, as always...
EDIT: Ok, I THINK I solved it by adding an air block check to each of my creature types (after several minutes, not a single spawn, whereas before I would get several within seconds)...
...||block({'air'},{0,1,0},{0,-1,0})
For some reason a range of 0,0,0 wasn't good enough - any entity could still sometimes spawn above ground in the air where the block light was less than what I was allowing.
No idea why the solid and opaque checks weren't good enough. Maybe adding 1 to the range like I did with air would solve it too? I dunno, not really in the mood to experiment anymore.
I've done extensive debugging and for some reason it decides to spawn things wherever it wants, and it completely bypasses the conventional CheckSpawn event (I did this by logging every single spawn event and recording their UUID, then comparing their UUID's to entities also caught in the EntityJoinWorldEvent - the same specific entity is SOMETIMES firing the CheckSpawn event, but other times not - and in both cases, stacktraces show that JAS is spawning both).
Are you suing event spawns? They bypass the checkspawn event. Passive and Chunk spawns always call it.
EDIT: Ok, I THINK I solved it by adding an air block check to each of my creature types (after several minutes, not a single spawn, whereas before I would get several within seconds)...
...||block({'air'},{0,1,0},{0,-1,0})
For some reason a range of 0,0,0 wasn't good enough - any entity could still sometimes spawn above ground in the air where the block light was less than what I was allowing.
No idea why the solid and opaque checks weren't good enough. Maybe adding 1 to the range like I did with air would solve it too? I dunno, not really in the mood to experiment anymore.
I'd be interested if this allows the entity to spawn anywhere; it seems really restrictive.
I'd be interested in what condition your trying to test. Is it like a monster spawning in light? Could be how the light level is stored at certain block levels.
Edit:
Just looked at the wiki. Props to everyone who worked on it, fantastic job.
Edit 2: Doing tests, but I have an idea, though IIRC it was changed previously due to some other issue that arose (I'm gonna dig through history to see if it jogs my memory).
Note how (for reference, this is the same as in the vanilla loop)
Exit loop if EntityType spawn rules cannot spawn at position
is done prioir to:
For iterationsPerChunk
Select position randomly near Start Position
Thus the block evaluated by livingtype (which includes solidside, etc) does not necessary evaluate at the same location as the entity spawns (or where livinghandler or livingspawnentry for that matter).
Like I said, I see no reason not to change this to be the same spot. But I'm reasonable sure this had some kind of consequence last time I did it.
Edit 3: I"ll note the deviation is quite large. 6 blocks in either horizontal direction and +-1 vertically. Like many things in vanilla, this is not noticed in practice due to how fast the monster cap fills. You'd come across a zombie once in a blue moon in your home/farm and think it was a weird bug.
I'd be interested if this allows the entity to spawn anywhere; it seems really restrictive.
I'd be interested in what condition your trying to test. Is it like a monster spawning in light? Could be how the light level is stored at certain block levels.
We have no trouble filling the MONSTER cap. They're spawning really well still. In fact I just lowered the cap because they were spawning too well xD
Note how (for reference, this is the same as in the vanilla loop)
Exit loop if EntityType spawn rules cannot spawn at position
is done prioir to:
For iterationsPerChunk
Select position randomly near Start Position
Thus the block evaluated by livingtype (which includes solidside, etc) does not necessary evaluate at the same location as the entity spawns (or where livinghandler or livingspawnentry for that matter).
Like I said, I see no reason not to change this to be the same spot. But I'm reasonable sure this had some kind of consequence last time I did it.
Edit 3: I"ll note the deviation is quite large. 6 blocks in either horizontal direction and +-1 vertically. Like many things in vanilla, this is not noticed in practice due to how fast the monster cap fills. You'd come across a zombie once in a blue moon in your home/farm and think it was a weird bug.
This. I can't believe we haven't noticed this sooner. Before the air check was added, we were seeing spawns instantly. We'd put the game into peaceful, take it out of peaceful and observe one drop from the sky pretty much straight away. Your before and after pictures seem to show you've got it right.
I"ll note the deviation is quite large. 6 blocks in either horizontal direction and +-1 vertically.
Oh really? This is something inherent in vanilla, whenever any entity is spawned? Is it possible for you to turn that off or is it done as part of the base game spawn logic? Maybe I could write a coremod to disable this behavior (if I could find where exactly in the base code this happens) but I assume this is needed for the cluster-spawning stuff. Hmm....
EDIT: Found it. Working with .1614 for Forge 1.7.10 (line numbers may be different for other Forge versions), in class net.minecraft.world.SpawnerAnimals, we have this @ line 131:
..where b1 is defined literally as 6, so yeah it's just as you said. This random "fuzz", however, is called much earlier than the CheckSpawn event is fired on the ForgeEventFactory (you can see it down on line 174).
In other words, Forge is already calling CheckSpawn for each individual entity inside the pack - Not once on the pack itself. We were encountering this issue for solitary creatures anyway - never for pack spawns. So this problem is definitely not a case of some pack members spawning on the edge outside of a valid position.
Dulciphi already linked me to the issue, so I'm glad you found it. Until then, the change I made does seem to be a valid work-around for the moment.
Sorry to pull you away from real-life commitments - thanks for confirming the issue though. Very strange that nobody has encountered this issue before me!
Oh really? This is something inherent in vanilla, whenever any entity is spawned? Is it possible for you to turn that off or is it done as part of the base game spawn logic? Maybe I could write a coremod to disable this behavior (if I could find where exactly in the base code this happens) but I assume this is needed for the cluster-spawning stuff. Hmm....
Very easily; its just one of those things that are copied over from vanilla. Until reason comes to change it, like the above, its best to keep everything the same. It reduces the delta in installing the mod.
Anyway I uploaded the change to Curseforge. If it doesn't work let me know, the tool chain didn't report any errors but YMMV as I haven't done it in a couple awhile.
Version 0.17.8 uploaded to CurseForge.
##########################
Changelog version 0.17.8
##########################
* 2017-02-12: Revision++
|
* 2017-02-12: Add additional CreatureType check to each entity specific loop.
|
| Should close #164 and close 159
|
* 2017-02-12: Add Nearbyblock spawning option under JAS Log; defaults to disabled.
|
| Add the blocks in a 3x3 grid centered on the spawn block. First block is origin, then above, then below. Coordinates are relative to spawn locatino.
|
* 2017-02-12: Add default formatter to Dev directory; not quite right but close.
|
* 2017-02-12: Update setup.
Sorry to pull you away from real-life commitments - thanks for confirming the issue though. Very strange that nobody has encountered this issue before me!
Sad to say but I'm pretty sure they have; its just never clicked for me. Most obvious to me are complaints of Squid spawns, I've seen complaints for bother vanilla and JAS; people have always reported Squid spawning near random bodies of water but dying on land. Its a combination of it never being a big enough issue with it being difficult to reproduce, and common in vanilla.
This would explain it exactly, kind of neet to finally solve it. Thanks to @Dulciphi for pinging me.
As an aside, is it just me or is the community stuck on 1.7.10? I googled all the big mods at the time and I don't think any of them updated (if they are even still being updated).
Sad to say but I'm pretty sure they have; its just never clicked for me. Most obvious to me are complaints of Squid spawns, I've seen complaints for bother vanilla and JAS; people have always reported Squid spawning near random bodies of water but dying on land. Its a combination of it never being a big enough issue with it being difficult to reproduce, and common in vanilla.
This would explain it exactly, kind of neet to finally solve it. Thanks to @Dulciphi for pinging me.
As an aside, is it just me or is the community stuck on 1.7.10? I googled all the big mods at the time and I don't think any of them updated (if they are even still being updated).
My workaround only helps partially btw, I just had a Turkey spawn in light level 7 at level 65 - one block off the ground
I edited my post btw, there's no need to disable the cluster spawn fuzz.
We'll try this new version right away, thanks!
A large part of the community is stuck, yeah. Everyone is still working on updating, there have been a lot of changes since 1.7.10. Some of the new tech mods e.g. Immersive Engineering have already moved on, but the older mod(ders) are taking a bit longer.
A lot of modders are actually pretty annoyed with Lex and Forge in general. I've heard a lot of complaints about Lex's lack of logic in many changes, some claiming that he's a bad Java/OO developer in general lol.
A new mod API sure would be nice, something with a bit more transparency and co-operation. I was looking forward to M3L, but it's on indefinite hiatus sadly and can't do much more than add basic blocks in it's current state... maybe one day I will try and contribute to it (and Enigma, the associated decompiler)... both are based on much newer technology than Forge and MCP.
I've heard some negative feedback about the dual-wielding and increasing performance demands of later MC versions. Personally, though, I've stayed with 1.7.10 due to the specific needs of the pack that CosmicDan and I have built. I just can't move on without Rotarycraft (or a comparable engineering simulator).
I don't want to start talking about education in a forum where players might be reading (learning? Learning sux!), but the underlying theme of the pack is real-world, practical, fact-based learning.
To sum it up in a catchy buzz-word, I'm going for a concept I call "subversive learning". Reika's mods (Rotarycraft, Reactorcraft, Electricraft) are ideal for that, but so are many of the other mods in the pack, including AncientWarcraft2 and others that CosmicDan's done a ton of work on. (No Botania. lol). No free cobble gen. I do have Thaumcraft but that's for the lore I've made for the 'adult' version of the pack.
I had incredibly high hopes for Minecraft's Educational Edition but it's an utter flop, as far as I'm concerned. There simply is no substitute for the control afforded by JAS, Custom NPCs, AW2, Reika's mods, Minechem, etc.
PS. I've longed for the brewing system from Project Zulu, too (I'd love to add my herbs to that)... and the PZ custom aggro features (I always loved that) but there were a few changes made in PZ that made it very heavy the last time I used it. I may get around to putting it back in - especially now that the project's moving forward again with the mob spawns fixed
Sad to say but I'm pretty sure they have; its just never clicked for me. Most obvious to me are complaints of Squid spawns, I've seen complaints for bother vanilla and JAS; people have always reported Squid spawning near random bodies of water but dying on land. Its a combination of it never being a big enough issue with it being difficult to reproduce, and common in vanilla.
When I've seen errant dead-on-the-ground squid spawns with JAS, it's been that they spawned in a very small pond with an outflow and immediately got washed out of it onto dry land. Minecraft and its propensity for doing weird things with drops being what they are, this often led to clusters of squid ink sacs floating at ground level with no squid or water in sight ... but dig down a few blocks and sure enough, there'd be flowing water in a 1x1 passage.
As an aside, is it just me or is the community stuck on 1.7.10? I googled all the big mods at the time and I don't think any of them updated (if they are even still being updated).
Thaumcraft and Project Red are in process of updating to 1.10.2. Mo'Creatures has already updated, along with CMS, which is still ... unsatisfactory compared to JAS. BaseMetals, Bibliocraft, Biomes o'Plenty, most of Chickenbones' stuff, Mekanism, Mineralogy, Realistic Terrain Generation have all updated. And a host of the lesser stuff — LittleMaidMob, WAILA, Malisis Doors, JourneyMap, Iron Chests, Inventory Tweaks, Levels, OreSpawn, Better Foliage, Sophisticated Wolves...
I don't want to start talking about education in a forum where players might be reading (learning? Learning sux!), but the underlying theme of the pack is real-world, practical, fact-based learning.
To sum it up in a catchy buzz-word, I'm going for a concept I call "subversive learning". Reika's mods (Rotarycraft, Reactorcraft, Electricraft) are ideal for that, but so are many of the other mods in the pack, including AncientWarcraft2 and others that CosmicDan's done a ton of work on. (No Botania. lol).
Did you know that ProjectRed supports VLSI?
I agree with you about Botania. It's just ... NOPE. NOPE. Not on my server.
Did you know that ProjectRed supports VLSI?
I agree with you about Botania. It's just ... NOPE. NOPE. Not on my server.
See, that's what I'm talking about. We have Project Red ..and Open Computers ..and a launcher that can select "optional" mods ..and dreams of making SOC devices with virtualized GPU servers for deployment to schools in developing nations/regions.. This is what Microsoft *should* be doing.
Edit- Stellar Sky has updated too, but I'm still using the 1.7.10 version. My dream for that is to have it integrate with Climate Control/Geographicraft so that player's latitude (and thus their clientside celestial declination) corresponds to player's serverside (Z axis or North South) movement. Ie. players could travel from the equator to the pole, observing celestial objects from different latitudes, thus getting a prac in spherical trig, navigation, astronomy...
All we can really do until then is link celestial observations (using Photoptics) to the achievement of getting a calibrated GPS device (Xaero's {customized} minimap only displays when player has the GPS device in their hotbar).
The Meaning of Life, the Universe, and Everything.
Location:
San Diego
Join Date:
10/3/2014
Posts:
55
Minecraft:
chuckhannah
Xbox:
rogermatic
Member Details
So whom will be taking up the JAS helm ? I still want that calendar API pitchbright has to work in JAS....
I can't possibly play any other version of minecraft until JAS is there anyway, although I don't see any reason to do so actually.
All the 1.7.10 mods do everything 1.11.2 does already and then some....So, why do they keep putting out new versions other than to take what mods already do an use at their own?
Nice to see CD is able to come out and play once and a while at least....
I have a question to make about JAS, if I would like to set the spawn of an entity withing a range of 3 blocks of a water source (or a forge fluid-registered-liquid), which tag should I use? could also I use this tag on entity handler files directly? or it would work only if defined in CreatureType.cfg?
EDIT: I tryed to add this parameter on Spawn Tags in order to accomplish the spawn of the entity at 2 blocks from a water source:
....obj.light<0) || !block({'terrafirmacraft:FreshWaterStationary'},{2,0,2},{0,0,0)",
maybe the values are wrong? because it seems doesn't have any restriction on the spawn :l
Hey, I love that Crudedragos got JAS working in Terrafirmacraft
For your particular use case, are you wanting to spawn an entity on a solid block, but nearby water (ie 2 blocks away)? I took it that's what you were wanting to do, so I started testing with this.
!liquid({3,2,3},{3,-1,3})
- the first set of numbers {3,2,3} is telling JAS to look for a range of 3 blocks in the x,z axis and a range of 2 blocks in the y axis.
- the second set of numbers {3,-1,3} is the offset **because you want your entity to spawn on a solid block**. This lets the croc be on a patch of solid blocks big enough for his bounding box, but it takes into account that the liquid blocks aren't on the same y level as the blocks the croc will spawn on.
I haven't seen any crocodiles spawn yet, but performing a /jas canspawnhere command informs me that Crocodile can indeed spawn. Type the following into the game's chatbox to see if crocodile can spawn at your location
Anyone know what "Origin" means in JAS's distance from origin tag, is it always 0x,0z? or is it the worlds current set spawnpoint? So if I move the spawn point, does that move the origin. Or is it always 0,0?
Wow that worked out excellently! thanks you Dulciphi
Good to hear it. They do need enough room for their hitbox, but an important issue would be that the block of water is one block below their spawn location on the y axis.
Make sure you've turned off MoCreatures' spawning in MoCreatures' own config file. MoCreatures is still able to spawn mobs even though JAS tells the Vanilla game to spawn nothing. So we have to find the MoCreatures config file inside config/MoCreatures/MoCreatures.cfg. Open that file up and ensure that all the "canspawn" settings there are set to "False".
Eg.
# Configuration file
####################
# ant
####################
ant {
B:canspawn=false
I:frequency=0
I:maxchunk=0
I:maxspawn=0
I:minspawn=0
}
Anyway, this seems could be even useful for (exampe) if I add ||!block({'terrafirmacraft:block.Log:*'},{3,0,3},{1,-1,1})", in order to make a creature to spawn within a tree (3 blocks range), right?
It definitely is helpful with that. You can spawn mobs under trees, or ensure mobs don't spawn under trees, depending on whether you use the "!" invert symbol.
Also, I tryed to manage an annoyng MoCreatures medium fish that spawn on salt water in the ocean biome (only near the beach) when they should not (after my config) spawn in salt water at all.
Since I would like to prevent their spawn based on the block/liquid they appear in I skipped the !biome part and focussed on this tag:
"InstantDespawn Tags": "!liquid({'terrafirmacraft:SaltWaterStationary'},{0,0,0},{0,0,0})",
I even tryed:
"InstantDespawn Tags": "!block({'terrafirmacraft:SaltWaterStationary'},{0,0,0},{0,0,0})",
and even added (idk why xD) this in the end: ||solidside(1,{0,2,0},{0,-2,0})
but those medium fishes still swim quietly on salt water actually >_>
A couple of things. Firstly, with InstantDespawn tags, they will only work if the entity is already valid for to be despawned. It just forces the despawn event to happen instantly, rather than any time within the limit set in WorldGlobalProperties.cfg (found in config\JustAnotherSpawner\WorldSettings\BASIC\DEFAULT).
For your medium fish, would it be easier to prevent it spawning in saltwater in the first place?
"Spawn Tag": "block({'terrafirmacraft:SaltWaterStationary'},{0,0,0},{0,0,0})",
You could try to give them despawn tags as well, so they become eligible to despawn if they swim into salt water, but that will have the (possibly unwanted) effect of stopping any medium fish in freshwater from despawning. That's because the despawn tags:
"Despawn Tags"
: "!block({'terrafirmacraft:SaltWaterStationary'},{0,0,0},{0,0,0})",
..tells JAS to despawn medium fish unless they're not in a block of saltwater. In other words, it says don't despawn unless it's in saltwater.
Stick with the spawn tags. Ie. Spawn unless you're in saltwater.
The reason why I don't want to mess with despawning relates to your next question about insects.
I noticed that for example, with a "Spawn Cap" of 50 insects when I use /jas killall the command kills around 150~280 insects, lol
Are they breeding? I haven't spent much time in Terrafirmacraft myself, but I do use Harder Wildlife ..and it makes mobs breed. I had to use an entity range check to ensure that mobs stayed under control.
Fortunatly MoCreatures mobs can't spawn in tfc cause of Y levels (tfc has the sea level at y144), by the way I disabled all in MoCreatures.cfg with no results, but I managed to solve the medium-fish issue thanks to you again, my syntax was wrong or I did some mistake anyway.
I completaly agree about prevent them to spawn in first place rather than acting on de-spawn later, but I was a bit silly and didn't the correct tags in the correct manner
I still have to figure out about the tree thing, the only "hard" part is to find the correct id name of the block, I guess is the first one of this list http://wiki.terrafirmacraft.com/Log
terrafirmacraft:log
isn't it?
EDIT: nooope, it isn't °-°
or I did something wrong with the syntax again; ||!block{'terrafirmacraft:log'},({3,3,3},{3,-1,3})
._.
I also tryed to accomplish a last thing, since I noticed that with MoCreatures you can choose the NBT to spawn a mob that has a certain aspect, seems that I've managed to spawn the fox on the orange fur only with this
"PostSpawn Tags": "writenbt({'TypeInt/1/1'})",
is that correct? I didn't tested for too long so maybe I was just lucky to get the orange one twice.. isn't somewhere a list of the possible Integer types of MoCreatures to look at?
For getting a dump of block ID's, one of the first things I do is install NEI Integration. It has tools to make block dumps. It outputs a text file to the /dumps folder.
Just looking at your tag there, I'm worried about the Y levels. For the above ({3,3,3},{3,-1,3}), the first 3 numbers and the last 3 offset numbers are each {x,y,z} axis. It doesn't make sense to me to have the Y axis offset by -1. That's looking 1 block below the spawn location, and if trees don't have roots, that tag will return "false".
Try ({1,0,1},{2,0,2}). or just ({3,0,3},{0,0,0}) I'm assuming you want the entity to ONLY spawn under trees, right? I ask because I've used a similar check to stop mobs from spawning under and in Redwoods and SacredOaks, etc.
As for the NBT, it's all included in my MoCreatures EntityHandlers config here. I'm actually not actually calling any of those postspawn tags in SpawnlistEntries because Reign has seasons (thanks to HarderWildlife). I noticed that the correct version of the entity will spawn depending on what time of year it is already. So, on the plains biome, the foxes are orange in Spring and Summer, but as soon as snow falls, the foxes spawn white. Then they spawn orange again after the thaw. It's there if I need it, but I haven't had need for it yet.
A| <-- no typo, it is what tells JAS you are using an "attribute" group not individual
http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1288431-just-another-spawner-jas-v0-14?comment=2529
That post shows ANVIL PUNCHER using an attribute group of biomes but it shows how he uses the A|
in your case you would want to put it in one of the CFG files in the SLE folder. I don't know if it matters which one since it embodies a group of mobs, the entire group will be applied.
the only issue may be the CFG where the original mob is listed, you may need to zero those weights so you don't get dbl spawning...
Once you are in a biome and JAS reads the biome and processes weights, then chooses your group, it will not care what another CFG says, it will process the one as listed.
as for torchlight ... e.g.
"Spawn Tag": "!lgcy.height(0,63)&&!lgcy.light(0,3)",
This reads "Spawn unless NOT height 0 to 63 and unless NOT light 0 to 3." Literally takes advantage of double negatives to say spawn between 0 and 63 and spawn in light level 0 to 3. //This is the spawn requirements of the bat, by the way, for vanilla Minecraft.
lgcy.torchlight(int minLight, int maxLight) <---this is what you need I think
obj.torchlight() <---returns light level of torch where you want to sent min and max spawn requirements or despawn requirements.
more blah blah blah
what were we talking about ?
Oh cool, I'll try out that attribute thing sometime - thanks!
Yeah, I'm aware of how the spawn tags work. Actually we set a few MoCreatures to "CREATURE-false" and they still rarely somehow spawn, even though "/jas canspawnhere MoCreatures.Goat" for example correctly shows that they cannot spawn.
I made a thing in my own mod which records the original spawn position of an entity and I can get this spawn info value with an item, and something is still spawning creatures randomly where they shouldn't be (i.e. jas canspawnhere does not pass). I'm not sure what the problem is - we have tried both the "empty spawn list" as well as the "disable spawning gamerule" options, but entities from various mods - including vanilla itself - are still rarely spawned. It might only happen when a player freshly logs-in after a server restart, or if an unloaded chunk is re-loaded (not generated) though.
It's really baffling us, there's no single mod that could be causing this - it's definitely an issue with the vanilla spawning not being properly blocked or a bug in JAS itself. We've tried to figure it out for weeks, but I give up. I'm just going to code my own thing that blocks entity spawning if torchlight is greater than a certain value. If it STILL has a problem after that, then it must be some kind of race condition with a chunk loading and the block light not being updated/applied before the game has an opportunity to spawn something.
Yeah, something is really wrong with JAS. I've done extensive debugging and for some reason it decides to spawn things wherever it wants, and it completely bypasses the conventional CheckSpawn event (I did this by logging every single spawn event and recording their UUID, then comparing their UUID's to entities also caught in the EntityJoinWorldEvent - the same specific entity is SOMETIMES firing the CheckSpawn event, but other times not - and in both cases, stacktraces show that JAS is spawning both).
I guess it's time I dive into the code and try and figure it out. Good fun, as always...
EDIT: Ok, I THINK I solved it by adding an air block check to each of my creature types (after several minutes, not a single spawn, whereas before I would get several within seconds)...
For some reason a range of 0,0,0 wasn't good enough - any entity could still sometimes spawn above ground in the air where the block light was less than what I was allowing.
No idea why the solid and opaque checks weren't good enough. Maybe adding 1 to the range like I did with air would solve it too? I dunno, not really in the mood to experiment anymore.
Are you suing event spawns? They bypass the checkspawn event. Passive and Chunk spawns always call it.
I'd be interested if this allows the entity to spawn anywhere; it seems really restrictive.
I'd be interested in what condition your trying to test. Is it like a monster spawning in light? Could be how the light level is stored at certain block levels.
Edit:
Just looked at the wiki. Props to everyone who worked on it, fantastic job.
Edit 2: Doing tests, but I have an idea, though IIRC it was changed previously due to some other issue that arose (I'm gonna dig through history to see if it jogs my memory).
If you look at the spawn loop (either human readable or code)
Note how (for reference, this is the same as in the vanilla loop)
is done prioir to:
Thus the block evaluated by livingtype (which includes solidside, etc) does not necessary evaluate at the same location as the entity spawns (or where livinghandler or livingspawnentry for that matter).
Like I said, I see no reason not to change this to be the same spot. But I'm reasonable sure this had some kind of consequence last time I did it.
Edit 3: I"ll note the deviation is quite large. 6 blocks in either horizontal direction and +-1 vertically. Like many things in vanilla, this is not noticed in practice due to how fast the monster cap fills. You'd come across a zombie once in a blue moon in your home/farm and think it was a weird bug.
Edit 4: How about a before and after image http://imgur.com/a/MuCKP
No, no event spawns yet. This is all observed with passive spawning.
We have no trouble filling the MONSTER cap. They're spawning really well still. In fact I just lowered the cap because they were spawning too well xD
This. I can't believe we haven't noticed this sooner. Before the air check was added, we were seeing spawns instantly. We'd put the game into peaceful, take it out of peaceful and observe one drop from the sky pretty much straight away. Your before and after pictures seem to show you've got it right.
Oh really? This is something inherent in vanilla, whenever any entity is spawned? Is it possible for you to turn that off or is it done as part of the base game spawn logic? Maybe I could write a coremod to disable this behavior (if I could find where exactly in the base code this happens) but I assume this is needed for the cluster-spawning stuff. Hmm....
EDIT: Found it. Working with .1614 for Forge 1.7.10 (line numbers may be different for other Forge versions), in class net.minecraft.world.SpawnerAnimals, we have this @ line 131:
..where b1 is defined literally as 6, so yeah it's just as you said. This random "fuzz", however, is called much earlier than the CheckSpawn event is fired on the ForgeEventFactory (you can see it down on line 174).
In other words, Forge is already calling CheckSpawn for each individual entity inside the pack - Not once on the pack itself. We were encountering this issue for solitary creatures anyway - never for pack spawns. So this problem is definitely not a case of some pack members spawning on the edge outside of a valid position.
Dulciphi already linked me to the issue, so I'm glad you found it. Until then, the change I made does seem to be a valid work-around for the moment.
Sorry to pull you away from real-life commitments - thanks for confirming the issue though. Very strange that nobody has encountered this issue before me!
Very easily; its just one of those things that are copied over from vanilla. Until reason comes to change it, like the above, its best to keep everything the same. It reduces the delta in installing the mod.
Anyway I uploaded the change to Curseforge. If it doesn't work let me know, the tool chain didn't report any errors but YMMV as I haven't done it in a couple awhile.
Version 0.17.8 uploaded to CurseForge.
##########################
Changelog version 0.17.8
##########################
* 2017-02-12: Revision++
|
* 2017-02-12: Add additional CreatureType check to each entity specific loop.
|
| Should close #164 and close 159
|
* 2017-02-12: Add Nearbyblock spawning option under JAS Log; defaults to disabled.
|
| Add the blocks in a 3x3 grid centered on the spawn block. First block is origin, then above, then below. Coordinates are relative to spawn locatino.
|
* 2017-02-12: Add default formatter to Dev directory; not quite right but close.
|
* 2017-02-12: Update setup.
setupDecompWorkspace = Provides FML/Forge/MC Source
SetupDevWorkspace doesn't
Sad to say but I'm pretty sure they have; its just never clicked for me. Most obvious to me are complaints of Squid spawns, I've seen complaints for bother vanilla and JAS; people have always reported Squid spawning near random bodies of water but dying on land. Its a combination of it never being a big enough issue with it being difficult to reproduce, and common in vanilla.
This would explain it exactly, kind of neet to finally solve it. Thanks to @Dulciphi for pinging me.
As an aside, is it just me or is the community stuck on 1.7.10? I googled all the big mods at the time and I don't think any of them updated (if they are even still being updated).
My workaround only helps partially btw, I just had a Turkey spawn in light level 7 at level 65 - one block off the ground
I edited my post btw, there's no need to disable the cluster spawn fuzz.
We'll try this new version right away, thanks!
A large part of the community is stuck, yeah. Everyone is still working on updating, there have been a lot of changes since 1.7.10. Some of the new tech mods e.g. Immersive Engineering have already moved on, but the older mod(ders) are taking a bit longer.
A lot of modders are actually pretty annoyed with Lex and Forge in general. I've heard a lot of complaints about Lex's lack of logic in many changes, some claiming that he's a bad Java/OO developer in general lol.
A new mod API sure would be nice, something with a bit more transparency and co-operation. I was looking forward to M3L, but it's on indefinite hiatus sadly and can't do much more than add basic blocks in it's current state... maybe one day I will try and contribute to it (and Enigma, the associated decompiler)... both are based on much newer technology than Forge and MCP.
I've heard some negative feedback about the dual-wielding and increasing performance demands of later MC versions. Personally, though, I've stayed with 1.7.10 due to the specific needs of the pack that CosmicDan and I have built. I just can't move on without Rotarycraft (or a comparable engineering simulator).
I don't want to start talking about education in a forum where players might be reading (learning? Learning sux!), but the underlying theme of the pack is real-world, practical, fact-based learning.
To sum it up in a catchy buzz-word, I'm going for a concept I call "subversive learning". Reika's mods (Rotarycraft, Reactorcraft, Electricraft) are ideal for that, but so are many of the other mods in the pack, including AncientWarcraft2 and others that CosmicDan's done a ton of work on. (No Botania. lol). No free cobble gen. I do have Thaumcraft but that's for the lore I've made for the 'adult' version of the pack.
I had incredibly high hopes for Minecraft's Educational Edition but it's an utter flop, as far as I'm concerned. There simply is no substitute for the control afforded by JAS, Custom NPCs, AW2, Reika's mods, Minechem, etc.
PS. I've longed for the brewing system from Project Zulu, too (I'd love to add my herbs to that)... and the PZ custom aggro features (I always loved that) but there were a few changes made in PZ that made it very heavy the last time I used it. I may get around to putting it back in - especially now that the project's moving forward again with the mob spawns fixed
Thank you so much for that.
When I've seen errant dead-on-the-ground squid spawns with JAS, it's been that they spawned in a very small pond with an outflow and immediately got washed out of it onto dry land. Minecraft and its propensity for doing weird things with drops being what they are, this often led to clusters of squid ink sacs floating at ground level with no squid or water in sight ... but dig down a few blocks and sure enough, there'd be flowing water in a 1x1 passage.
Thaumcraft and Project Red are in process of updating to 1.10.2. Mo'Creatures has already updated, along with CMS, which is still ... unsatisfactory compared to JAS. BaseMetals, Bibliocraft, Biomes o'Plenty, most of Chickenbones' stuff, Mekanism, Mineralogy, Realistic Terrain Generation have all updated. And a host of the lesser stuff — LittleMaidMob, WAILA, Malisis Doors, JourneyMap, Iron Chests, Inventory Tweaks, Levels, OreSpawn, Better Foliage, Sophisticated Wolves...
Did you know that ProjectRed supports VLSI?
I agree with you about Botania. It's just ... NOPE. NOPE. Not on my server.
See, that's what I'm talking about. We have Project Red ..and Open Computers ..and a launcher that can select "optional" mods ..and dreams of making SOC devices with virtualized GPU servers for deployment to schools in developing nations/regions.. This is what Microsoft *should* be doing.
Edit- Stellar Sky has updated too, but I'm still using the 1.7.10 version. My dream for that is to have it integrate with Climate Control/Geographicraft so that player's latitude (and thus their clientside celestial declination) corresponds to player's serverside (Z axis or North South) movement. Ie. players could travel from the equator to the pole, observing celestial objects from different latitudes, thus getting a prac in spherical trig, navigation, astronomy...
All we can really do until then is link celestial observations (using Photoptics) to the achievement of getting a calibrated GPS device (Xaero's {customized} minimap only displays when player has the GPS device in their hotbar).
Well, given the mods for 1.7.10, who needs the new versions...everything it does can be done through a mod and minecraft itself hasn't evolved.
I see the changes in the new versions, changing the way the mods have to be done more of a business move to get control.
The bigger the mod the more work to rewrite the entire thing. All we really need is to completely wipe vanilla spawn engine and use JAS.
I played 1.11.2 for a week then back to 1.7.10 and I am happier now
what were we talking about ?
So whom will be taking up the JAS helm ? I still want that calendar API pitchbright has to work in JAS....
I can't possibly play any other version of minecraft until JAS is there anyway, although I don't see any reason to do so actually.
All the 1.7.10 mods do everything 1.11.2 does already and then some....So, why do they keep putting out new versions other than to take what mods already do an use at their own?
Nice to see CD is able to come out and play once and a while at least....
what were we talking about ?
I've been stuck in 1.7.10 because so many of the 'must have' mods I use are not being ported.
If you look at available mods by version, I think 1.7.10 has beyond 1200, and versions after that have like 200.
Hey, I love that Crudedragos got JAS working in Terrafirmacraft
For your particular use case, are you wanting to spawn an entity on a solid block, but nearby water (ie 2 blocks away)? I took it that's what you were wanting to do, so I started testing with this.
!liquid({3,2,3},{3,-1,3})
- the first set of numbers {3,2,3} is telling JAS to look for a range of 3 blocks in the x,z axis and a range of 2 blocks in the y axis.
- the second set of numbers {3,-1,3} is the offset **because you want your entity to spawn on a solid block**. This lets the croc be on a patch of solid blocks big enough for his bounding box, but it takes into account that the liquid blocks aren't on the same y level as the blocks the croc will spawn on.
I haven't seen any crocodiles spawn yet, but performing a /jas canspawnhere command informs me that Crocodile can indeed spawn. Type the following into the game's chatbox to see if crocodile can spawn at your location
So, I had
That tag was added to the EntityHanderls/MoCreatures.cfg file (specifically to the Crocodile entity), but it could also be added to a CreatureType.
You may have to fiddle with this to get it functioning. Please let me know how it went.
Edit: Got it
That was by tweaking the tag to:
Anyone know what "Origin" means in JAS's distance from origin tag, is it always 0x,0z? or is it the worlds current set spawnpoint? So if I move the spawn point, does that move the origin. Or is it always 0,0?
Good to hear it. They do need enough room for their hitbox, but an important issue would be that the block of water is one block below their spawn location on the y axis.
Make sure you've turned off MoCreatures' spawning in MoCreatures' own config file. MoCreatures is still able to spawn mobs even though JAS tells the Vanilla game to spawn nothing. So we have to find the MoCreatures config file inside config/MoCreatures/MoCreatures.cfg. Open that file up and ensure that all the "canspawn" settings there are set to "False".
Eg.
It definitely is helpful with that. You can spawn mobs under trees, or ensure mobs don't spawn under trees, depending on whether you use the "!" invert symbol.
A couple of things. Firstly, with InstantDespawn tags, they will only work if the entity is already valid for to be despawned. It just forces the despawn event to happen instantly, rather than any time within the limit set in WorldGlobalProperties.cfg (found in config\JustAnotherSpawner\WorldSettings\BASIC\DEFAULT).
For your medium fish, would it be easier to prevent it spawning in saltwater in the first place?
Stick with the spawn tags. Ie. Spawn unless you're in saltwater.
The reason why I don't want to mess with despawning relates to your next question about insects.
Are they breeding? I haven't spent much time in Terrafirmacraft myself, but I do use Harder Wildlife ..and it makes mobs breed. I had to use an entity range check to ensure that mobs stayed under control.
Check out the area JAS uses to count the cap and spawn in GlobalProperties.cfg (config\JustAnotherSpawner)
The default is 8 chunks, so:
"Distance (in Chunks) to perform entity spawning": 8,
"Distance (in Chunks) to perform entity counting": 8,
For getting a dump of block ID's, one of the first things I do is install NEI Integration. It has tools to make block dumps. It outputs a text file to the /dumps folder.
Just looking at your tag there, I'm worried about the Y levels. For the above ({3,3,3},{3,-1,3}), the first 3 numbers and the last 3 offset numbers are each {x,y,z} axis. It doesn't make sense to me to have the Y axis offset by -1. That's looking 1 block below the spawn location, and if trees don't have roots, that tag will return "false".
Try ({1,0,1},{2,0,2}). or just ({3,0,3},{0,0,0}) I'm assuming you want the entity to ONLY spawn under trees, right? I ask because I've used a similar check to stop mobs from spawning under and in Redwoods and SacredOaks, etc.
As for the NBT, it's all included in my MoCreatures EntityHandlers config here. I'm actually not actually calling any of those postspawn tags in SpawnlistEntries because Reign has seasons (thanks to HarderWildlife). I noticed that the correct version of the entity will spawn depending on what time of year it is already. So, on the plains biome, the foxes are orange in Spring and Summer, but as soon as snow falls, the foxes spawn white. Then they spawn orange again after the thaw. It's there if I need it, but I haven't had need for it yet.