Game Mechanics

## The Grid

Whenever a block from this mod is placed, it determines its borders based on a predefined grid system. Usually two industries can not occupy the same grid space at the same time (there are exceptions, see below). I will say right now that there will be a tool provided in the mod in the future to help the player visualize this grid and aid in placement, because I know a lot of people will probably be requesting it. In the meantime, hopefully, the following information will help.

The grid system is based on Minecraft chunks.

* All 16x16 industries and buildings will define their area to match the chunk borders of the chunk they were placed in.
* All 8x8 industries and buildings will take up the corner of the chunk they were placed in.
* And 32x32 industries will occupy four chunks with borders falling on the beginning edges of even chunks (for example: chunks 12 and 13 in x direction and chunks 54 and 55 in z direction.)

If you have an area where you will be doing a lot of building then it might be a good idea to first run around and place a lot of markers at all chunk corners with slightly different markers at the beginnings of the even chunks.

Here's an example of figuring out the borders for specific structure sizes:

If you place an 8x8 industry at coordinates x:57,z:129, then

* the northern border would be at z:128 (129/8 rounded down \*8)

* the southern border would be at z:136 (128+8)
* the western border would be at x:56 (57/8 rounded down \*8)
* the eastern border would be at x:64 (56+8)

If you place a 16x16 industry at coordinates x:57,z:129, then

* the northern border would be at z:128 (129/16 rounded down \*16)
* the southern border would be at z:144 (128+16)
* the western border would be at x:48 (57/16 rounded down \*16)
* the eastern border would be at x:64 (48+16)

If you place a 32x32 industry at coordinates x:57,z:129, then

* the northern border would be at z:128 (129/32 rounded down \*32)
* the southern border would be at z:160 (128+32)
* the western border would be at x:32 (57/32 rounded down \*32)
* the eastern border would be at x:64 (32+32)

Most structures are symmetrical on all sides with the exceptions of Offices and Roads.

* When Offices are built, the windows will always face to the outside of the chunk and the solid walls will always face towards the center of the chunk.
* Roads will align themselves with the direction that the player is facing when placed.

The grid only applies horizontally. There is no predefined grid vertically. So, you can place an industry at any elevation you want and it will calculate it's vertical borders based on that location. Industries can be stacked vertically (in the same horizontal grid zone) as long as their vertical borders do not overlap. This can be seen in the fact that Factories and Towers can hold four industries per floor. Some industries can contain other industries inside their borders, such as manufacturing industries inside of buildings.

## The Simulation

Every block in this mod uses the Minecraft random tick when it is placed in the world. See minecraft.gamepedia.com/Tick the section on "Block Tick" for more details about this. Essentially, this means there is a median time of 47.35 seconds between ticks and an average time of 68.27 seconds between ticks and there is only a 1% chance that there will be greater than 5 minutes between ticks.

Each tick, there is a chance that the block will attempt to eat food if not in peaceful mode and if the block type needs food. This chance is calculated in such a way that on average it happens about once per Minecraft day. If the block can not eat because there is no proper food available then there is a 1% chance that the block will go out of business and drop itself and all its contents on the ground.

Each tick, the block performs some tasks. Some blocks will only perform their tasks during the day, while others will perform until midnight and others will perform all day and all night. The amount of work a block does on each tick is calculated so that over the course of a Minecraft day it is roughly equivalent to what an average human player might accomplish.

Each tick, the block will re-evaluate it's area and determine what to do. The blocks retain no "memory" and do not keep track of what they have already done. This means that blocks can be broken and then replaced anywhere in the same area at any time and should have no problem figuring out what they need to do. It does not even have to be re-positioned in the same area. A block could be placed in an area that was previously started by another block of the same type. This is what allows the abandoned city to be repaired. Just place a new Tower block in an existing abandoned Tower structure and give it the appropriate stained glass block type and it will evaluate and "repair" the existing Tower.

## The Economy

This mod can be played with a money based economy or a free economy. If you don't give coin pouches to any industries, then whenever resources are requested, they will be given freely without payment. If a request for resources is given to an industry that has a coin pouch, then those resources must be purchased or the request will be denied. The following information pertains to a money based economy.

Some coin pouches with money can be found in the abandoned city, but your first earned money will likely come from resource collecting industries. The money based economy is "resource" backed, which means that theoretically, the total amount of money in the game at any given time should be about equal to the value of all resources collected/produced up to that time.

When resource industries and manufacturing industries collect/produce items, the value of those items is added to it's coin pouch. The industry can then use that money to purchase food, tools, and supplies, to pay distributor fees, and to invest in surrounding buildings. Later, when the collected/produced items are purchased from the industry, the money it receives in payment is removed from the game instead of being added to it's coin pouch.

Distributors buy and sell items using the money in their coin pouches. However, they do not make a profit selling items. Instead, about once every Minecraft day, they collect distribution fees from industries and buildings around them. The fee is waived if the industry has less than $50. The amount collected is the smaller of $1000 or 1/30 of the industries coin pouch.

Manufacturing industries make a small profit since the cost of materials to produce an item is usually slightly lower than the items selling price. However, they do have to pay for food and distributor fees out of this profit. So, it's a good idea to keep raw materials flowing into manufacturing industries as much as possible and not let them sit waiting.

Each building type has a minimum investment amount. While a building is under construction (and even afterwards,) it will collect investments each Minecraft day from surrounding industries until it reaches it's minimum investment amount. The collection is waived if the industry has less than $50. The amount collected is the smaller of the remaining amount needed or 1/5 of the industries coin pouch. This money is used to buy construction materials and later to buy items for export to the global market. Buildings make a profit by buying items from Distributors at a slight discount for export to the global market and importing items from the global market to sell to Distributors at a slight mark-up.

In the future, item prices will be in a config file.

## Customization

This mod currently provides three different building structures that each may come in different sizes and have a variety of different construction material options along with roads and intersections. It is meant to provide the backbone infrastructure for a large city. However, it is hoped that the player will go a step further to make a truly unique city by building their own parks, plazas, and unique buildings and further customizing this mod's buildings and roads.

The following are the currently allowable construction materials:

**Office and Factory walls and Tower cross beams:** stone, sandstone, cobble, brick, stonebrick, wood planks, netherbrick, quartz, red sanstone, purpur.

**Floors:** any wood planks.

**Office and Factory casing:** any stonebrick.

**Tower center column and road-sidewalks:** any stone, prismarine.

**Office and Tower windows:** any stained glass block.

**Tower carpet:** any carpet.

    **Building and road lighting:** torch, glowstone, sea lantern (Note: Towers can't use torches.)

Buildings can be further customized to a degree and still remain active (able to import/export.) If you break a window in an active building then you will notice that it repairs itself. However, if you replace the window with something, then the building is still considered complete and active. This allows modifications like skywalks and balconies if you replace windows with a door. Also, anything can be attached to buildings like paintings, banners, etc.

Replaceable materials:

* Glass with anything but air.
* Wall material can be replaced if it is with some other kind of wall material. So, you couldn't replace wall material with wool or glass, for example.
* Ladders with trapdoors.
* Lights with glass block or vice versa.
* Carpet with anything but air.