1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2025-12-13 18:21:51 +00:00

Add example for adding a new item type

This commit is contained in:
tobspr 2022-01-17 12:37:04 +01:00
parent 54a69c9725
commit 1b931808eb
4 changed files with 159 additions and 5 deletions

View File

@ -4,7 +4,7 @@ const METADATA = {
author: "tobspr",
name: "Mod Example: Mod Settings",
version: "1",
id: "base",
id: "mod-settings",
description: "Shows how to add settings to your mod",
settings: {
@ -18,7 +18,7 @@ class Mod extends shapez.Mod {
this.settings.timesLaunched++;
this.saveSettings();
// Show a dialog in the main menu wit the settings
// Show a dialog in the main menu with the settings
this.signals.stateEntered.add(state => {
if (state instanceof shapez.MainMenuState) {
this.dialogs.showInfo(

File diff suppressed because one or more lines are too long

View File

@ -2,9 +2,6 @@ import { globalConfig } from "../core/config";
import { DrawParameters } from "../core/draw_parameters";
import { BasicSerializableObject } from "../savegame/serialization";
/** @type {ItemType[]} **/
export const itemTypes = ["shape", "color", "boolean"];
/**
* Class for items on belts etc. Not an entity for performance reasons
*/

View File

@ -283,6 +283,17 @@ export class MapChunk {
const chunkCenter = new Vector(this.x, this.y).addScalar(0.5);
const distanceToOriginInChunks = Math.round(chunkCenter.length());
this.generatePatches({ rng, chunkCenter, distanceToOriginInChunks });
}
/**
*
* @param {object} param0
* @param {RandomNumberGenerator} param0.rng
* @param {Vector} param0.chunkCenter
* @param {number} param0.distanceToOriginInChunks
*/
generatePatches({ rng, chunkCenter, distanceToOriginInChunks }) {
// Determine how likely it is that there is a color patch
const colorPatchChance = 0.9 - clamp(distanceToOriginInChunks / 25, 0, 1) * 0.5;