Giter Site home page Giter Site logo

pillar's People

Contributors

gitmeep avatar tehnut avatar vazkii avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

acgaming

pillar's Issues

[Suggestion] Datablock spawned structures: change offset based on rotation

Currently, a rotated structure that spawns in another structure (the summoning structure) using a data block will correctly rotate the second structure (the summoned structure) to the same orientation. However, any offsets set in the data block struct command remain unaffected by the rotation of the summoning structure; e.g. a summoned structure from a data block that sets a positive offset on the X axis will always be spawned with a positive X axis offset, even when the summoning structure is rotated.

Currently, creating something like a procedurally generated dungeon has several requirements

  • the entrance structure must always have the same rotation,
  • structures like T-intersections and corner sections must be created for every cardinal direction and entrance that could connect to the summoning structure, to ensure the correct orientation and placement of each part,
  • each summoning structure must place the summoning data blocks at the center point at which the summoned structure is to appear relative to the summoning structure,
  • which in turn necessitates the placing of a lot of void blocks surrounding the data block to get the summoned structure to appear correctly.

If the offsets of a summoned structure were to change based on the rotation of the summoning structure, then creating procedural structures would become much easier as only one summoned structures would need to be constructed for each entrance that could connect to the summoning structure, thus reducing the number of required structures by 4 times the number of summonable structures.

All minecraft:stone variants can be replaced by ore blocks

I'm not sure when Pillar generates its structures during world gen, but I've found that ore blocks sometimes appear as part of a structure, replacing all instances of minecraft:stone (including the polished versions of stone types). I'm guessing an ore vein and a Pillar structure occupy the same space, but I don't know if the structure or the ore spawns first. However it happens, this behaviour is undesirable.

editing json prevents structure loading

Pillar-1.0-5, MC 1.10.2, on a Mac using TextEdit, single player.

I'm attempting to use Pillar to add dungeon type structures to a custom skyblock pack.

If I edit the json file at all, running the pillar-reload command returns "0 structures loaded".

Before I edit the json, pillar-reload returns "1 structure loaded" and and the pillar-spawn command will place the structure.

Watching Server - java.lang.Error

Modpack - All The Mods
Java on server - 1.8 update 91
OS - Ubuntu
Minecraft - 1.10.2
Forge - 12.18.0.2007
Crash Report- http://pastebin.com/TDvkXpi5

When anyone attempts to enter the End, the server crashes with the linked crash report. This has happened 3 separate times so far. Players are able to move about the Overworld and Nether with no issue, only the End appears to be affected.

[Bug] isBiomeTagSpawnsBlacklist is ignored

Minecraft Version: 1.12.2
Forge Version: 14.23.1.2554
Mod Version: 1.2-10

Just like the title says. To reproduce, set isBiomeTagSpawnsBlacklist to false, create a structure that spawns on the surface with a low rarity, and set biomeTagSpawns to something like "BEACH". Load into a new world and you'll only find that structure on Beach type biomes, instead of the inverse.

MinY/MaxY not being respected w/ UNDERWATER Generator Type

Pillar-1.2-10.jar
MC 1.12.2

Trying to spawn a structure within a specific Y level underwater, but Min/Max don't seem to work with UNDERWATER Generator Type. Maybe it's my confusion on how the Generator Types work.

`{
"generatorType": "UNDERWATER",
"minY": 0,
"maxY": 10,
"offsetX": 0,
"offsetY": 0,
"offsetZ": 0,

"mirrorType": "NONE",
"rotation": null,
"ignoreEntities": false,

"dimensionSpawns": [55],
"biomeNameSpawns": [],
"biomeTagSpawns": [],
"isDimensionSpawnsBlacklist": false,
"isBiomeNameSpawnsBlacklist": true,
"isBiomeTagSpawnsBlacklist": false,
"generateEverywhere": false,

"integrity": 1,
"decay": 0,

"filling": "minecraft:gravel",
"fillingMetadata": 0,
"fillingType": "WATER",

"rarity": 100

}`
2019-05-28_04 05 43

biomeNameSpawns doesn't work as intended

using isBiomeNameSpawnsBlacklist as true with biomeNameSpawns empty works as expected
.json File: http://pastebin.com/Gpp0Nm2i

but as soon I get isBiomeNameSpawnsBlacklist to false and add a list of biomes with "biomeNameSpawns": ["Birch Forest", "Birch Forest Hills", "Birch Forest M", "Birch Forest Hills M", "Forest", "Flower Forest", "ForestHills"], it spawns nothing, in any biome.

Spawning the structure with /pillar-spawn works as intended

"isBiomeTagSpawnsBlacklist" setting has no effect.

Issue: "isBiomeTagSpawnsBlacklist" setting has no effect.
Version: 1.0 build 5

Replication steps:

Created a new structure for verification purposes (A 3x3x3 block of bedrock). Confirmed that it spawned as expected both using /pillar-spawn and in a freshly-generated world with no biome-related restrictions, then configured the JSON file for this structure as follows:

{
    "generatorType": "SURFACE",
    "minY": -1,
    "maxY": -1,
    "offsetX": 0,
    "offsetY": 5,
    "offsetZ": 0,

    "mirrorType": "NONE",
    "rotation": null,
    "ignoreEntities": false,

    "dimensionSpawns": [],
    "biomeNameSpawns": [],
    "biomeTagSpawns": ["HOT"],
    "isDimensionSpawnsBlacklist": false,
    "isBiomeNameSpawnsBlacklist": false,
    "isBiomeTagSpawnsBlacklist": false,
    "generateEverywhere": false,

    "integrity": 1,
    "decay": 0,

    "filling": "",
    "fillingMetadata": 0,
    "fillingType": "AIR",

    "rarity": 10
}

Test 1: Created a new world using the "Customized" World Type consisting of a single biome: Desert.
Result: Test structure spawned as expected.

Test 2: Created a second single-biome Customized world, this time as a Taiga.
Result: Test structure did not spawn, also expected.

For the next two tests, the following change was made to the JSON file for the test structure:

    "isBiomeTagSpawnsBlacklist": true,

(A /pillar-reload was performed after this change was made)

Test 3: Re-created the Desert world.
Result: Test structure continued to spawn, despite the combination of the "HOT" tag being included in "biomeTagSpawns" and "isBiomeTagSpawnsBlacklist" being set to true, which should prevent this structure from spawning in a Desert.

Test 4: Re-created the Taiga world.
Result: Test structure did not spawn, which should not have been prevented by the combination of the "HOT" tag being included in "biomeTagSpawns" and "isBiomeTagSpawnsBlacklist" being set to true.

For some additional confirmation, the following change was made to the JSON file for the structure:

    "biomeTagSpawns": ["COLD"],

("isBiomeTagSpawnsBlacklist" remained true and a /pillar-reload was again performed after this change was made)

Test 5: Test structure did not spawn in the Desert (expected: it should have).

Test 6: Test structure did spawn in the Taiga (expected: it should not have).

[Suggestion for 1.13] Load pillar files from datapacks

Well, seems like in 1.13 Data Packs will be a thing.

Like resource packs but for servers or worlds. They have stuff like loot tables or advancements, instead of textures and clientside stuff.

image

What about add support for load pillar structures (and its associated files) from datapacks? For example, everything under Pillar's namespace folder would be parsed by the mod (for example: awesome_data_pack\pillar\<contents here>)

It would be a great way to organize things on MC directory (both client and server), being in a more vanilla feel way to manage things.

Request

Addition structure option:

  • Distance from origin (i.e. X:0 Z:0)
  • This is to allow adventure maps to have players explore outwards a specific distance before the structure has a chance to spawn.

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.