Giter Site home page Giter Site logo

projectzulu / justanotherspawner Goto Github PK

View Code? Open in Web Editor NEW
19.0 19.0 12.0 3.36 MB

JAS is a Minecraft mod which implements a custom spawning system that function in parallel to the default one.

Shell 0.03% Java 99.37% HTML 0.59% Batchfile 0.01%

justanotherspawner's People

Contributors

crudedragos avatar

Stargazers

 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

justanotherspawner's Issues

Additional Tag: Is on Top/Fill block

Simple enough. Checks if entity is on the Top block or fill block as listed in the current biome.

Could be useful to use as above ground check. Essentially could auto implement the vanilla grass checks, but change for biome: deserts sand, EX Mountain Ridge would be red rock.

Need to test snow biomes to determine if snow coverings would interfere. Should not vanilla animals already spawn there iirc.

Biome Groupings

Should Be Defined in their own file. One line defines all biome groups. Which generates options in the rest of the Config for each entry.

In most places, such as Configuration, biomeGroups would replace Biomes: behaving identically to current biomes and contain a "biome group name" and biome list.

The exception would be SpawnLists which would still need to be done per Biome. A biomeName to list would be required to get the spawnLists for each biome grouping.

Additional Tag: Torch Light

Light level independent of day.

Use Case: To Forbid entities from spawning in villages but still able to spawn during day time.

Additional ForceDespawn Modes

  • ForceDespawn when not near specifiedBlock. Block should be toggleable. Possible Multiple Blocks.
  • ForceDespawn when invalid light level. Should be able to choose equality, less than, or greater than.

Negative Options

It would be useful to set the negative of the optional settings. For example, settings entities to NOT despawn.

Possible just use a negative flag that reverses all the regular rules.

Biome Group Inheritance

Restrict biomes available to a subset of all biomes that are not enabled in parent.

ParentalClass
{
  Forest = true;
  Beach = true;
  Ocean = true;
  Taiga = false;
  Desert = false;
  // ParentalClass Contains Forest, Beach, and Ocean
}
ChildClass
{
  Taiga = true;
  Desert = false;
  // ChildClass Conains Forest, Beach, Ocean, and Taiga
}

Arithmetic could be useful.

ParentalClass
{
   Biomes = ALL;
   // ParentalClass Conains All Biomes
}
ChildClass
{
   Parent = ParentalClass;
   Biomes = !Forest
   // ChildClass Conains All Biomes except Forest
}

Custom Spawn Configuration

Along with Optional parameters for Force Despawn #4 additional parsing commands should be added for common spawn configurations. They should be in the form of additive restrictions, off until enabled and then applied indiscriminately.

  • LightLevel
  • Ground Block (i.e. Grass)
  • Material - i.e. Air vs Water

BiomeGroup Reorganization

  • Default biomegroups should be immutable
    • Groups should be disableable by removing biomes.
  • allBiomeList should instead define
  • Provide configurable ability to map package names to convenient short form i.e. net.minecraft.world.biome.BiomeGenBeach.Beach=Beach

Tag: Write NBT data

Unlike regular tags. NBT would not evaluate, it would write to entity NBT.

Feature Request : New Tag , DistanceFromSpawn

Be awesome for worlds where mobs are supposed to get more difficult as you explore.

I'm not sure how the game saves where the "world spawn" is but if it would be possible to check against it to make sure your current x,z is a certain distance from it before spawning, would be great.
No need for y calculations as far as I can tell.

Individual Creature Cap

During Counting, the amount of each type in the loaded Entity list should be counted when counting entities for type. If its higher than the Entity specific cap, it would exit as if the entity could not be spawned.

If performance was ever a concern, CreatureType may need to implement a Cache that's refreshed on the order of seconds (or every X cycles). Though since the discussion on Entity cache for the vanilla system this shouldn't cost that much more. A global toggle to disable creatureSpecific caps would likely be a better compromise for those it would be a problem for.

Biome Handler for 'Structure Spawns'

http://www.minecraftforum.net/topic/1721480-mob-spawning-observations-and-tests/page__st__140#entry21777563

Spawns from the Chunk provider are not called, for obvious reasons. For those biomes that require it, a BiomeHandler should be created and called with the biome instance.

An interface with a few required methods to generalize the configuration and calls are required

  • List of structure spawn types
  • List of spawnables dependent on supplied type
  • If the coords are a particular type

Cache EntityCount

CustomSpawner entity count should be caches. Particularly as counting is done as entities are spawned, we don't need to update as often. updates still needed to catch entities spawned by other means.

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.