RTFM! Seriously, I worked hard on it

This commit is contained in:
Andrew-71 2023-08-04 14:07:58 +03:00
parent 8684798259
commit 78a5cb111b
32 changed files with 566 additions and 73 deletions

View file

@ -20,7 +20,7 @@ public class TimeRotorPeripheral extends TardimPeripheral<BlockRotor> implements
* @hidden * @hidden
*/ */
public TimeRotorPeripheral(FakeTardimPeripheralTileEntity tileEntity) { public TimeRotorPeripheral(FakeTardimPeripheralTileEntity tileEntity) {
super(tileEntity, "tardim_time_rotor", (BlockRotor) tileEntity.getBlock()); super(tileEntity, "tardim_rotor", (BlockRotor) tileEntity.getBlock());
} }

View file

@ -344,12 +344,12 @@ public class DigitalInterfacePeripheral extends TardimPeripheral<DigitalInterfac
throw new LuaException("Player not found"); throw new LuaException("Player not found");
} }
for (ItemStack armour : player.getArmorSlots()) { // for (ItemStack armour : player.getArmorSlots()) {
// if (armour.is(PERSONAL_JAMMER)) { //// if (armour.is(PERSONAL_JAMMER)) {
// throw new LuaException("Player location jammed"); //// throw new LuaException("Player location jammed");
// }; //// };
// TODO: Re-add // // TODO: Re-add
} // }
ResourceKey<Level> dim = player.getCommandSenderWorld().dimension(); ResourceKey<Level> dim = player.getCommandSenderWorld().dimension();
BlockPos pos = player.blockPosition(); BlockPos pos = player.blockPosition();

View file

