Watering can lore
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts";
|
||||
import { PlayerInventory } from "../components/inventory.ts";
|
||||
import { WateringCanData } from "../items/watering_can.ts";
|
||||
|
||||
EverythingRegistry.register<TileRegistry>("tiles", "bworld:dirt", {
|
||||
texture_id: "bworld:dirt",
|
||||
@@ -40,7 +41,11 @@ EverythingRegistry.register<TileRegistry>("tiles", "bworld:hoed_dirt", {
|
||||
}
|
||||
|
||||
if (item.type_id === "bworld:watering_can") {
|
||||
tile.id = "bworld:hoed_watered_dirt";
|
||||
const data = item.data as WateringCanData;
|
||||
if (data.water > 0) {
|
||||
tile.id = "bworld:hoed_watered_dirt";
|
||||
data.water -= 1;
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
@@ -2,3 +2,4 @@ import "./grass.ts";
|
||||
import "./dirt.ts";
|
||||
import "./tree.ts";
|
||||
import "./crops.ts";
|
||||
import "./water.ts";
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts";
|
||||
import { PlayerInventory } from "../components/inventory.ts";
|
||||
import { WateringCanData } from "../items/watering_can.ts";
|
||||
|
||||
EverythingRegistry.register<TileRegistry>("tiles", "bworld:water", {
|
||||
texture_id: "bworld:water",
|
||||
has_collision: true,
|
||||
|
||||
on_interact(world, _tile) {
|
||||
const [player] = world.get_tag("player")!;
|
||||
const player_inventory = player.get(PlayerInventory)!;
|
||||
const maybe_item = player_inventory.container.get_item(player_inventory.hotbar_selected);
|
||||
if (maybe_item && maybe_item.type_id === "bworld:watering_can") {
|
||||
const data = maybe_item.data as WateringCanData;
|
||||
data.water = data.max_water;
|
||||
}
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user