Skip to main content
Module

x/enviromodder/Documentation.md

A package (in beta) designed to make ReMapper environment statements more friendly
Go to Latest
File

Banner

Welcome

Welcome to MapLock! This is a package for ReMapper Statments and utils, this is definitely not a nootils clone

This package is meant to be used with ReMapper

installing

in order to install run this in your map directory terminal:

deno install --allow-all -f --reload https://raw.githubusercontent.com/Splashcard04/MapLock/main/setup/MapLock_setup.ts

then just run

MapLock_setup

that should download the files for you, now to import add this to your imports list

import * as ml from './src/exports.ts'

and that should do it for install, up next are the functions

Updating

to update this package when another release comes out, simply delete the MapLock folder(S) and re - run MapLock_setup and that will give you the latest version!

Environment functions

despawn

import * as ml from './src/exports.ts'

//despawns the left and right pannel of the billie hud using contains
ml.yeet("Contains", [
  "BillieEnvironment.[0]Environment.[2]NarrowGameHUD.[2]RightPanel",
  "BillieEnvironment.[0]Environment.[2]NarrowGameHUD.[1]LeftPanel"
])

Despwan is extremely simple, it just takes the entirety of the bts environment and moves it way out of the player’s sight, essentially despawning the environment despwan() has two constants for environments "bts" or "billie" removing the entirety of their respective environments, you can also use your own custom ids and different lookup methods if you so desire, "bts" and "billie" will only work with contains.

sun

import * as ml from './src/exports.ts'

ml.sun(
   [0, 10, 30], //position
   [1, 1.5, 1], //scale
   21 //lightID
)

this will use Geometry to make a sun effect with customizable scale, position and lightID, requres v3 to light

  • position = array
  • scale = array
  • lightID = integer

clouds

import * as ml from './src/exports.ts'

ml.clouds(
   [0, 0, 0], //position
   [1, 1, 1], //scale
   [0, 90, 90] //rotation
)

clouds() is really just a dumb way to make clouds in the bts environment tbh but it does make it easier and shorter i suppose

  • position = array
  • rotation = array
  • scale = array

laserfeild

import * as ml from './src/exports.ts'

ml.laserfeild(
  0, //height
  21, //minimum lightID
  21, //ammount
  false //allows rotation?
)

NOTE IDmin will be the first light ID a laser is registered to, meaning that if IDmin was 21 and my ammount was 7 my light IDs would be 21, 22, 23, 24, 25, 26, 27, 28. allowRotation allows rotation of -20 - 20 on the x and z axis, IF you want the lasers to be straight up and down, just leave this to false.

  • height = number
  • IDmin = integer
  • ammount = integer
  • allowRotation = boolean

object statments

player movment

import * as ml from './src/exports.ts'

ml.animatePlayer(
   0, //time
   100, //duration
   [[0, 0, 0, 0], [0, 100, 0, 1, "easeStep"]] //position animation
)

This will move the player, but the exiting part is - no extra parent track needed - this will move the player and the notes together!

  • time = number
  • duration = number
  • position = array

stars

import * as ml from './src/exports.ts'

ml.stars(
  350, //ammount
  0.3, //individual size
  60, //distance
  0, //time
  100 //duration
)

Spawns a sphere of stars around the player using walls (could cause small ammounts of lag)

  • ammount (the ammount of stars to spawn) = number
  • individual size (the size of each star) = number
  • distance (the distance between eac star) = number
  • time (the time to spawn the stars) = number
  • duration (the duration the stars will last) = number

NoteFilter

import * as ml from './src/exports.ts'

ml.noteFilter(
    21, //Time Start
    21, //Duration
    [0, 0], // Position to Select
    { //Custom Data
        _position: [3, 3, 3]
        _dissolve: [[1, 0], [0, 1]]
    }
)
  • time Start = number
  • Duration = number
  • position = array
  • CustomData = basically just like noodle scripting in js idk

LRnotes

import * as ml from './src/exports.ts'

ml.LRnotes(
  0, //time
  100, //duration
  {// left note custom data
  _dissolve: [[0, 0], [0.8, 0.4]]
  }
  {// right note custom data
  _dissolve: [[0.8, 0], [0, 0.4]]
)
  • time Start = number
  • Duration = number
  • LeftNoteCustomData = basically just like noodle scripting in js idk
  • RightNoteCustomData = basically just like noodle scripting in js idk

BLARGZ

never ever ever ever call this, please, it will cause all of the lag, every lag all of the bright, brighter than tuzr maps, it will absolutely destroy the game until the frames stabilize 60 minutes later ;)

future

I’m exited to say, that sometime in the future when v3 modcharts are more relevant (v3 allows for geometry lighting) that I will be using a lot more geometry lights making them all compatible, but for now sit tight and listen to the other updates I have planned.

  • all environment support for (almost) all functions. I am planning to utilize geometry to the best of my ability to make some of these avalible for all environments
  • organize functions✔️