mirror of
https://codeberg.org/moonleay/Gimbal.git
synced 2024-11-25 22:22:10 +00:00
chore: moved group to net.moonleay
fix: fixed camera going meyhem when going 3rd person in NoClip
This commit is contained in:
parent
0cd271f139
commit
7383fa09e8
31 changed files with 125 additions and 107 deletions
|
@ -10,7 +10,7 @@ org.gradle.jvmargs=-Xmx2G
|
||||||
modId=gimble
|
modId=gimble
|
||||||
kotlinx.serialization.version=1.6.2
|
kotlinx.serialization.version=1.6.2
|
||||||
fabric.kotlin.version=1.10.19+kotlin.1.9.23
|
fabric.kotlin.version=1.10.19+kotlin.1.9.23
|
||||||
mavenGroup=net.moonleay.mods
|
mavenGroup=net.moonleay
|
||||||
kotlin.code.style=official
|
kotlin.code.style=official
|
||||||
minecraft.version=1.19.2
|
minecraft.version=1.19.2
|
||||||
modName=Gimble
|
modName=Gimble
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package net.moonleay.mods.gimble
|
package net.moonleay.gimble
|
||||||
|
|
||||||
import net.moonleay.mods.gimble.build.BuildConstants
|
import net.moonleay.gimble.build.BuildConstants
|
||||||
import net.fabricmc.api.ModInitializer
|
import net.fabricmc.api.ModInitializer
|
||||||
import org.apache.logging.log4j.LogManager
|
import org.apache.logging.log4j.LogManager
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
package net.moonleay.mods.gimble.client
|
package net.moonleay.gimble.client
|
||||||
|
|
||||||
import net.moonleay.mods.gimble.build.BuildConstants
|
import net.moonleay.gimble.build.BuildConstants
|
||||||
import net.fabricmc.api.ClientModInitializer
|
import net.fabricmc.api.ClientModInitializer
|
||||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents
|
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents
|
||||||
import net.moonleay.mods.gimble.client.editor.ClientEditor
|
import net.moonleay.gimble.client.keybindings.KeybindingManager
|
||||||
import net.moonleay.mods.gimble.client.keybindings.KeybindingManager
|
import net.moonleay.gimble.client.keybindings.KeybindingRegistrar
|
||||||
import net.moonleay.mods.gimble.client.keybindings.KeybindingRegistrar
|
|
||||||
import org.apache.logging.log4j.LogManager
|
import org.apache.logging.log4j.LogManager
|
||||||
|
|
||||||
internal object ClientMain : ClientModInitializer {
|
internal object ClientMain : ClientModInitializer {
|
||||||
|
@ -15,7 +14,7 @@ internal object ClientMain : ClientModInitializer {
|
||||||
override fun onInitializeClient() {
|
override fun onInitializeClient() {
|
||||||
LOGGER.info("Initializing Gimble on the client side...")
|
LOGGER.info("Initializing Gimble on the client side...")
|
||||||
KeybindingRegistrar.registerKeybindings()
|
KeybindingRegistrar.registerKeybindings()
|
||||||
this.registerEvents()
|
registerEvents()
|
||||||
LOGGER.info("Gimble has been initialized on the client side.")
|
LOGGER.info("Gimble has been initialized on the client side.")
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package net.moonleay.mods.gimble.client.editor
|
package net.moonleay.gimble.client.editor
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
import net.moonleay.mods.gimble.client.util.ChatUtil
|
import net.moonleay.gimble.client.util.ChatUtil
|
||||||
import net.moonleay.mods.gimble.client.editor.modes.Mode
|
import net.moonleay.gimble.client.editor.modes.Mode
|
||||||
import net.moonleay.mods.gimble.client.editor.modes.ModeModifier
|
import net.moonleay.gimble.client.editor.modes.ModeModifier
|
||||||
|
|
||||||
object ClientEditor {
|
object ClientEditor {
|
||||||
var CURRENT_MODE = Mode.NORMAL
|
var CURRENT_MODE = Mode.NORMAL
|
||||||
|
@ -25,17 +25,19 @@ object ClientEditor {
|
||||||
CURRENT_MODE_MODIFIER.add(mod)
|
CURRENT_MODE_MODIFIER.add(mod)
|
||||||
}
|
}
|
||||||
|
|
||||||
this.onModifiersUpdated()
|
onModifiersUpdated()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onModifiersUpdated() {
|
fun onModifiersUpdated() {
|
||||||
CURRENT_MODE_MODIFIER.sort()
|
CURRENT_MODE_MODIFIER.sort()
|
||||||
this.checkForIncompatibleModeModifiers()
|
checkForIncompatibleModeModifiers()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun checkForIncompatibleModeModifiers() {
|
fun checkForIncompatibleModeModifiers() {
|
||||||
if (TEMP_DISABLED_MODIFIERS.size > 0) {
|
if (TEMP_DISABLED_MODIFIERS.size > 0) {
|
||||||
CURRENT_MODE_MODIFIER.addAll(TEMP_DISABLED_MODIFIERS)
|
CURRENT_MODE_MODIFIER.addAll(
|
||||||
|
TEMP_DISABLED_MODIFIERS
|
||||||
|
)
|
||||||
TEMP_DISABLED_MODIFIERS.clear()
|
TEMP_DISABLED_MODIFIERS.clear()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,7 +55,7 @@ object ClientEditor {
|
||||||
|
|
||||||
if(TEMP_DISABLED_MODIFIERS.isNotEmpty()) {
|
if(TEMP_DISABLED_MODIFIERS.isNotEmpty()) {
|
||||||
ChatUtil.addToChatHistory("The following modifiers are not supported by this editor mode and are therefore currently disabled: " +
|
ChatUtil.addToChatHistory("The following modifiers are not supported by this editor mode and are therefore currently disabled: " +
|
||||||
this.getListAsString(TEMP_DISABLED_MODIFIERS), MinecraftClient.getInstance())
|
getListAsString(TEMP_DISABLED_MODIFIERS), MinecraftClient.getInstance())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.moonleay.mods.gimble.client.editor.modes
|
package net.moonleay.gimble.client.editor.modes
|
||||||
|
|
||||||
enum class Mode(val displayName: String, val color: Int, val incompatibleModifiers: List<ModeModifier>){
|
enum class Mode(val displayName: String, val color: Int, val incompatibleModifiers: List<ModeModifier>){
|
||||||
NORMAL("NORMAL", 0x90a959, listOf(ModeModifier.NO_UPDATES, ModeModifier.BULLDOZER, ModeModifier.FORCE_PLACE)), // Do nothing
|
NORMAL("NORMAL", 0x90a959, listOf(ModeModifier.NO_UPDATES, ModeModifier.BULLDOZER, ModeModifier.FORCE_PLACE)), // Do nothing
|
|
@ -1,4 +1,4 @@
|
||||||
package net.moonleay.mods.gimble.client.editor.modes
|
package net.moonleay.gimble.client.editor.modes
|
||||||
|
|
||||||
enum class ModeModifier(val displayName: String) {
|
enum class ModeModifier(val displayName: String) {
|
||||||
// NONE("None"), // No Modifiers - default behavior
|
// NONE("None"), // No Modifiers - default behavior
|
|
@ -1,9 +1,8 @@
|
||||||
package net.moonleay.mods.gimble.client.keybindings
|
package net.moonleay.gimble.client.keybindings
|
||||||
|
|
||||||
import net.fabricmc.fabric.impl.client.keybinding.KeyBindingRegistryImpl
|
import net.fabricmc.fabric.impl.client.keybinding.KeyBindingRegistryImpl
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
import net.minecraft.client.option.KeyBinding
|
import net.moonleay.gimble.client.keybindings.impl.GimbleShortcut
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.GimbleShortcut
|
|
||||||
|
|
||||||
object KeybindingManager {
|
object KeybindingManager {
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
package net.moonleay.mods.gimble.client.keybindings
|
package net.moonleay.gimble.client.keybindings
|
||||||
|
|
||||||
import net.minecraft.client.option.KeyBinding
|
import net.minecraft.client.option.KeyBinding
|
||||||
import net.minecraft.client.util.InputUtil
|
import net.minecraft.client.util.InputUtil
|
||||||
import net.moonleay.mods.gimble.build.BuildConstants
|
import net.moonleay.gimble.build.BuildConstants
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.editormode.EnableInsertModeShortcut
|
import net.moonleay.gimble.client.keybindings.impl.editormode.EnableInsertModeShortcut
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.editormode.EnableReplaceModeShortcut
|
import net.moonleay.gimble.client.keybindings.impl.editormode.EnableReplaceModeShortcut
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.editormode.EnableVisualModeShortcut
|
import net.moonleay.gimble.client.keybindings.impl.editormode.EnableVisualModeShortcut
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.editormodemodifier.ToggleBulldozerModifierShortcut
|
import net.moonleay.gimble.client.keybindings.impl.editormodemodifier.ToggleBulldozerModifierShortcut
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.editormodemodifier.ToggleForcePlaceModifierShortcut
|
import net.moonleay.gimble.client.keybindings.impl.editormodemodifier.ToggleForcePlaceModifierShortcut
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.editormodemodifier.ToggleNoClipModifierShortcut
|
import net.moonleay.gimble.client.keybindings.impl.editormodemodifier.ToggleNoClipModifierShortcut
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.editormodemodifier.ToggleNoUpdatesModifierShortcut
|
import net.moonleay.gimble.client.keybindings.impl.editormodemodifier.ToggleNoUpdatesModifierShortcut
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.gamemode.CreativeModeShortcut
|
import net.moonleay.gimble.client.keybindings.impl.gamemode.CreativeModeShortcut
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.gamemode.SpectatorModeShortcut
|
import net.moonleay.gimble.client.keybindings.impl.gamemode.SpectatorModeShortcut
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.gamemode.SurvivalModeShortcut
|
import net.moonleay.gimble.client.keybindings.impl.gamemode.SurvivalModeShortcut
|
||||||
import org.apache.logging.log4j.LogManager
|
import org.apache.logging.log4j.LogManager
|
||||||
import org.lwjgl.glfw.GLFW
|
import org.lwjgl.glfw.GLFW
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package net.moonleay.mods.gimble.client.keybindings.impl
|
package net.moonleay.gimble.client.keybindings.impl
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
import net.minecraft.client.option.KeyBinding
|
import net.minecraft.client.option.KeyBinding
|
|
@ -1,10 +1,10 @@
|
||||||
package net.moonleay.mods.gimble.client.keybindings.impl.editormode
|
package net.moonleay.gimble.client.keybindings.impl.editormode
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
import net.minecraft.client.option.KeyBinding
|
import net.minecraft.client.option.KeyBinding
|
||||||
import net.moonleay.mods.gimble.client.editor.ClientEditor
|
import net.moonleay.gimble.client.editor.ClientEditor
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.GimbleShortcut
|
import net.moonleay.gimble.client.keybindings.impl.GimbleShortcut
|
||||||
import net.moonleay.mods.gimble.client.editor.modes.Mode
|
import net.moonleay.gimble.client.editor.modes.Mode
|
||||||
|
|
||||||
|
|
||||||
class EnableInsertModeShortcut(key: KeyBinding): GimbleShortcut(key) {
|
class EnableInsertModeShortcut(key: KeyBinding): GimbleShortcut(key) {
|
|
@ -1,10 +1,10 @@
|
||||||
package net.moonleay.mods.gimble.client.keybindings.impl.editormode
|
package net.moonleay.gimble.client.keybindings.impl.editormode
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
import net.minecraft.client.option.KeyBinding
|
import net.minecraft.client.option.KeyBinding
|
||||||
import net.moonleay.mods.gimble.client.editor.ClientEditor
|
import net.moonleay.gimble.client.editor.ClientEditor
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.GimbleShortcut
|
import net.moonleay.gimble.client.keybindings.impl.GimbleShortcut
|
||||||
import net.moonleay.mods.gimble.client.editor.modes.Mode
|
import net.moonleay.gimble.client.editor.modes.Mode
|
||||||
|
|
||||||
|
|
||||||
class EnableReplaceModeShortcut(key: KeyBinding): GimbleShortcut(key) {
|
class EnableReplaceModeShortcut(key: KeyBinding): GimbleShortcut(key) {
|
|
@ -1,10 +1,10 @@
|
||||||
package net.moonleay.mods.gimble.client.keybindings.impl.editormode
|
package net.moonleay.gimble.client.keybindings.impl.editormode
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
import net.minecraft.client.option.KeyBinding
|
import net.minecraft.client.option.KeyBinding
|
||||||
import net.moonleay.mods.gimble.client.editor.ClientEditor
|
import net.moonleay.gimble.client.editor.ClientEditor
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.GimbleShortcut
|
import net.moonleay.gimble.client.keybindings.impl.GimbleShortcut
|
||||||
import net.moonleay.mods.gimble.client.editor.modes.Mode
|
import net.moonleay.gimble.client.editor.modes.Mode
|
||||||
|
|
||||||
|
|
||||||
class EnableVisualModeShortcut(key: KeyBinding): GimbleShortcut(key) {
|
class EnableVisualModeShortcut(key: KeyBinding): GimbleShortcut(key) {
|
|
@ -1,10 +1,10 @@
|
||||||
package net.moonleay.mods.gimble.client.keybindings.impl.editormodemodifier
|
package net.moonleay.gimble.client.keybindings.impl.editormodemodifier
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
import net.minecraft.client.option.KeyBinding
|
import net.minecraft.client.option.KeyBinding
|
||||||
import net.moonleay.mods.gimble.client.editor.ClientEditor
|
import net.moonleay.gimble.client.editor.ClientEditor
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.GimbleShortcut
|
import net.moonleay.gimble.client.keybindings.impl.GimbleShortcut
|
||||||
import net.moonleay.mods.gimble.client.editor.modes.ModeModifier
|
import net.moonleay.gimble.client.editor.modes.ModeModifier
|
||||||
|
|
||||||
class ToggleBulldozerModifierShortcut(key: KeyBinding): GimbleShortcut(key) {
|
class ToggleBulldozerModifierShortcut(key: KeyBinding): GimbleShortcut(key) {
|
||||||
override fun onPressed(client: MinecraftClient) {
|
override fun onPressed(client: MinecraftClient) {
|
|
@ -1,10 +1,10 @@
|
||||||
package net.moonleay.mods.gimble.client.keybindings.impl.editormodemodifier
|
package net.moonleay.gimble.client.keybindings.impl.editormodemodifier
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
import net.minecraft.client.option.KeyBinding
|
import net.minecraft.client.option.KeyBinding
|
||||||
import net.moonleay.mods.gimble.client.editor.ClientEditor
|
import net.moonleay.gimble.client.editor.ClientEditor
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.GimbleShortcut
|
import net.moonleay.gimble.client.keybindings.impl.GimbleShortcut
|
||||||
import net.moonleay.mods.gimble.client.editor.modes.ModeModifier
|
import net.moonleay.gimble.client.editor.modes.ModeModifier
|
||||||
|
|
||||||
class ToggleForcePlaceModifierShortcut(key: KeyBinding): GimbleShortcut(key) {
|
class ToggleForcePlaceModifierShortcut(key: KeyBinding): GimbleShortcut(key) {
|
||||||
override fun onPressed(client: MinecraftClient) {
|
override fun onPressed(client: MinecraftClient) {
|
|
@ -1,10 +1,10 @@
|
||||||
package net.moonleay.mods.gimble.client.keybindings.impl.editormodemodifier
|
package net.moonleay.gimble.client.keybindings.impl.editormodemodifier
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
import net.minecraft.client.option.KeyBinding
|
import net.minecraft.client.option.KeyBinding
|
||||||
import net.moonleay.mods.gimble.client.editor.ClientEditor
|
import net.moonleay.gimble.client.editor.ClientEditor
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.GimbleShortcut
|
import net.moonleay.gimble.client.keybindings.impl.GimbleShortcut
|
||||||
import net.moonleay.mods.gimble.client.editor.modes.ModeModifier
|
import net.moonleay.gimble.client.editor.modes.ModeModifier
|
||||||
|
|
||||||
class ToggleNoClipModifierShortcut(key: KeyBinding): GimbleShortcut(key) {
|
class ToggleNoClipModifierShortcut(key: KeyBinding): GimbleShortcut(key) {
|
||||||
override fun onPressed(client: MinecraftClient) {
|
override fun onPressed(client: MinecraftClient) {
|
|
@ -1,10 +1,10 @@
|
||||||
package net.moonleay.mods.gimble.client.keybindings.impl.editormodemodifier
|
package net.moonleay.gimble.client.keybindings.impl.editormodemodifier
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
import net.minecraft.client.option.KeyBinding
|
import net.minecraft.client.option.KeyBinding
|
||||||
import net.moonleay.mods.gimble.client.editor.ClientEditor
|
import net.moonleay.gimble.client.editor.ClientEditor
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.GimbleShortcut
|
import net.moonleay.gimble.client.keybindings.impl.GimbleShortcut
|
||||||
import net.moonleay.mods.gimble.client.editor.modes.ModeModifier
|
import net.moonleay.gimble.client.editor.modes.ModeModifier
|
||||||
|
|
||||||
class ToggleNoUpdatesModifierShortcut(key: KeyBinding): GimbleShortcut(key) {
|
class ToggleNoUpdatesModifierShortcut(key: KeyBinding): GimbleShortcut(key) {
|
||||||
override fun onPressed(client: MinecraftClient) {
|
override fun onPressed(client: MinecraftClient) {
|
|
@ -1,9 +1,9 @@
|
||||||
package net.moonleay.mods.gimble.client.keybindings.impl.gamemode
|
package net.moonleay.gimble.client.keybindings.impl.gamemode
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
import net.minecraft.client.option.KeyBinding
|
import net.minecraft.client.option.KeyBinding
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.GimbleShortcut
|
import net.moonleay.gimble.client.keybindings.impl.GimbleShortcut
|
||||||
import net.moonleay.mods.gimble.client.util.ChatUtil
|
import net.moonleay.gimble.client.util.ChatUtil
|
||||||
|
|
||||||
class CreativeModeShortcut(key: KeyBinding): GimbleShortcut(key) {
|
class CreativeModeShortcut(key: KeyBinding): GimbleShortcut(key) {
|
||||||
override fun onPressed(client: MinecraftClient) {
|
override fun onPressed(client: MinecraftClient) {
|
|
@ -1,9 +1,9 @@
|
||||||
package net.moonleay.mods.gimble.client.keybindings.impl.gamemode
|
package net.moonleay.gimble.client.keybindings.impl.gamemode
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
import net.minecraft.client.option.KeyBinding
|
import net.minecraft.client.option.KeyBinding
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.GimbleShortcut
|
import net.moonleay.gimble.client.keybindings.impl.GimbleShortcut
|
||||||
import net.moonleay.mods.gimble.client.util.ChatUtil
|
import net.moonleay.gimble.client.util.ChatUtil
|
||||||
|
|
||||||
class SpectatorModeShortcut(key: KeyBinding): GimbleShortcut(key) {
|
class SpectatorModeShortcut(key: KeyBinding): GimbleShortcut(key) {
|
||||||
override fun onPressed(client: MinecraftClient) {
|
override fun onPressed(client: MinecraftClient) {
|
|
@ -1,9 +1,9 @@
|
||||||
package net.moonleay.mods.gimble.client.keybindings.impl.gamemode
|
package net.moonleay.gimble.client.keybindings.impl.gamemode
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
import net.minecraft.client.option.KeyBinding
|
import net.minecraft.client.option.KeyBinding
|
||||||
import net.moonleay.mods.gimble.client.keybindings.impl.GimbleShortcut
|
import net.moonleay.gimble.client.keybindings.impl.GimbleShortcut
|
||||||
import net.moonleay.mods.gimble.client.util.ChatUtil
|
import net.moonleay.gimble.client.util.ChatUtil
|
||||||
|
|
||||||
|
|
||||||
class SurvivalModeShortcut(key: KeyBinding) : GimbleShortcut(key) {
|
class SurvivalModeShortcut(key: KeyBinding) : GimbleShortcut(key) {
|
|
@ -1,4 +1,4 @@
|
||||||
package net.moonleay.mods.gimble.client.util
|
package net.moonleay.gimble.client.util
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
import net.minecraft.text.Text
|
import net.minecraft.text.Text
|
|
@ -1,6 +1,6 @@
|
||||||
package net.moonleay.mods.gimble.datagen
|
package net.moonleay.gimble.datagen
|
||||||
|
|
||||||
import net.moonleay.mods.gimble.build.BuildConstants
|
import net.moonleay.gimble.build.BuildConstants
|
||||||
import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint
|
import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint
|
||||||
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator
|
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator
|
||||||
import org.apache.logging.log4j.LogManager
|
import org.apache.logging.log4j.LogManager
|
|
@ -1,4 +1,4 @@
|
||||||
package net.moonleay.mods.gimble.datagen
|
package net.moonleay.gimble.datagen
|
||||||
|
|
||||||
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator
|
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator
|
||||||
import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider
|
import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider
|
|
@ -1,13 +1,13 @@
|
||||||
package net.moonleay.mods.gimble.mixin;
|
package net.moonleay.gimble.mixin;
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
import net.minecraft.client.gui.hud.InGameHud;
|
import net.minecraft.client.gui.hud.InGameHud;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.moonleay.mods.gimble.client.editor.ClientEditor;
|
import net.moonleay.gimble.client.editor.ClientEditor;
|
||||||
import net.moonleay.mods.gimble.client.editor.modes.Mode;
|
import net.moonleay.gimble.client.editor.modes.Mode;
|
||||||
import net.moonleay.mods.gimble.client.editor.modes.ModeModifier;
|
import net.moonleay.gimble.client.editor.modes.ModeModifier;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.spongepowered.asm.mixin.Final;
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
|
@ -1,4 +1,4 @@
|
||||||
package net.moonleay.mods.gimble.mixin;
|
package net.moonleay.gimble.mixin;
|
||||||
|
|
||||||
import net.minecraft.client.Keyboard;
|
import net.minecraft.client.Keyboard;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
21
src/main/java/net/moonleay/gimble/mixin/NoClipCameraFix.java
Normal file
21
src/main/java/net/moonleay/gimble/mixin/NoClipCameraFix.java
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
package net.moonleay.gimble.mixin;
|
||||||
|
|
||||||
|
import net.minecraft.client.render.Camera;
|
||||||
|
import net.moonleay.gimble.client.editor.ClientEditor;
|
||||||
|
import net.moonleay.gimble.client.editor.modes.ModeModifier;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||||
|
|
||||||
|
@Mixin(Camera.class)
|
||||||
|
public class NoClipCameraFix {
|
||||||
|
|
||||||
|
@Inject(method = "clipToSpace", at = @At("HEAD"), cancellable = true)
|
||||||
|
private void fixCameraInNoClip(double desiredCameraDistance, CallbackInfoReturnable<Double> cir) {
|
||||||
|
if (ClientEditor.INSTANCE.containsModifier(ModeModifier.NO_CLIP)){
|
||||||
|
cir.setReturnValue(desiredCameraDistance);
|
||||||
|
cir.cancel();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,15 +1,9 @@
|
||||||
package net.moonleay.mods.gimble.mixin;
|
package net.moonleay.gimble.mixin;
|
||||||
|
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.entity.EntityType;
|
|
||||||
import net.minecraft.entity.LivingEntity;
|
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import net.minecraft.nbt.NbtCompound;
|
import net.moonleay.gimble.client.editor.ClientEditor;
|
||||||
import net.minecraft.network.Packet;
|
import net.moonleay.gimble.client.editor.modes.ModeModifier;
|
||||||
import net.minecraft.world.World;
|
|
||||||
import net.minecraft.world.entity.EntityLike;
|
|
||||||
import net.moonleay.mods.gimble.client.editor.ClientEditor;
|
|
||||||
import net.moonleay.mods.gimble.client.editor.modes.ModeModifier;
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
@ -23,11 +17,14 @@ public class NoClipMixin {
|
||||||
|
|
||||||
@Inject(method = "tick", at = @At(value = "HEAD"))
|
@Inject(method = "tick", at = @At(value = "HEAD"))
|
||||||
private void enoClip(CallbackInfo ci) {
|
private void enoClip(CallbackInfo ci) {
|
||||||
if (!ClientEditor.INSTANCE.containsModifier(ModeModifier.NO_CLIP))
|
// TODO: Add player check, add multiplayer compat
|
||||||
|
if(!((Entity)(Object)this instanceof PlayerEntity)) // Only check on player
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// TODO: Add player check, add multiplayer compat
|
if (!ClientEditor.INSTANCE.containsModifier(ModeModifier.NO_CLIP))
|
||||||
if(!((Entity)(Object)this instanceof PlayerEntity))
|
return;
|
||||||
|
PlayerEntity thePlayer = (PlayerEntity)(Object)this;
|
||||||
|
if (!thePlayer.getAbilities().flying)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
this.noClip = true;
|
this.noClip = true;
|
|
@ -1,9 +1,9 @@
|
||||||
package net.moonleay.mods.gimble.mixin;
|
package net.moonleay.gimble.mixin;
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.option.GameOptions;
|
import net.minecraft.client.option.GameOptions;
|
||||||
import net.moonleay.mods.gimble.client.editor.ClientEditor;
|
import net.moonleay.gimble.client.editor.modes.Mode;
|
||||||
import net.moonleay.mods.gimble.client.editor.modes.Mode;
|
import net.moonleay.gimble.client.editor.ClientEditor;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
|
@ -1,4 +1,4 @@
|
||||||
package net.moonleay.mods.gimble.mixin;
|
package net.moonleay.gimble.mixin;
|
||||||
|
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
@ -11,8 +11,8 @@ import net.minecraft.util.hit.BlockHitResult;
|
||||||
import net.minecraft.util.hit.HitResult;
|
import net.minecraft.util.hit.HitResult;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.moonleay.mods.gimble.client.editor.ClientEditor;
|
import net.moonleay.gimble.client.editor.ClientEditor;
|
||||||
import net.moonleay.mods.gimble.client.editor.modes.Mode;
|
import net.moonleay.gimble.client.editor.modes.Mode;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.spongepowered.asm.mixin.Final;
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
@ -44,9 +44,8 @@ public abstract class ReplaceModeMixin {
|
||||||
assert this.interactionManager != null;
|
assert this.interactionManager != null;
|
||||||
if (!this.interactionManager.getCurrentGameMode().isCreative())
|
if (!this.interactionManager.getCurrentGameMode().isCreative())
|
||||||
return;
|
return;
|
||||||
if (!(this.crosshairTarget instanceof BlockHitResult))
|
if (!(this.crosshairTarget instanceof BlockHitResult blockHitResult))
|
||||||
return;
|
return;
|
||||||
BlockHitResult blockHitResult = (BlockHitResult)this.crosshairTarget;
|
|
||||||
if (blockHitResult == null)
|
if (blockHitResult == null)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -14,19 +14,19 @@
|
||||||
"client": [
|
"client": [
|
||||||
{
|
{
|
||||||
"adapter": "kotlin",
|
"adapter": "kotlin",
|
||||||
"value": "net.moonleay.mods.gimble.client.ClientMain"
|
"value": "net.moonleay.gimble.client.ClientMain"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"main": [
|
"main": [
|
||||||
{
|
{
|
||||||
"adapter": "kotlin",
|
"adapter": "kotlin",
|
||||||
"value": "net.moonleay.mods.gimble.Main"
|
"value": "net.moonleay.gimble.Main"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"fabric-datagen": [
|
"fabric-datagen": [
|
||||||
{
|
{
|
||||||
"adapter": "kotlin",
|
"adapter": "kotlin",
|
||||||
"value": "net.moonleay.mods.gimble.datagen.DataGenerator"
|
"value": "net.moonleay.gimble.datagen.DataGenerator"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
{
|
{
|
||||||
"required": true,
|
"required": true,
|
||||||
"minVersion": "0.8",
|
"minVersion": "0.8",
|
||||||
"package": "net.moonleay.mods.gimble.mixin",
|
"package": "net.moonleay.gimble.mixin",
|
||||||
"compatibilityLevel": "JAVA_17",
|
"compatibilityLevel": "JAVA_17",
|
||||||
"mixins": [
|
"mixins": [
|
||||||
"NoClipMixin"
|
"NoClipMixin"
|
||||||
],
|
],
|
||||||
"client": [
|
"client": [
|
||||||
"HudMixin",
|
"HudMixin",
|
||||||
|
"NoClipCameraFix",
|
||||||
"NormalModeMixin",
|
"NormalModeMixin",
|
||||||
"ReplaceModeMixin"
|
"ReplaceModeMixin"
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.moonleay.mods.gimble.build
|
package net.moonleay.gimble.build
|
||||||
|
|
||||||
internal object BuildConstants {
|
internal object BuildConstants {
|
||||||
const val modId = "${modId}"
|
const val modId = "${modId}"
|
||||||
const val modName = "${modName}"
|
const val modName = "${modName}"
|
||||||
const val modVersion = "${modVersion}"
|
const val modVersion = "${modVersion}"
|
||||||
}
|
}
|
Loading…
Reference in a new issue