• 2

    posted a message on Just Another Spawner (JAS) v0.14

    Any preference in what the updated version would be preferred by the community? 1.11/1.10/ or older. it looks like there is a recommended build for Forge 1.11 already.


    To manage expectations a bit. I can't promise anything; or the quality of bugs if I did do it.

    Posted in: Minecraft Mods
  • 0

    posted a message on Just Another Spawner (JAS) v0.14
    Quote from apoet001»

    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?


    Not 0,0 unless that happens to be the server spawnpoint (not the player specific spawn).
    Posted in: Minecraft Mods
  • 1

    posted a message on Just Another Spawner (JAS) v0.14
    Quote from Crudedragos»

    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).
    Posted in: Minecraft Mods
  • 0

    posted a message on Just Another Spawner (JAS) v0.14
    Quote from CosmicDan»



    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.

    setupDecompWorkspace = Provides FML/Forge/MC Source
    SetupDevWorkspace doesn't
    Posted in: Minecraft Mods
  • 1

    posted a message on Just Another Spawner (JAS) v0.14
    Quote from CosmicDan»

    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.


    Quote from CosmicDan»

    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).


    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)

    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.


    Edit 4: How about a before and after image http://imgur.com/a/MuCKP

    Posted in: Minecraft Mods
  • 0

    posted a message on Just Another Spawner (JAS) v0.14
    Quote from LunariusH»

    Is there any chance we'll be seeing AFF able to be applied to non-PZ mobs?


    AFF?
    Posted in: Minecraft Mods
  • 0

    posted a message on Just Another Spawner (JAS) v0.14
    Quote from rogerwsands»

    I saw something about a calendar api, would like to know more.



    Feature request atm, not implemented yet. https://github.com/ProjectZulu/JustAnotherSpawner/issues/153

    Quote from rogerwsands»

    Is it possible to make it rain/snow in one biome only ?


    I know there are mods for hunger, not sure if JAS gives access to any of those possibilities so as to make a person say, run out faster in the desert. ?



    Not via JAS.

    Posted in: Minecraft Mods
  • 0

    posted a message on Just Another Spawner (JAS) v0.14
    Quote from rogerwsands»

    or until someone tells me to stop.



    Definitely don't stop, haven't read it all, but looks good.

    Quote from Zothen»

    I actually do :)

    In my point of view, it doesnt make sense to let util.Material() throw an exception if it encounters an unknown material type, since it only returns a string for comparison, not a value that needs further computing. So my quick and dirty fix was to just return 'unknown' as a string.



    Agreed, changed in .17.7 that's up on Curse. It'll now use the class name of the material for unknown materials.

    Quote from Zothen»

    By the way, can you confirm that tags like "block" / "obj.PlayerInRange()" or any other function with a range modifier can cause considerable lag if the area searched is more than just a few blocks? For example, I tried searching for a block in a 16 block radius before a monster is permitted to spawn and that caused all entities to move stalled. After I removed that tag, everything was normal again.



    Block scales with the volume of area being searched (each block must be checked). i.e. searching a 2x2x2=8 checks, 3x3x3=27 checks, 4x4x4, 64 checks. Increasingly larger areas lead to significantly increasing resource requirements. Also, larger areas are likely to check blocks outside the set of currently loaded chunks requiring minecraft to load them from memory.

    PlayerInRange scales with number of players in the current dimension. Range doesn't matter.

    Quote from Zothen»

    [solidside tag ... glass, leaves, and stairs]


    Tag seems to be working for me.

    Some additional notes on how solidSide works. This is set by the block itself. Default properties in all blocks until overrides:

    A block side is solid if:
    	BlockSlab: All sides if DoubleSlab OR TopSide if Upside Down slab (top half of voxel occupied)
    	BlockFarmLand: The top and bottom are not solid
    	BlockStairs: If flipped, upside is always solid. East/West/North/South are solid if the solid side of the stair is on that side of the voxel. Otherwise not solid.		
    	BlockSnow: All sides if the block is a full Snow Block, otherwise none
    	BlockHopper: Always Side Up is solid, otherwise see isNormalCube below.
    	BlockCompressedPowered: All sides solid
    	
    	Otherwise it is a call to isNormalCube which by default means(material IS Opaque*) && (renderAsNormal**) && (does NOT provide power***)
    
    	* Obviously can be set by material. Generally though, False if translucent, is True if NOT Translucent & material blocks movement (So if you cannot see through it and it blocks movements, note TNT is considered translucent and thus not Normal)
    	**renderAsNormal=If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
    	***Can this block provide power. Only wire currently seems to have this change based on its state.
    Posted in: Minecraft Mods
  • 0

    posted a message on Just Another Spawner (JAS) v0.14
    Quote from Zothen»


    Really appreciate your help, mate.

    I tried entering a custom key and after that I got an error about the changelog.md file missing, after that changelog_most_recent.md. Not having Python installed, just copied the changelogs from the original 0.17.6 version and let Gradle do its magic. Something was build, but in the build folder I had to collect all the files and rearrange them in their proper locations so they match the original folder structure. I was expecting that Gradle is building a ready to use jar mod file, but I couldnt find it. So when I put the rebuilt and zipped project in the mod folder, Minecraft crashes.

    The reason I went through all this efforts is that the function util.material() is crashing Minecraft when it checks a block of unknown material, e.g. the mod block redstone paste. I thought I could simply change the source file to


    else {

    return "Unknown";

    }



    and do a quick recompile. Well, most likely I did some noob mistake and it crashed Minecraft too. :(


    Do you have the original crash report for the material tag crashing?
    Posted in: Minecraft Mods
  • 1

    posted a message on Just Another Spawner (JAS) v0.14
    Quote from Zothen»

    How about adding a tag that checks if there is any block at a specific location, like



    boolean hasblock({0,0,0},{0,0,0})



    or can I omit the block id for the existing block tag?



    No, there are no empty blocks in the world, Air is a block as well.



    Quote from Zothen»

    Would you mind checking if the "solidside" tag is working properly? It does not work for slabs, glass or leaves, but at least slabs do have at least 1 solid side, dont they? In my understanding even glass blocks got 6 solid sides.



    I will eventually, I'll try to squeeze it in this weekend.



    Quote from Zothen»

    Another thing that is confusing me is the "Spawn Operand":


    Referring to the documentation, using "OR" for an Entity Handler is overriding standard/vanilla behavior, but is NOT overriding the CreatureType spawn tags.


    On the other hand, using "OR" for a SpawnListEntry overrides both CreatureType and EntityHandler spawn tags.


    So how can I both override standard behavior and for some single mobs override the CreatureType behavior without having to use a SpawnListEntry operand for every biome?



    Using "OR" for a SpawnListEntry only overrides the EntityHandler spawn tags. The creaturetype check is done much earlier in the spawn loop before the SLE and LH have even been identified.



    Quote from Zothen»

    Anyone knows how to rebuild the JAS source from GitHub? When I try "gradlew build" I get the following error:

    * What went wrong:
    A problem occurred evaluating root project 'JustAnotherSpawner-master'.
    > Could not find property 'curseForgeApiKey' on root project 'JustAnotherSpawner
    -master'.




    Haven't done that in a year, but thje key is storred in a file 'gradle.properties' with simply curseForgeApiKey=SOMETHING_THAT_IS_NOT_THE_ACTUALLY_KEY in it. So create a gradle.properties file with curseForgeApiKey=SOMETHING_THAT_IS_NOT_THE_ACTUALLY_KEY and it should work (obviously you cannot upload to Curse).

    Posted in: Minecraft Mods
  • 0

    posted a message on Just Another Spawner (JAS) v0.14
    Quote from Zothen»



    (wrld.materialAt(posX,posY+2,posZ)=='air') is not returning true for an empty air block either. Help! ;)




    Literally running out the door, sorry for short response.

    util.material(wrld.materialAt(posX,posY+2,posZ))=='air'
    or
    util.material(wrld.materialAt(posX,posY+2,posZ)).equals('air') EDIT nvm = is good.
    https://en.m.wikisource.org/wiki/MVEL_Language_Guide
    I'm not sure if MVEl has the same restriction on string comparisons as JAVA (which prefers equals) Source: http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java

    Posted in: Minecraft Mods
  • 1

    posted a message on Just Another Spawner (JAS) v0.14
    Quote from Zothen»

    Could someone explain the "solidside" tag to me? Especially which number represents which side on a cube.


    Because with the default creaturetype tag :


    "Spawn Tag": "obj.difficulty()==0||!solidside(1,{0,0,0},{0,-1,0})||liquid({0,0,0},{0,0,0})||normal({0,0,0},{0,0,0})||normal({0,0,0},{0,1,0})||!opaque({0,0,0},{0,-1,0})"


    ...Monsters are allowed to spawn on slabs if there is a block beneath them. Well, needless to say I don't want that to happen and now I would like to find a tag that checks for slabs.


    0 = DOWN
    1 = UP
    2 = NORTH
    3 = SOUTH
    4 = WEST
    5 = EAST
    Posted in: Minecraft Mods
  • 0

    posted a message on Just Another Spawner (JAS) v0.14

    I like that it is source available and has an api.


    My only concern is how widely used is the mod, and how long has it existed - how likely is it to continue to be updated.


    I wouldn't want to add support and features only to have to remove them later.

    Posted in: Minecraft Mods
  • 0

    posted a message on Just Another Spawner (JAS) v0.14
    Quote from CaerMaster»

    CrudeDragos,

    One quick question that I hope I can ask without offending. I am explicitly NOT asking for an update date here, but I would like to ask, if permitted: Do you have any plan to release JAS for Minecraft 1.8, or do you, like many other modders, plan to skip 1.8 altogether and wait for 1.9?


    It wasn't my intent to skip 1.8, but I've just been too busy to update with what little time I've had spent on bug-fixes and minor feature additions. Depending on when I find time and the state of 1.9 and the mod community will influence whether I skip 1.8 or not.
    Posted in: Minecraft Mods
  • 0

    posted a message on Just Another Spawner (JAS) v0.14
    Quote from lipix»

    For some reason anything I added to the blacklist was reverted.

    What are you changing? The blacklist lists all biomes so you cannot add more biomes to the list; they do not exist.
    Posted in: Minecraft Mods
  • To post a comment, please or register a new account.