@ -1,27 +1,33 @@
![TARDIM: IC Banner](./media/banner.png) ![TARDIM: IC Banner](docs/assets/img/banner.png)
### All of time and space, *now automated and improved*. ### All of time and space, *now automated and improved*.
This mod is an addon for the [TARDIM mod](https://www.curseforge.com/minecraft/mc-mods/tardim), This mod is an addon for the [TARDIM mod](https://www.curseforge.com/minecraft/mc-mods/tardim),
and adds a way to control and manage your time (but mostly space) machine with new blocks, redstone, and adds a way to control and manage your time (but mostly space) machine with new blocks, redstone,
and even other mods like [ComputerCraft: Tweaked](https://tweaked.cc) or [Create](https://github.com/Creators-of-Create/Create) and even other mods like [ComputerCraft: Tweaked](https://tweaked.cc) or [Create](https://github.com/Creators-of-Create/Create)
### Features: ## Features:
* New commands that let you ring cloister bell or list all biomes and dimensions * New commands that let you ring cloister bell or list all biomes and dimensions
* Improved fuel system, which will take in any furnace fuel and won't consume buckets * Improved fuel system, which will take in any furnace fuel and won't consume buckets
* Redstone TARDIM Input: New block that lets you execute a TARDIM command with the power of redstone! After saving a command, this block executes it every time it gets powered by redstone * Redstone TARDIM Input: New block that lets you execute a TARDIM command with the power of redstone! After saving a command, this block executes it every time it gets powered by redstone
* Full ComputerCraft integration * Full ComputerCraft integration
* Digital TARDIM interface: ComputerCraft peripheral that lets you control a TARDIM using computers! Full list of methods is available in the [Javadoc](http://andrey71.me/TARDIM-ic-docs/su/a71/tardim_ic/tardim_ic/DigitalInterfacePeripheral.html) (Sorry for that, this is the best auto-generated docs I could find for now). The peripheral supports almost all commands that the TARDIM computer panel has. * Digital TARDIM interface: ComputerCraft peripheral that lets you control a TARDIM using computers! Full list of methods is available in the [Javadoc](http://andrey71.me/TARDIM-ic-docs/su/a71/tardim_ic/tardim_ic/DigitalInterfacePeripheral.html) (Sorry for that, this is the best auto-generated docs I could find for now). The peripheral supports almost all commands that the TARDIM computer panel has.
* Peripherals for some of the TARDIM blocks that provide a few of digital interface's methods at smaller costs * Peripherals for some of the TARDIM blocks that provide a few of digital interface's methods at smaller costs
* Create integration (display sources): some of the blocks will now be able to act as a display source with Create mod * [Coming once Create Fabric is on 1.20] Create integration (display sources): some of the blocks will now be able to act as a display source with Create mod
* New exterior - Soviet Chronobox, styled like a USSR phone booth
* [WIP] Food machine - exchange fuel for food. *Currently only in creative mode and half finished.*
* You can see planned features in the docs
### Example use-cases ## Example use-cases
* Make a dashboard to monitor fuel levels, current location, and other information on a screen in a nice way. * Make a dashboard to monitor fuel levels, current location, and other information on a screen in a nice way.
* Get refined control over your TARDIM, such as saving and loading locations, or setting a destination in a GUI. * Get refined control over your TARDIM, such as saving and loading locations, or setting a destination in a GUI.
* Add visual effects that activate during flight e.g. note blocks or Create mod contraptions. * Add visual effects that activate during flight e.g. note blocks or Create mod contraptions.
The possibilities are endless, the only limit is your imagination! The possibilities are endless, the only limit is your imagination!
### FAQ ## Documentation
Information about the mod's blocks and integration, crafting recipes, and plans for development are available at https://tardim.a71.su
## FAQ
**Is this for Fabric or Forge?** **Is this for Fabric or Forge?**
: Both! As a Fabric player who recognises Forge's large playerbase, I support both major modloaders. : Both! As a Fabric player who recognises Forge's large playerbase, I support both major modloaders.

View file

Before

Width:  |  Height:  |  Size: 465 KiB

After

Width:  |  Height:  |  Size: 465 KiB

View file

Before

Width:  |  Height:  |  Size: 421 KiB

After

Width:  |  Height:  |  Size: 421 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

36
docs/assets/style.css Normal file
View file

@ -0,0 +1,36 @@
@font-face {
font-family: 'ComputerCraft';
src: url('fonts/ComputerCraft.woff2') format('woff2'),
url('fonts/ComputerCraft.woff') format('woff');
font-weight: 500;
font-style: normal;
font-display: swap;
}
code {
font-family: ComputerCraft, monospace;
}
.wy-side-nav-search {
background-color: #d2651d;
}
.wy-side-nav-search input[type="text"] {
border-color: #d96b25;
}
.wy-menu-vertical header, .wy-menu-vertical p.caption {
color: #e78e53;
}
.section > h1 > img {
max-width: 15%;
}
.rst-content img {
image-rendering: pixelated;
image-rendering: -moz-crisp-edges;
image-rendering: crisp-edges;
width: 50px;
}

View file

@ -0,0 +1,7 @@
# ![Block model](../assets/img/blocks/food_machine.png) Food Machine
This block lets you exchange some of your TARDIM's fuel for food.
I plan to make it work with datapacks and let you switch between different types of food at different prices.
However, right now it is creative mode only and dispenses bread. If you want, you can add crafting recipe for it on your own,
but it is not recommended since I haven't finished it yet

View file

@ -0,0 +1,5 @@
# ![Block model](../assets/img/blocks/redstone_tardim_input.png) Redstone TARDIM Input
This block acts same as other TARDIM control panels, but is activated when redstone signal is passed to it.
## Crafting
![Crafting recipe](../assets/img/crafting/redstone_input.png)

22
docs/commands.md Normal file
View file

@ -0,0 +1,22 @@
# New TARDIM commands
## Cloister bell
Usage - `/cloister-bell`
Makes a loud cloister bell sound from the TV show, to signal warning or other notifications. Usage with redstone input recommended
---
## List biomes
Usage - `/list-biomes <..search_query>`
Lists all existing biomes for better experience with `/locate-biome` and parity with CC integration.
Can be used with no parameters to get all biomes or with a search string to only show biomes that contain it in their name
---
## List dimensions
Usage - `/list-dimensions`
Lists all existing dimensions for better experience with travel and parity with CC integration.

View file

@ -1,15 +1,20 @@
# ComputerCraft compatibility # ComputerCraft compatibility
If you have ComputerCraft: Tweaked installed, If you have ComputerCraft: Tweaked installed,
TARDIM: IC provides quite a few peripherals. TARDIM: IC provides quite a few peripherals.
The main one is new Digital TARDIM Interface, The main one is new Digital TARDIM Interface,
which gives you complete control over your TARDIM. which gives you complete control over your TARDIM.
However, some TARDIM blocks also receive getters for information related to them. However, some TARDIM blocks also receive getters for information related to them.
## ComputerCraft for beginners ## ComputerCraft for beginners
ComputerCraft adds working computers to minecraft, controlled by Lua language. ComputerCraft adds working computers to minecraft, controlled by Lua language.
If you are new, [CC's official discord](https://discord.com/servers/minecraft-computer-mods-477910221872824320) has a lot of people who can help.\ If you are new, [CC's official discord](https://discord.com/servers/minecraft-computer-mods-477910221872824320) has a lot of people who can help.
I also suggest taking a look at [Lua's website](https://www.lua.org/start.html) and [CC: Tweaked's documentaion](https://tweaked.cc)\ I also suggest taking a look at [Lua's website](https://www.lua.org/start.html) and [CC: Tweaked's documentaion](https://tweaked.cc)
Please do not ask questions about CC itself in TARDIM: IC's Discord.
Please do not ask questions about ComputerCraft itself in TARDIM: IC's Discord. I am far from the most experienced user of that mod.
## Notes about mod's peripherals
All of the peripherals throw if they are called outside a TARDIM. Only digital interface has ability to **set** data, others can only **get**.
## Available peripherals ## Available peripherals
| Type | Description | | Type | Description |

View file

@ -1,4 +1,299 @@
# Digital TARDIM Interface # ![Peripheral model](../../assets/img/blocks/digital_tardim_interface.png) Digital TARDIM Interface
This peripheral allows you to do basically anything any other TARDI< control panel can, but automatically. This peripheral allows you to do basically anything any other TARDIM control panel can, but automatically.
### Methods Attach name - `"digital_tardim_interface"`
## Crafting
![Crafting recipe](../../assets/img/crafting/digital_interface.png)
## Methods
### `getFuel()`
Get how much fuel the TARDIM has.
**Returns**
1. `number` The amount of fuel, from 0 to 100. Not rounded.
---
### `calculateFuelForJourney()`
Get how much fuel the TARDIM would use if you travelled to destination.
**Returns**
1. `number` The amount of fuel
---
### `isLocked()`
Check whether the TARDIM's doors are locked
**Returns**
1. `bool` Whether the doors are locked
---
### `setLocked(locked)`
Sets the TARDIM's lock
**Parameters**
1. locked `bool`: true to lock doors, false to unlock
---
### `isInFlight()`
Check whether the TARDIM is in flight
**Returns**
1. `bool` Whether the TARDIM is in flight
---
### `getTimeEnteredFlight()`
Get UNIX timestamp of when the TARDIM entered flight
**Returns**
1. `number` Unix timestamp or -1 if TARDIM is landed
---
### `getOwnerName()`
Will write the given input to the linked display.
**Returns**
1. `string` The username of TARDIM's owner
---
### `getCurrentLocation()`
Retrieve the TARDIM's current location
**Returns**
1. `table` The location of the tardim:
```
{
dimension = "minecraft:overworld", -- Dimension string
pos = { -- Coordinates
x = 1,
y = 2,
z = 3
}
}
```
---
### `getTravelLocation()`
The same as `getCurrentLocation()` but for destination
---
### `getCompanions()`
Get all list of all companions in the TARDIM
**Returns**
1. `table` list of companions' names
---
### `setDimension(dimension)`
Set TARDIM's destination to a dimension
**Parameters**
1. dimension `string`: dimension's name e.g. "minecraft:overworld"
---
### `setTravelLocation(x, y, z)`
Set TARDIM's destination coordinates
**Parameters**
1. x `number`: x-axis of destination
2. y `number`: y-axis of destination
3. z `number`: z-axis of destination
---
### `home()`
Set TARDIM's destination to roughly owner's respawn point
---
### `locatePlayer(username)`
Set TARDIM's destination to a player's coordinates
**Parameters**
1. username `string`: player's username. the player must be online.
---
### `getOnlinePlayers()`
Get all list of all online players
**Returns**
1. `table` list of players' names
---
### `getDoorRotation()`
Get current door rotation
**Returns**
1. `string` direction - "north"/"west"/"south"/"east"
---
### `setDoorRotation(rotation)`
Get current door rotation
**Parameters**
1. rotation `string` direction string - "north"/"west"/"south"/"east"
---
### `toggleDoorRotation()`
Toggle door rotation north -> east -> south -> west -> north
---
### `coordAdd(axis, amount)`
Add a number to the destination's coordinates
**Parameters**
1. axis `string` x/y/z
2. amount `number` how much to add/substract
---
### `demat()`
Dematerialise the TARDIM. Throws if TARDIM is in flight already.
---
### `remat()`
Re-materialise the TARDIM at the destination.
**Throws if**
1. TARDIM landing is obstructed
2. Not enough fuel for journey
3. TARDIM is still taking off
4. TARDIM has already landed
---
### `locateBiome(biome)`
Set destination to somewhere in a specific biome.
**Parameters**
1. biome `string` biome name e.g. minecraft:badlands or terralith:skylands_spring
**Throws if**
1. Biome has not been founded near
2. Biome name is wrong
---
### `setSkin(skin)`
Set TARDIM's exterior to a skin
**Parameters**
1. skin `string` exterior name e.g. "TARDIM Type 2k18" or "TARDIM Soviet Chronobox"
**Throws if**
1. Skin was not found
---
### `getSkins()`
Get all list of all available exteriors
**Returns**
1. `table` list of exteriors' names
---
### `setSkin(skin)`
Set TARDIM's exterior to a skin
**Parameters**
1. skin `string` exterior name e.g. "TARDIM Type 2k18" or "TARDIM Soviet Chronobox"
---
### `cloisterBell()`
Play the cloister bell sound in the exterior (originates from the peripheral block)
**Throws if**
1. There was an error playing the sound (unlikely)
---
### `getBiomes()`
Get all list of all existing biomes
**Returns**
1. `table` list of biomes' names
---
### `getDimensions()`
Get all list of all existing dimensions
**Returns**
1. `table` list of dimensions' names

View file

@ -0,0 +1,23 @@
# ![Peripheral model](../../assets/img/blocks/fuel_storage.png) Fuel Storage Block
This peripheral, attached to a TARDIM fuel storage block, gives you access to 2 fuel-related methods
Attach name - `"tardim_fuel_storage"`
## Methods
### `getFuel()`
Get how much fuel the TARDIM has.
**Returns**
1. `number` The amount of fuel, from 0 to 100. Not rounded.
---
### `calculateFuelForJourney()`
Get how much fuel the TARDIM would use if you travelled to destination.
**Returns**
1. `number` The amount of fuel

View file

@ -0,0 +1,64 @@
# ![Peripheral model](../../assets/img/blocks/scanner.png) TARDIM Scanner Block
This peripheral, attached to TARDIM's scanner block, lets you fetch some data related to world's environment
Attach name - `"tardim_scanner"`
## Methods
### `getOwnerName()`
Will write the given input to the linked display.
**Returns**
1. `string` The username of TARDIM's owner
---
### `getCompanions()`
Get all list of all companions in the TARDIM
**Returns**
1. `table` list of companions' names
---
### `getOnlinePlayers()`
Get all list of all online players
**Returns**
1. `table` list of players' names
---
### `getSkins()`
Get all list of all available exteriors
**Returns**
1. `table` list of exteriors' names
---
### `getBiomes()`
Get all list of all existing biomes
**Returns**
1. `table` list of biomes' names
---
### `getDimensions()`
Get all list of all existing dimensions
**Returns**
1. `table` list of dimensions' names

View file

@ -0,0 +1,52 @@
# ![Peripheral model](../../assets/img/blocks/rotor.png) Rotor Block
This peripheral, attached to TARDIM's time rotor, allows you to get info about TARDIM's flight status.
Attach name - `"tardim_rotor"`
## Methods
### `isInFlight()`
Check whether the TARDIM is in flight
**Returns**
1. `bool` Whether the TARDIM is in flight
---
### `getTimeEnteredFlight()`
Get UNIX timestamp of when the TARDIM entered flight
**Returns**
1. `number` Unix timestamp or -1 if TARDIM is landed
---
### `getCurrentLocation()`
Retrieve the TARDIM's current location
**Returns**
1. `table` The location of the tardim:
```
{
dimension = "minecraft:overworld", -- Dimension string
pos = { -- Coordinates
x = 1,
y = 2,
z = 3
}
}
```
---
### `getTravelLocation()`
The same as `getCurrentLocation()` but for destination

3
docs/create/index.md Normal file
View file

@ -0,0 +1,3 @@
# Create compatibility
This is not yet implemented due to lack of Create Fabric for 1.20. However, I have a few working 1.19.2 display sources that I intend to add when Create is out.

View file

@ -1,3 +1,4 @@
## Welcome to TARDIM: IC docs! ## Welcome to TARDIM: IC docs!
This mod aims to improve TARDIM by adding new features and integration with other mods such as ComputerCraft or Create. This mod aims to improve TARDIM by adding new features and integration with other mods such as ComputerCraft or Create.
Please note that v1.2 is a big jump in terms of rewrites and new features. Therefore, not all features are available yet. If you see errors in the docs, feel free to point it out in Discord.

6
docs/mixins.md Normal file
View file

@ -0,0 +1,6 @@
# Changes to vanilla TARDIM
## New fuel system
With TARDIM: In Control, you can insert any furnace-compatible fuel into the fuel storage block without having to make a datapack for it.
Also, buckets will no longer disappear from hopper, and only their contents will be taken.

6
docs/planned.md Normal file
View file

@ -0,0 +1,6 @@
# Planned features
I do not guarantee these will be added or have a timeline, but here are features I designed and wish to implement in the future
* ![Block model](assets/img/blocks/tardim_dock.png) TARDIM Dock - A block that lets you get to a location by a simple ID and handles location and rotation for you. This will also let TARDIMs land on Create: Aeronautics contraptions once that mod is out
* ![Item texture](assets/img/blocks/cartridge_blue.png) Location cartridges - No code way to save location to an item and travel there whenever you want.
* ![Wearable model](assets/img/blocks/jammer.png) Personal location jammer - Wearable item that lets you prevent others from locking onto your position.

View file

@ -1 +0,0 @@
# Crafting recipes for the mod's blocks

View file

@ -7,8 +7,11 @@ copyright: Copyright © 2023 Andrey N.
nav: nav:
- Home: - Home:
- Home: "index.md" - Home: "index.md"
- Crafting recipes: - Features:
- Recipes: "recipes.md" - Blocks:
- Redstone Input: blocks/redstone_input.md
- Commands: commands.md
- Changes to TARDIM: mixins.md
- ComputerCraft compatibility: - ComputerCraft compatibility:
- computercraft/index.md - computercraft/index.md
- Peripherals: - Peripherals:
@ -16,59 +19,22 @@ nav:
- Fuel Storage Block: computercraft/peripherals/fuel_storage.md - Fuel Storage Block: computercraft/peripherals/fuel_storage.md
- TARDIM Scanner Block: computercraft/peripherals/tardim_scanner.md - TARDIM Scanner Block: computercraft/peripherals/tardim_scanner.md
- Time Rotor Block: computercraft/peripherals/time_rotor.md - Time Rotor Block: computercraft/peripherals/time_rotor.md
- Guides: - Create compatibility:
- guides/index.md - create/index.md
- Wrenches and You: guides/wrenches.md # - Display Sources:
- "Using Animatronics: The Analog Way": guides/positioningAnimatronicAnalog.md # - Fuel Storage Block: create/sources/fuel_storage.md
# - TARDIM Scanner Block: create/sources/tardim_scanner.md
# - Time Rotor Block: create/sources/time_rotor.md
- Planned features:
- planned.md
site_url: https://tardim.a71.su/ site_url: https://tardim.a71.su/
repo_name: Andrew71/Tardim-In-Control repo_name: Andrew71/Tardim-In-Control
repo_url: https://git.a71.su/Andrew71/Tardim-In-Control repo_url: https://git.a71.su/Andrew71/Tardim-In-Control
edit_uri: https://git.a71.su/Andrew71/Tardim-In-Control/src/branch/1.20/docs #edit_uri: https://git.a71.su/Andrew71/Tardim-In-Control/src/branch/1.20/docs
extra:
social:
- icon: simple/modrinth
link: https://modrinth.com/mod/tardim_ic
name: Modrinth
- icon: simple/curseforge
link: https://www.curseforge.com/minecraft/mc-mods/tardim_ic
name: CurseForge
markdown_extensions:
- attr_list
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
pygments_lang_class: true
- pymdownx.inlinehilite
- pymdownx.snippets
- pymdownx.superfences
- admonition
- pymdownx.details
- pymdownx.emoji:
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
- toc:
permalink: true
plugins:
- minify:
minify_html: true
minify_js: true
minify_css: true
htmlmin_opts:
remove_comments: true
- social:
- glightbox:
- search:
theme: theme:
name: material name: readthedocs
features: features:
- content.code.copy - content.code.copy
@ -83,10 +49,7 @@ theme:
primary: custom primary: custom
accent: custom accent: custom
icon: favicon: assets/img/icon.png
repo: fontawesome/brands/git
logo: assets/images/cccbridge-icon.png
favicon: assets/images/tweaked-programs-icon.png
extra_css: extra_css:
- assets/stylesheets/extra.css - assets/style.css