diff --git a/download_mcdata.sh b/download_mcdata.sh index cb01495..20cb0af 100755 --- a/download_mcdata.sh +++ b/download_mcdata.sh @@ -5,7 +5,7 @@ set -eu VERSION="1.16.4" wget -Omcdata.zip "https://apimon.de/mcdata/$VERSION/$VERSION.zip" -rm -r mosfet/minecraft_data -mkdir mosfet/minecraft_data -unzip mcdata.zip -d mosfet/minecraft_data +rm -r minecraft_data || true +mkdir minecraft_data +unzip mcdata.zip -d minecraft_data rm mcdata.zip diff --git a/mosfet/main.py b/main.py similarity index 98% rename from mosfet/main.py rename to main.py index f0042d7..2eb152e 100644 --- a/mosfet/main.py +++ b/main.py @@ -11,7 +11,7 @@ from munch import Munch from watchdog.observers import Observer from watchdog.events import PatternMatchingEventHandler -import bot +from mosfet import bot global_state = Munch() g = global_state diff --git a/mosfet/blocks.py b/mosfet/blocks.py index e920f0f..f93627e 100644 --- a/mosfet/blocks.py +++ b/mosfet/blocks.py @@ -1,7 +1,7 @@ import json import importlib -import mcdata +from mosfet import mcdata MCD_BLOCKS = {} for d in mcdata.mcd.blocks.values(): diff --git a/mosfet/bot.py b/mosfet/bot.py index 4ecd22d..fd2b52f 100644 --- a/mosfet/bot.py +++ b/mosfet/bot.py @@ -13,28 +13,27 @@ PASSWORD = os.environ['PASSWORD'] SERVER = os.environ['SERVER'] PORT = int(os.environ.get('PORT', 25565)) -import monkey_patch # must be before any possible pyCraft imports +from . import monkey_patch # must be before any possible pyCraft imports from minecraft import authentication from minecraft.exceptions import YggdrasilError from minecraft.networking.connection import Connection from minecraft.networking.packets import Packet, clientbound, serverbound -from protocol.managers import DataManager, ChunksManager, ChatManager, ChunkNotLoadedException +from mosfet.protocol.managers import DataManager, ChunksManager, ChatManager, ChunkNotLoadedException from munch import Munch -from vector import Point3D, Vector3D -import blocks -import game -import items -import job -import mcdata -import mobs -import path -import print_help -import utils -import vector +from mosfet import blocks +from mosfet import game +from mosfet import items +from mosfet import job +from mosfet import mcdata +from mosfet import mobs +from mosfet import path +from mosfet import print_help +from mosfet import utils +from mosfet import vector for module in [ blocks, @@ -52,9 +51,9 @@ for module in [ last_tick = time.time() -PITCH_ANGLE_DIR = Vector3D((0, 1, 0)) -YAW_ANGLE_DIR = Vector3D((0, 0, -1)) -YAW_ANGLE_REF = Vector3D((0, 1, 0)) +PITCH_ANGLE_DIR = vector.Vector3D((0, 1, 0)) +YAW_ANGLE_DIR = vector.Vector3D((0, 0, -1)) +YAW_ANGLE_REF = vector.Vector3D((0, 1, 0)) YAW_LOOK_AHEAD = 4 @@ -116,7 +115,7 @@ def tick(global_state): ########## player physics ########## if g.path and len(g.path): - target = Point3D(g.path[0]) + target = vector.Point3D(g.path[0]) target.x += 0.5 target.z += 0.5 @@ -169,11 +168,11 @@ def tick(global_state): g.y_a = 0 if g.look_at: - look_at = Point3D(g.look_at) + look_at = vector.Point3D(g.look_at) elif g.path and len(g.path) > YAW_LOOK_AHEAD: - look_at = Point3D(g.path[YAW_LOOK_AHEAD]) + look_at = vector.Point3D(g.path[YAW_LOOK_AHEAD]) elif g.path and len(g.path): - look_at = Point3D(g.path[-1]) + look_at = vector.Point3D(g.path[-1]) else: look_at = None diff --git a/mosfet/game.py b/mosfet/game.py index 1ad3784..ceaff85 100644 --- a/mosfet/game.py +++ b/mosfet/game.py @@ -8,12 +8,10 @@ from itertools import count from munch import Munch from copy import copy -from vector import Point3D - from minecraft.networking.packets import Packet, clientbound, serverbound from minecraft.networking.types import BlockFace -from protocol.packets import ( +from mosfet.protocol.packets import ( SetSlotPacket, PlayerDiggingPacket, BlockBreakAnimationPacket, AcknowledgePlayerDiggingPacket, HeldItemChangePacket, PickItemPacket, OpenWindowPacket, @@ -24,16 +22,17 @@ from protocol.packets import ( SelectTradePacket, DisconnectPacket, ) -from protocol.types import Slot -import print_help +from mosfet.protocol.types import Slot -import utils -import path -import blocks -import items -import mcdata -import mobs -import bot +from mosfet import print_help +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs +from mosfet import bot +from mosfet import vector class MCWorld: def __init__(self, global_state): @@ -387,7 +386,7 @@ class Game: def handle_block_change(self, packet): if packet.block_state_id == blocks.SOUL_TORCH: try: - self.g.goal = Point3D((packet.location[0], packet.location[1], packet.location[2])) + self.g.goal = vector.Point3D((packet.location[0], packet.location[1], packet.location[2])) print('new waypoint:', self.g.goal) start = time.time() @@ -414,7 +413,7 @@ class Game: def handle_position_and_look(self, packet): print(packet) - p = Point3D((packet.x, packet.y, packet.z)) + p = vector.Point3D((packet.x, packet.y, packet.z)) self.g.pos = p confirm_packet = serverbound.play.TeleportConfirmPacket() diff --git a/mosfet/job.py b/mosfet/job.py index d35835c..3179469 100644 --- a/mosfet/job.py +++ b/mosfet/job.py @@ -7,16 +7,16 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs -from jobs import ( +from mosfet.jobs import ( cache_items, check_threats, clear_leaves, diff --git a/mosfet/jobs/cache_items.py b/mosfet/jobs/cache_items.py index 67a415b..28621ce 100644 --- a/mosfet/jobs/cache_items.py +++ b/mosfet/jobs/cache_items.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class CacheItemsStates: def idle(self): diff --git a/mosfet/jobs/check_threats.py b/mosfet/jobs/check_threats.py index cbe162d..f5b35e4 100644 --- a/mosfet/jobs/check_threats.py +++ b/mosfet/jobs/check_threats.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class CheckThreatsStates: def idle(self): diff --git a/mosfet/jobs/clear_leaves.py b/mosfet/jobs/clear_leaves.py index c0395d2..3592e7b 100644 --- a/mosfet/jobs/clear_leaves.py +++ b/mosfet/jobs/clear_leaves.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class ClearLeavesStates: def idle(self): diff --git a/mosfet/jobs/eat_food.py b/mosfet/jobs/eat_food.py index 880aedf..cccb508 100644 --- a/mosfet/jobs/eat_food.py +++ b/mosfet/jobs/eat_food.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class EatFoodStates: def idle(self): diff --git a/mosfet/jobs/fill_blocks.py b/mosfet/jobs/fill_blocks.py index 1b8e032..6b9d488 100644 --- a/mosfet/jobs/fill_blocks.py +++ b/mosfet/jobs/fill_blocks.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class FillBlocksStates: def idle(self): diff --git a/mosfet/jobs/find_gapple.py b/mosfet/jobs/find_gapple.py index 25ecadf..874ed8a 100644 --- a/mosfet/jobs/find_gapple.py +++ b/mosfet/jobs/find_gapple.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class FindGappleStates: def idle(self): diff --git a/mosfet/jobs/gather_crop.py b/mosfet/jobs/gather_crop.py index 92cc48e..c643015 100644 --- a/mosfet/jobs/gather_crop.py +++ b/mosfet/jobs/gather_crop.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class GatherCropStates: def idle(self): diff --git a/mosfet/jobs/gather_sand.py b/mosfet/jobs/gather_sand.py index 7e0e769..5b4d579 100644 --- a/mosfet/jobs/gather_sand.py +++ b/mosfet/jobs/gather_sand.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class GatherSandStates: def bair(self, p): diff --git a/mosfet/jobs/gather_wart.py b/mosfet/jobs/gather_wart.py index e9a3348..827c18c 100644 --- a/mosfet/jobs/gather_wart.py +++ b/mosfet/jobs/gather_wart.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class GatherWartStates: def idle(self): diff --git a/mosfet/jobs/gather_wood.py b/mosfet/jobs/gather_wood.py index fcf6780..429bfd2 100644 --- a/mosfet/jobs/gather_wood.py +++ b/mosfet/jobs/gather_wood.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class GatherWoodStates: def bair(self, p): diff --git a/mosfet/jobs/grab_sand.py b/mosfet/jobs/grab_sand.py index cc5e6c4..03204c6 100644 --- a/mosfet/jobs/grab_sand.py +++ b/mosfet/jobs/grab_sand.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class GrabSandStates: def idle(self): diff --git a/mosfet/jobs/grab_sapling.py b/mosfet/jobs/grab_sapling.py index ba25642..259a379 100644 --- a/mosfet/jobs/grab_sapling.py +++ b/mosfet/jobs/grab_sapling.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class GrabSaplingStates: def idle(self): diff --git a/mosfet/jobs/grab_supplies.py b/mosfet/jobs/grab_supplies.py index d96034b..61e681a 100644 --- a/mosfet/jobs/grab_supplies.py +++ b/mosfet/jobs/grab_supplies.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class GrabSuppliesStates: def idle(self): diff --git a/mosfet/jobs/plant_tree.py b/mosfet/jobs/plant_tree.py index d8e3634..41be5f1 100644 --- a/mosfet/jobs/plant_tree.py +++ b/mosfet/jobs/plant_tree.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class PlantTreeStates: def idle(self): diff --git a/mosfet/jobs/sell_to_villager.py b/mosfet/jobs/sell_to_villager.py index 242dc16..231a052 100644 --- a/mosfet/jobs/sell_to_villager.py +++ b/mosfet/jobs/sell_to_villager.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class SellToVillagerStates: def idle(self): diff --git a/mosfet/jobs/sleep_with_bed.py b/mosfet/jobs/sleep_with_bed.py index 69facbe..ab48041 100644 --- a/mosfet/jobs/sleep_with_bed.py +++ b/mosfet/jobs/sleep_with_bed.py @@ -7,14 +7,14 @@ from math import hypot, floor from minecraft.networking.types import BlockFace -from protocol.managers import ChunkNotLoadedException +from mosfet.protocol.managers import ChunkNotLoadedException -import utils -import path -import blocks -import items -import mcdata -import mobs +from mosfet import utils +from mosfet import path +from mosfet import blocks +from mosfet import items +from mosfet import mcdata +from mosfet import mobs class SleepWithBedStates: def idle(self): diff --git a/mosfet/monkey_patch.py b/mosfet/monkey_patch.py index 67b1eb5..de2a6ca 100644 --- a/mosfet/monkey_patch.py +++ b/mosfet/monkey_patch.py @@ -1,5 +1,5 @@ import minecraft.networking.packets -from protocol import packets +from .protocol import packets def get_packets(old_get_packets): def wrapper(func, context): diff --git a/mosfet/path.py b/mosfet/path.py index 3f11270..a2f0e54 100644 --- a/mosfet/path.py +++ b/mosfet/path.py @@ -5,8 +5,8 @@ from math import hypot, sqrt from astar import AStar -import blocks -import utils +from mosfet import blocks +from mosfet import utils class AStarTimeout(Exception): pass diff --git a/mosfet/print_help.py b/mosfet/print_help.py index 6a1c2f7..96bf93c 100644 --- a/mosfet/print_help.py +++ b/mosfet/print_help.py @@ -1,6 +1,6 @@ HELP_LINES = [] -with open('game.py', 'r') as f: +with open('mosfet/game.py', 'r') as f: for line in f.readlines(): if line.strip().startswith('## '): HELP_LINES.append(line.strip()[3:]) diff --git a/mosfet/protocol/managers.py b/mosfet/protocol/managers.py index 24d487f..fa1ed3e 100644 --- a/mosfet/protocol/managers.py +++ b/mosfet/protocol/managers.py @@ -4,9 +4,9 @@ import json import time from minecraft.networking.packets import clientbound, serverbound -from protocol import packets +from mosfet.protocol import packets -import utils +from mosfet import utils class DataManager: def __init__(self, directory): diff --git a/mosfet/protocol/packets.py b/mosfet/protocol/packets.py index 1a5b1f4..055ddf3 100644 --- a/mosfet/protocol/packets.py +++ b/mosfet/protocol/packets.py @@ -8,9 +8,9 @@ from minecraft.networking.types import ( Float, Direction, PositionAndLook ) -from protocol.types import Nbt, Slot, Entry, Trade +from .types import Nbt, Slot, Entry, Trade -import blocks +from mosfet import blocks class ChunkDataPacket(Packet): diff --git a/mosfet/utils.py b/mosfet/utils.py index 498c2bf..48e3130 100644 --- a/mosfet/utils.py +++ b/mosfet/utils.py @@ -2,8 +2,8 @@ import importlib import collections from math import floor, ceil, sqrt, hypot -import blocks -import mcdata +from mosfet import blocks +from mosfet import mcdata TICK = 0.05