mirror of
https://github.com/kolbytn/mindcraft.git
synced 2025-08-21 22:53:45 +02:00
will now give self item in creative mode
This commit is contained in:
parent
6935035c7a
commit
7e71f12026
4 changed files with 14 additions and 2 deletions
|
@ -12,6 +12,7 @@
|
||||||
"mineflayer-pvp": "^1.3.2",
|
"mineflayer-pvp": "^1.3.2",
|
||||||
"openai": "^4.4.0",
|
"openai": "^4.4.0",
|
||||||
"patch-package": "^8.0.0",
|
"patch-package": "^8.0.0",
|
||||||
|
"prismarine-item": "^1.14.0",
|
||||||
"replicate": "^0.29.4",
|
"replicate": "^0.29.4",
|
||||||
"vec3": "^0.1.10",
|
"vec3": "^0.1.10",
|
||||||
"yargs": "^17.7.2"
|
"yargs": "^17.7.2"
|
||||||
|
|
|
@ -525,7 +525,7 @@ export async function placeBlock(bot, blockType, x, y, z, placeOn='bottom', dont
|
||||||
blockType += `[facing=${face}]`;
|
blockType += `[facing=${face}]`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (blockType === 'repeater' || blockType === 'comparator') {
|
if (blockType === 'ladder' || blockType === 'repeater' || blockType === 'comparator') {
|
||||||
blockType += `[facing=${face}]`;
|
blockType += `[facing=${face}]`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -540,6 +540,10 @@ export async function placeBlock(bot, blockType, x, y, z, placeOn='bottom', dont
|
||||||
}
|
}
|
||||||
|
|
||||||
let block = bot.inventory.items().find(item => item.name === blockType);
|
let block = bot.inventory.items().find(item => item.name === blockType);
|
||||||
|
if (!block && bot.game.gameMode === 'creative') {
|
||||||
|
await bot.creative.setInventorySlot(36, mc.makeItem(blockType, 1)); // 36 is first hotbar slot
|
||||||
|
block = bot.inventory.items().find(item => item.name === blockType);
|
||||||
|
}
|
||||||
if (!block) {
|
if (!block) {
|
||||||
log(bot, `Don't have any ${blockType} to place.`);
|
log(bot, `Don't have any ${blockType} to place.`);
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -261,6 +261,8 @@ export function shouldPlaceTorch(bot) {
|
||||||
const pos = getPosition(bot);
|
const pos = getPosition(bot);
|
||||||
// TODO: check light level instead of nearby torches, block.light is broken
|
// TODO: check light level instead of nearby torches, block.light is broken
|
||||||
let nearest_torch = getNearestBlock(bot, 'torch', 6);
|
let nearest_torch = getNearestBlock(bot, 'torch', 6);
|
||||||
|
if (!nearest_torch)
|
||||||
|
nearest_torch = getNearestBlock(bot, 'wall_torch', 6);
|
||||||
if (!nearest_torch) {
|
if (!nearest_torch) {
|
||||||
const block = bot.blockAt(pos);
|
const block = bot.blockAt(pos);
|
||||||
let has_torch = bot.inventory.items().find(item => item.name === 'torch');
|
let has_torch = bot.inventory.items().find(item => item.name === 'torch');
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import minecraftData from 'minecraft-data';
|
import minecraftData from 'minecraft-data';
|
||||||
import settings from '../../settings.js';
|
import settings from '../../settings.js';
|
||||||
import { createBot } from 'mineflayer';
|
import { createBot } from 'mineflayer';
|
||||||
|
import prismarine_items from 'prismarine-item';
|
||||||
import { pathfinder } from 'mineflayer-pathfinder';
|
import { pathfinder } from 'mineflayer-pathfinder';
|
||||||
import { plugin as pvp } from 'mineflayer-pvp';
|
import { plugin as pvp } from 'mineflayer-pvp';
|
||||||
import { plugin as collectblock } from 'mineflayer-collectblock';
|
import { plugin as collectblock } from 'mineflayer-collectblock';
|
||||||
|
@ -10,7 +11,7 @@ const armorManager = plugin;
|
||||||
|
|
||||||
const mc_version = settings.minecraft_version;
|
const mc_version = settings.minecraft_version;
|
||||||
const mcdata = minecraftData(mc_version);
|
const mcdata = minecraftData(mc_version);
|
||||||
|
const Item = prismarine_items(mc_version);
|
||||||
|
|
||||||
export const WOOD_TYPES = ['oak', 'spruce', 'birch', 'jungle', 'acacia', 'dark_oak'];
|
export const WOOD_TYPES = ['oak', 'spruce', 'birch', 'jungle', 'acacia', 'dark_oak'];
|
||||||
export const MATCHING_WOOD_BLOCKS = [
|
export const MATCHING_WOOD_BLOCKS = [
|
||||||
|
@ -236,4 +237,8 @@ export function getBlockTool(blockName) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return getItemName(Object.keys(block.harvestTools)[0]); // Double check first tool is always simplest
|
return getItemName(Object.keys(block.harvestTools)[0]); // Double check first tool is always simplest
|
||||||
|
}
|
||||||
|
|
||||||
|
export function makeItem(name, amount=1) {
|
||||||
|
return new Item(getItemId(name), amount);
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue