Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
b7e4411
Start of the importer stuff
sinender Nov 13, 2025
9d8bc21
add system interfaces
Wekendd Nov 13, 2025
f246e3f
oops
Wekendd Nov 13, 2025
29f6f20
Gl wekend with this merge :P
sinender Nov 13, 2025
67f764c
oops?
sinender Nov 13, 2025
25e0e49
npc types
Wekendd Nov 13, 2025
8812fa6
Merge remote-tracking branch 'origin/importer' into importer
Wekendd Nov 13, 2025
1ad424d
slime npc
Wekendd Nov 13, 2025
220c1ec
some more npc types
Wekendd Nov 13, 2025
bfab0a6
Create AnimalNpc.kt
Wekendd Nov 13, 2025
2c7367a
Added All NPC Types
al3xwarrior Nov 14, 2025
322e2be
Fix importer inconsistencies
sinender Nov 14, 2025
662bf89
Sorted actions based on hypixel gui
al3xwarrior Nov 14, 2025
309edc8
Start of an action importer, very buggy and only sometimes work
sinender Nov 14, 2025
8623416
In theory action importer is almost done? I have high hopes
sinender Nov 14, 2025
f9dbf85
Organize NPCs
Wekendd Nov 15, 2025
d8a6e75
CommandImporter
Wekendd Nov 15, 2025
c22d577
Add checks to skip setting values if they are already set to new value
Wekendd Nov 15, 2025
054291a
Tab completion data harvesting eh eh eh
Wekendd Nov 15, 2025
fc6a214
Ignore case for certain keyed enums
sinender Nov 19, 2025
e6da807
Conditions + other random things
sinender Nov 21, 2025
14dd8a6
Split interaction click and packet click up
sinender Nov 21, 2025
010cc33
Refactor action/condition importer classes to make more sense
sinender Nov 21, 2025
f160feb
RegionImporter
Wekendd Nov 21, 2025
0364f6a
better region/function delete
Wekendd Nov 21, 2025
0d7025c
command setActions()
Wekendd Nov 21, 2025
ceecc29
EventImporter
Wekendd Nov 22, 2025
cfa6f28
MenuImporter beginnings
Wekendd Nov 22, 2025
1359d49
clean some things up
Wekendd Nov 22, 2025
2b9296a
Default Values for Actions & Conditions
al3xwarrior Nov 22, 2025
64648f8
Migrated to SystemAPI, you must build systemapi locally to make it wo…
sinender Nov 25, 2025
100645f
Merge remote-tracking branch 'origin/importer' into importer
sinender Nov 25, 2025
355f2a0
Remove things that snuck through in merge
sinender Nov 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ plugins {

version = "${property("mod.version")}+${stonecutter.current.version}"
base.archivesName = property("mod.id") as String
group = "dev.wekend"

repositories {
mavenLocal()
/**
* Restricts dependency search of the given [groups] to the [maven URL][url],
* improving the setup speed.
Expand Down Expand Up @@ -42,7 +44,10 @@ dependencies {
modImplementation("com.terraformersmc:modmenu:${property("deps.modmenu")}")
modImplementation("dev.isxander:yet-another-config-lib:${property("deps.yacl")}")
include(modImplementation("de.siphalor.amecs-api:amecs-api-mc${stonecutter.current.version}:${property("deps.amecs")}")!!)
include(modImplementation("llc.redstone:SystemAPI:0.0.1+1.21.9")!!)

implementation("com.github.shynixn.mccoroutine:mccoroutine-fabric-api:2.22.0")
implementation("com.github.shynixn.mccoroutine:mccoroutine-fabric-core:2.22.0")

fapi("fabric-lifecycle-events-v1", "fabric-resource-loader-v0", "fabric-content-registries-v0")

Expand All @@ -68,6 +73,18 @@ java {
sourceCompatibility = javaVersion
}

publishing {

publications {
create<MavenPublication>("mavenJava") {
from(components["java"])
groupId = project.group.toString()
artifactId = "HousingToolbox"
version = project.version.toString()
}
}
}

tasks {
processResources {
val props = mapOf(
Expand Down
5 changes: 3 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ org.gradle.parallel=true
org.gradle.configuration-cache=true

# Mod properties
mod.version=0.2.2
mod.version=0.2.3
mod.group=dev.wekend
mod.id=housingtoolbox
mod.name=Housing Toolbox

# Global dependencies
deps.fabric_loader=0.17.3
deps.fabric_language_kotlin=1.13.6+kotlin.2.2.20
deps.fabric_language_kotlin=1.13.6+kotlin.2.2.20
deps.knbt=0.11.8

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package dev.wekend.housingtoolbox.mixins.menu;

import dev.wekend.housingtoolbox.config.HousingToolboxSettings;
import dev.wekend.housingtoolbox.util.TextUtils;
import dev.wekend.housingtoolbox.utils.TextUtils;
import net.minecraft.block.entity.SignText;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.ingame.AbstractSignEditScreen;
Expand Down
5 changes: 5 additions & 0 deletions src/main/kotlin/dev/wekend/housingtoolbox/HousingToolbox.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package dev.wekend.housingtoolbox

import com.github.shynixn.mccoroutine.fabric.mcCoroutineConfiguration
import dev.wekend.housingtoolbox.feature.ChatInput
import dev.wekend.housingtoolbox.keybind.KeyBindings
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.Dispatchers
import net.fabricmc.api.ClientModInitializer
import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents
import net.minecraft.client.MinecraftClient
Expand All @@ -26,5 +29,7 @@ object HousingToolbox : ClientModInitializer {
ClientReceiveMessageEvents.GAME.register { message, _ -> ChatInput.onGameMessage(message) }

KeyBindings.init()

mcCoroutineConfiguration.minecraftExecutor = MinecraftClient.getInstance()
}
}
27 changes: 25 additions & 2 deletions src/main/kotlin/dev/wekend/housingtoolbox/keybind/KeyNav.kt
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
package dev.wekend.housingtoolbox.keybind

import com.github.shynixn.mccoroutine.fabric.launch
import de.siphalor.amecs.api.KeyModifiers
import dev.wekend.housingtoolbox.HousingToolbox
import dev.wekend.housingtoolbox.keybind.KeyBindings.KeySpec
import dev.wekend.housingtoolbox.util.MenuUtils
import dev.wekend.housingtoolbox.util.MenuUtils.clickMenuTargets
import llc.redstone.systemapi.util.MenuUtils
import llc.redstone.systemapi.util.MenuUtils.clickMenuTargets
import net.minecraft.client.MinecraftClient
import net.minecraft.item.ItemStack
import net.minecraft.item.Items
import net.minecraft.nbt.NbtOps
import org.lwjgl.glfw.GLFW
import kotlin.jvm.optionals.getOrNull

object KeyNav {

Expand All @@ -29,6 +35,23 @@ object KeyNav {
)
}
),
KeySpec(
id = "copyitemnbt",
key = GLFW.GLFW_KEY_C,
modifiers = KeyModifiers(false, true, true),
onPress = {
val stack = MinecraftClient.getInstance().player?.inventory?.selectedStack
val result = ItemStack.CODEC.encodeStart(NbtOps.INSTANCE, stack).result().getOrNull()

if (result != null) {
val str = result.toString()
MinecraftClient.getInstance().keyboard.setClipboard(str)
true
} else {
false
}
}
),
KeySpec(
id = "paste",
key = GLFW.GLFW_KEY_V,
Expand Down
54 changes: 0 additions & 54 deletions src/main/kotlin/dev/wekend/housingtoolbox/util/MenuUtils.kt

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.wekend.housingtoolbox.util
package dev.wekend.housingtoolbox.utils

import net.minecraft.block.entity.SignText

Expand Down
3 changes: 2 additions & 1 deletion src/main/resources/housingtoolbox.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@
"package": "dev.wekend.housingtoolbox.mixins",
"compatibilityLevel": "JAVA_21",
"client": [
"menu.AnvilScreenMixin",
"menu.ClientPlayNetworkHandlerMixin",
"menu.ScreenCloseMixin",
"menu.ScreenRenderMixin",
"menu.SignScreenMixin"
],
"injectors": {
Expand Down