diff --git a/build.gradle b/build.gradle index 271be4d..9e68b90 100644 --- a/build.gradle +++ b/build.gradle @@ -1,57 +1,151 @@ plugins { - id 'java-library' - id 'maven-publish' - id 'com.github.johnrengelman.shadow' version '6.1.0' - id 'org.cadixdev.licenser' version '0.5.0' + id 'java-library' + id 'fabric-loom' version '0.6-SNAPSHOT' + id 'maven-publish' + id 'com.github.johnrengelman.shadow' version '6.1.0' + id 'org.cadixdev.licenser' version '0.5.0' } -allprojects { - apply plugin: 'java-library' +import net.fabricmc.loom.task.RemapJarTask - group = project.maven_group - version = project.mod_version +group = project.maven_group +version = "${project.mod_version}+${getMCVersionString()}" +archivesBaseName = project.archives_base_name + "-fabric" - // This field defines the Java version your mod target. - // The Minecraft launcher currently installs Java 8 for users, so your mod probably wants to target Java 8 too. - def targetJavaVersion = 8 +// This field defines the Java version your mod target. +// The Minecraft launcher currently installs Java 8 for users, so your mod probably wants to target Java 8 too. +def targetJavaVersion = 8 - repositories { - mavenLocal() - mavenCentral() - maven { url = 'https://aperlambda.github.io/maven' } - } - - dependencies { - } - - java { - sourceCompatibility = JavaVersion.toVersion(targetJavaVersion) - targetCompatibility = JavaVersion.toVersion(targetJavaVersion) - - withSourcesJar() - } - - tasks.withType(JavaCompile).configureEach { - it.options.encoding = "UTF-8" - - if (JavaVersion.current().isJava9Compatible()) { - if (JavaVersion.current().isJava9Compatible()) { - it.options.release = targetJavaVersion - } - } - } - - publishing { - repositories { - mavenLocal() - maven { - name = "GithubPackages" - url = uri("https://maven.pkg.github.com/LambdAurora/LambdaControls") - credentials { - username = project.findProperty("gpr.user") ?: System.getenv("USERNAME") - password = project.findProperty("gpr.key") ?: System.getenv("TOKEN") - } - } - } - } +def getMCVersionString() { + if (project.minecraft_version.matches("\\d\\dw\\d\\d[a-z]")) { + return project.minecraft_version + } + int lastDot = project.minecraft_version.lastIndexOf('.') + return project.minecraft_version.substring(0, lastDot) +} + +minecraft { +} + +repositories { + mavenLocal() + mavenCentral() + maven { url = 'https://aperlambda.github.io/maven' } + maven { + name = 'CottonMC' + url = 'http://server.bbkr.space:8081/artifactory/libs-snapshot' + } + repositories { + maven { url = "https://jitpack.io" } + } + maven { url "https://maven.shedaniel.me/" } +} + +configurations { + shadow + api.extendsFrom shadow +} + +dependencies { + //to change the versions see the gradle.properties file + minecraft "com.mojang:minecraft:${project.minecraft_version}" + mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" + modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" + + // Fabric API. This is technically optional, but you probably want it anyway. + modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" + + modImplementation "io.github.prospector:modmenu:${project.modmenu_version}" + modImplementation "com.github.lambdaurora:spruceui:${project.spruceui_version}" + include "com.github.lambdaurora:spruceui:${project.spruceui_version}" + + // Compatibility mods + modImplementation "com.github.joaoh1:okzoomer:e13183c59b" + modImplementation "me.shedaniel:RoughlyEnoughItems:5.10.184" + + shadow "com.electronwill.night-config:core:3.6.3" + shadow "com.electronwill.night-config:toml:3.6.3" +} + +java { + sourceCompatibility = JavaVersion.toVersion(targetJavaVersion) + targetCompatibility = JavaVersion.toVersion(targetJavaVersion) + + withSourcesJar() +} + +tasks.withType(JavaCompile).configureEach { + it.options.encoding = "UTF-8" + + if (JavaVersion.current().isJava9Compatible()) { + if (JavaVersion.current().isJava9Compatible()) { + it.options.release = targetJavaVersion + } + } +} + +processResources { + inputs.property "version", project.version + + filesMatching("fabric.mod.json") { + expand "version": project.version + } +} + +jar { + from("LICENSE") { + rename { "${it}_${project.archivesBaseName}" } + } +} + +license { + header file('HEADER') + include '**/*.java' +} + +shadowJar { + dependsOn jar + configurations = [project.configurations.shadow] + archiveClassifier.set('dev') + + exclude 'META-INF/maven/**' + exclude 'com/google/**' + exclude 'javax/**' + exclude 'org/**' + relocate 'com.electronwill.nightconfig', 'dev.lambdaurora.lambdacontrols.shadow.nightconfig' +} + +task shadowRemapJar(type: RemapJarTask) { + dependsOn shadowJar + + input = file("${project.buildDir}/libs/$archivesBaseName-$version-dev.jar") + archiveName = "${archivesBaseName}-${version}.jar" + addNestedDependencies = true +} + +// configure the maven publication +publishing { + repositories { + mavenLocal() + maven { + name = "GithubPackages" + url = uri("https://maven.pkg.github.com/LambdAurora/LambdaControls") + credentials { + username = project.findProperty("gpr.user") ?: System.getenv("USERNAME") + password = project.findProperty("gpr.key") ?: System.getenv("TOKEN") + } + } + } + + publications { + mavenJava(MavenPublication) { + // add all the jars that should be included when publishing to maven + artifact(remapJar) { + builtBy remapJar + } + artifact(sourcesJar) { + builtBy remapSourcesJar + } + } + } } diff --git a/core/build.gradle b/core/build.gradle deleted file mode 100644 index 710df6a..0000000 --- a/core/build.gradle +++ /dev/null @@ -1,32 +0,0 @@ -plugins { - id 'java-library' - id 'maven-publish' -} - -archivesBaseName = project.archives_base_name + "-core" - -dependencies { - api "org.jetbrains:annotations:17.0.0" - api "org.aperlambda:lambdajcommon:1.8.1" -} - -java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - - withSourcesJar() -} - -publishing { - publications { - mavenJava(MavenPublication) { - // add all the jars that should be included when publishing to maven - artifact(jar) { - builtBy jar - } - artifact(sourcesJar) { - builtBy sourcesJar - } - } - } -} diff --git a/fabric/build.gradle b/fabric/build.gradle deleted file mode 100644 index 963c07d..0000000 --- a/fabric/build.gradle +++ /dev/null @@ -1,131 +0,0 @@ -plugins { - id 'fabric-loom' version '0.6-SNAPSHOT' - id 'java-library' - id 'maven-publish' - id 'com.github.johnrengelman.shadow' - id 'org.cadixdev.licenser' -} - -import net.fabricmc.loom.task.RemapJarTask - -version = "${project.mod_version}+${getMCVersionString()}" -archivesBaseName = project.archives_base_name + "-fabric" - -def getMCVersionString() { - if (project.minecraft_version.matches("\\d\\dw\\d\\d[a-z]")) { - return project.minecraft_version - } - int lastDot = project.minecraft_version.lastIndexOf('.') - return project.minecraft_version.substring(0, lastDot) -} - -minecraft { -} - -repositories { - maven { - name = 'CottonMC' - url = 'http://server.bbkr.space:8081/artifactory/libs-snapshot' - } - repositories { - maven { url = "https://jitpack.io" } - } - maven { url "https://maven.shedaniel.me/" } -} - -configurations { - shadowInternal - shadow - api.extendsFrom shadow -} - -dependencies { - //to change the versions see the gradle.properties file - minecraft "com.mojang:minecraft:${project.minecraft_version}" - mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" - modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" - - // Fabric API. This is technically optional, but you probably want it anyway. - modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - - modImplementation "io.github.prospector:modmenu:${project.modmenu_version}" - modImplementation "com.github.lambdaurora:spruceui:${project.spruceui_version}" - include "com.github.lambdaurora:spruceui:${project.spruceui_version}" - - // Compatibility mods - modImplementation "com.github.joaoh1:okzoomer:e13183c59b" - modImplementation "me.shedaniel:RoughlyEnoughItems:5.10.184" - - api project(":core") - shadow project(":core") - shadow "com.electronwill.night-config:core:3.6.3" - shadow "com.electronwill.night-config:toml:3.6.3" -} - -processResources { - inputs.property "version", project.version - - from(sourceSets.main.resources.srcDirs) { - include "fabric.mod.json" - expand "version": project.version - } - - from(sourceSets.main.resources.srcDirs) { - exclude "fabric.mod.json" - } -} - -java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - - withSourcesJar() -} - -jar { - from "../LICENSE" -} - -license { - header file('HEADER') - include '**/*.java' -} - -shadowJar { - dependsOn jar - configurations = [project.configurations.shadow] - archiveClassifier.set('dev') - - exclude 'META-INF/maven/**' - exclude 'com/google/**' - exclude 'javax/**' - exclude 'org/**' - relocate 'com.electronwill.nightconfig', 'dev.lambdaurora.lambdacontrols.shadow.nightconfig' -} - -task shadowRemapJar(type: RemapJarTask) { - dependsOn shadowJar - - input = file("${project.buildDir}/libs/$archivesBaseName-$version-dev.jar") - archiveName = "${archivesBaseName}-${version}.jar" - addNestedDependencies = true -} - -// configure the maven publication -publishing { - publications { - mavenJava(MavenPublication) { - // add all the jars that should be included when publishing to maven - artifact(remapJar) { - builtBy remapJar - } - artifact(sourcesJar) { - builtBy remapSourcesJar - } - } - } -} - -shadowJar.dependsOn(":core:jar") -build.dependsOn(":core:build") -publish.dependsOn(":core:publish") diff --git a/settings.gradle b/settings.gradle index 55cf86a..8333ee7 100644 --- a/settings.gradle +++ b/settings.gradle @@ -9,4 +9,3 @@ pluginManagement { } rootProject.name = 'lambdacontrols' -include 'core', 'fabric', 'spigot' diff --git a/spigot/build.gradle b/spigot/build.gradle deleted file mode 100644 index a2ca0b0..0000000 --- a/spigot/build.gradle +++ /dev/null @@ -1,52 +0,0 @@ -plugins { - id 'java-library' -} - -archivesBaseName = project.archives_base_name + "-spigot" - -repositories { - maven { url = 'https://hub.spigotmc.org/nexus/content/groups/public/' } - maven { url = 'https://libraries.minecraft.net/' } -} - -configurations { - include -} - -dependencies { - api project(":core") - include(project(":core")) { - exclude group: 'com.google.code.gson' - exclude group: 'com.google.guava' - } - api 'org.spigotmc:spigot-api:1.15.1-R0.1-SNAPSHOT' - api 'io.netty:netty-all:4.1.28.Final' - implementation "com.electronwill.night-config:core:3.5.3" - implementation "com.electronwill.night-config:toml:3.5.3" -} - -processResources { - inputs.property "version", project.version - - from(sourceSets.main.resources.srcDirs) { - include "plugin.yml" - - expand 'version': project.version.toString().replace("#", "") - } -} - -jar { - from '../LICENSE' - - dependsOn configurations.include - from { - (configurations.include).collect { - it.isDirectory() ? it : zipTree(it) - } - } -} - -java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 -} diff --git a/spigot/src/main/java/me/lambdaurora/lambdacontrols/LambdaControlsConfig.java b/spigot/src/main/java/me/lambdaurora/lambdacontrols/LambdaControlsConfig.java deleted file mode 100644 index d34cbf1..0000000 --- a/spigot/src/main/java/me/lambdaurora/lambdacontrols/LambdaControlsConfig.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright © 2020 LambdAurora - * - * This file is part of LambdaControls. - * - * Licensed under the MIT license. For more information, - * see the LICENSE file. - */ - -package me.lambdaurora.lambdacontrols; - -import com.electronwill.nightconfig.core.file.FileConfig; -import org.jetbrains.annotations.NotNull; - -import java.io.File; - -/** - * Represents the LambdaControls Spigot configuration. - */ -public class LambdaControlsConfig -{ - private static final boolean DEFAULT_FRONT_BLOCK_PLACING = true; - - protected final FileConfig config = FileConfig.builder("config/lambdacontrols.toml").concurrent().defaultResource("/server_config.toml").build(); - private final LambdaControlsSpigot plugin; - - public LambdaControlsConfig(@NotNull LambdaControlsSpigot plugin) - { - this.plugin = plugin; - } - - public void load() - { - File configDir = new File("config/"); - if (!configDir.exists()) - configDir.mkdirs(); - this.config.load(); - this.plugin.log("Configuration loaded."); - LambdaControlsFeature.HORIZONTAL_REACHAROUND.setAllowed(this.config.getOrElse("gameplay.front_block_placing", DEFAULT_FRONT_BLOCK_PLACING)); - } -} diff --git a/spigot/src/main/java/me/lambdaurora/lambdacontrols/LambdaControlsSpigot.java b/spigot/src/main/java/me/lambdaurora/lambdacontrols/LambdaControlsSpigot.java deleted file mode 100644 index 4973a77..0000000 --- a/spigot/src/main/java/me/lambdaurora/lambdacontrols/LambdaControlsSpigot.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright © 2020 LambdAurora - * - * This file is part of LambdaControls. - * - * Licensed under the MIT license. For more information, - * see the LICENSE file. - */ - -package me.lambdaurora.lambdacontrols; - -import io.netty.buffer.Unpooled; -import me.lambdaurora.lambdacontrols.event.PlayerChangeControlsModeEvent; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; -import org.bukkit.plugin.java.JavaPlugin; -import org.bukkit.plugin.messaging.PluginMessageListener; -import org.jetbrains.annotations.NotNull; - -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - -import static me.lambdaurora.lambdacontrols.LambdaControlsConstants.*; - -/** - * Represents the LambdaControls spigot plugin which provides extra features for servers. - * - * @author LambdAurora - * @version 1.1.0 - * @since 1.1.0 - */ -public class LambdaControlsSpigot extends JavaPlugin implements PluginMessageListener, Listener -{ - private static final Map PLAYERS_CONTROLS_MODE = new HashMap<>(); - public final LambdaControlsConfig config = new LambdaControlsConfig(this); - - @Override - public void onEnable() - { - super.onEnable(); - - this.config.load(); - - // Note that Spigot has a bullshit channel size restriction as Minecraft SUPPORTS UP TO 32767 AS CHANNEL SIZE. - // Please stop using that bad server software, move over Sponge or idk other things. REALLY. - this.getServer().getMessenger().registerIncomingPluginChannel(this, CONTROLS_MODE_CHANNEL.toString(), this); - this.getServer().getMessenger().registerOutgoingPluginChannel(this, CONTROLS_MODE_CHANNEL.toString()); - this.getServer().getMessenger().registerOutgoingPluginChannel(this, FEATURE_CHANNEL.toString()); - this.getServer().getMessenger().registerIncomingPluginChannel(this, HELLO_CHANNEL.toString(), this); - this.getServer().getPluginManager().registerEvents(this, this); - - this.getServer().getOnlinePlayers().forEach(player -> { - PLAYERS_CONTROLS_MODE.put(player, ControlsMode.DEFAULT); - - this.requestPlayerControlsMode(player); - this.updatePlayerFeature(player, LambdaControlsFeature.HORIZONTAL_REACHAROUND); - }); - } - - @Override - public void onDisable() - { - super.onDisable(); - - this.getServer().getMessenger().unregisterIncomingPluginChannel(this, CONTROLS_MODE_CHANNEL.toString()); - this.getServer().getMessenger().unregisterOutgoingPluginChannel(this, CONTROLS_MODE_CHANNEL.toString()); - this.getServer().getMessenger().unregisterOutgoingPluginChannel(this, FEATURE_CHANNEL.toString()); - this.getServer().getMessenger().unregisterIncomingPluginChannel(this, HELLO_CHANNEL.toString()); - - PLAYERS_CONTROLS_MODE.clear(); - } - - public void requestPlayerControlsMode(@NotNull Player player) - { - player.sendPluginMessage(this, CONTROLS_MODE_CHANNEL.toString(), new byte[0]); - } - - public void updatePlayerFeature(@NotNull Player player, @NotNull LambdaControlsFeature feature) - { - Objects.requireNonNull(player); - Objects.requireNonNull(feature); - - player.sendPluginMessage(this, FEATURE_CHANNEL.toString(), this.makeFeatureMessage(feature)); - } - - /** - * Prints a message to the terminal. - * - * @param info The message to print. - */ - public void log(String info) - { - this.getLogger().info(info); - } - - @Override - public void onPluginMessageReceived(@NotNull String channel, @NotNull Player player, @NotNull byte[] message) - { - if (channel.equals(HELLO_CHANNEL.toString())) { - NettyPacketBuffer buffer = new NettyPacketBuffer(Unpooled.copiedBuffer(message)); - String version = buffer.readString(16); - ControlsMode.byId(buffer.readString(32)).ifPresent(controlsMode -> { - PLAYERS_CONTROLS_MODE.put(player, controlsMode); - PlayerChangeControlsModeEvent event = new PlayerChangeControlsModeEvent(player, controlsMode); - this.getServer().getPluginManager().callEvent(event); - }); - this.updatePlayerFeature(player, LambdaControlsFeature.HORIZONTAL_REACHAROUND); - } else if (channel.equals(CONTROLS_MODE_CHANNEL.toString())) { - NettyPacketBuffer buffer = new NettyPacketBuffer(Unpooled.copiedBuffer(message)); - ControlsMode.byId(buffer.readString(32)).ifPresent(controlsMode -> { - PLAYERS_CONTROLS_MODE.put(player, controlsMode); - PlayerChangeControlsModeEvent event = new PlayerChangeControlsModeEvent(player, controlsMode); - this.getServer().getPluginManager().callEvent(event); - }); - } - } - - /** - * Returns a packet byte buffer made for the lambdacontrols:feature plugin message. - * - * @param feature The feature data to send. - * @return The packet byte buffer. - */ - public byte[] makeFeatureMessage(@NotNull LambdaControlsFeature feature) - { - Objects.requireNonNull(feature, "Feature cannot be null."); - NettyPacketBuffer buffer = new NettyPacketBuffer(Unpooled.buffer()); - buffer.writeString(feature.getName()); - buffer.writeBoolean(feature.isAllowed()); - return buffer.array(); - } - - @EventHandler - public void onPlayerJoin(@NotNull PlayerJoinEvent event) - { - PLAYERS_CONTROLS_MODE.put(event.getPlayer(), ControlsMode.DEFAULT); - } - - @EventHandler - public void onPlayerLeave(@NotNull PlayerQuitEvent event) - { - PLAYERS_CONTROLS_MODE.remove(event.getPlayer()); - } -} diff --git a/spigot/src/main/java/me/lambdaurora/lambdacontrols/NettyPacketBuffer.java b/spigot/src/main/java/me/lambdaurora/lambdacontrols/NettyPacketBuffer.java deleted file mode 100644 index 412d09c..0000000 --- a/spigot/src/main/java/me/lambdaurora/lambdacontrols/NettyPacketBuffer.java +++ /dev/null @@ -1,102 +0,0 @@ -package me.lambdaurora.lambdacontrols; - -import io.netty.buffer.ByteBuf; -import io.netty.handler.codec.DecoderException; -import io.netty.handler.codec.EncoderException; - -import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; - -public class NettyPacketBuffer extends PacketBuffer -{ - public NettyPacketBuffer(ByteBuf byteBuf) - { - super(byteBuf); - } - - @Override - public int readVarint() - { - int var1 = 0; - int var2 = 0; - byte var3; - - do { - var3 = this.readByte(); - var1 |= (var3 & 127) << var2++ * 7; - - if (var2 > 5) - throw new RuntimeException("VarInt too big"); - } while ((var3 & 128) == 128); - - return var1; - } - - @Override - public void writeVarint(int input) - { - while ((input & -128) != 0) { - this.writeByte(input & 127 | 128); - input >>>= 7; - } - - this.writeByte(input); - } - - @Override - public String readString(int maxLength) - { - int var2 = this.readVarint(); - - if (var2 > maxLength * 4) - throw new DecoderException("The received encoded string buffer length is longer than maximum allowed (" + var2 + " > " + maxLength * 4 + ")"); - else if (var2 < 0) - throw new DecoderException("The received encoded string buffer length is less than zero! Weird string!"); - else { - String var3 = this.readCharSequence(var2, StandardCharsets.UTF_8).toString(); - - if (var3.length() > maxLength) - throw new DecoderException("The received string length is longer than maximum allowed (" + var2 + " > " + maxLength + ")"); - else - return var3; - } - } - - @Override - public void writeString(String string) - { - byte[] var2 = string.getBytes(Charset.forName("UTF-8")); - - if (var2.length > 32767) { - throw new EncoderException("String too big (was " + string.length() + " data encoded, max " + 32767 + ")"); - } else { - this.writeVarint(var2.length); - this.writeCharSequence(string, StandardCharsets.UTF_8); - } - } - - @Override - public boolean equals(Object o) - { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - - NettyPacketBuffer buffer = (NettyPacketBuffer) o; - - return byteBuf.equals(buffer.byteBuf); - } - - @Override - public int compareTo(ByteBuf buffer) - { - return this.byteBuf.compareTo(buffer); - } - - @Override - public String toString() - { - return this.byteBuf.toString(); - } -} diff --git a/spigot/src/main/java/me/lambdaurora/lambdacontrols/PacketBuffer.java b/spigot/src/main/java/me/lambdaurora/lambdacontrols/PacketBuffer.java deleted file mode 100644 index 66fd110..0000000 --- a/spigot/src/main/java/me/lambdaurora/lambdacontrols/PacketBuffer.java +++ /dev/null @@ -1,1153 +0,0 @@ -/* - * Copyright © 2019 LambdAurora - * - * This file is part of mcelytra. - * - * Licensed under the MIT license. For more information, - * see the LICENSE file. - */ - -package me.lambdaurora.lambdacontrols; - -import io.netty.buffer.ByteBuf; -import io.netty.buffer.ByteBufAllocator; -import io.netty.util.ByteProcessor; -import net.md_5.bungee.api.chat.BaseComponent; -import net.md_5.bungee.chat.ComponentSerializer; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.nio.channels.FileChannel; -import java.nio.channels.GatheringByteChannel; -import java.nio.channels.ScatteringByteChannel; -import java.nio.charset.Charset; -import java.util.UUID; - -/** - * Represents a packet buffer. - */ -public abstract class PacketBuffer extends ByteBuf -{ - protected ByteBuf byteBuf; - - public PacketBuffer(ByteBuf byteBuf) - { - this.byteBuf = byteBuf; - } - - public abstract int readVarint(); - - public abstract void writeVarint(int value); - - public abstract String readString(int maxLength); - - public abstract void writeString(String value); - - @Override - public int refCnt() - { - return this.byteBuf.refCnt(); - } - - @Override - public boolean release() - { - return this.byteBuf.release(); - } - - @Override - public boolean release(int decrement) - { - return this.byteBuf.release(decrement); - } - - @Override - public int capacity() - { - return this.byteBuf.capacity(); - } - - @Override - public ByteBuf capacity(int newCapacity) - { - return this.byteBuf.capacity(newCapacity); - } - - @Override - public int maxCapacity() - { - return this.byteBuf.maxCapacity(); - } - - @Override - public ByteBufAllocator alloc() - { - return this.byteBuf.alloc(); - } - - @Override - public ByteOrder order() - { - return this.byteBuf.order(); - } - - @Override - public ByteBuf order(ByteOrder endianness) - { - return this.byteBuf.order(endianness); - } - - @Override - public ByteBuf unwrap() - { - return this.byteBuf.unwrap(); - } - - @Override - public boolean isDirect() - { - return this.byteBuf.isDirect(); - } - - @Override - public boolean isReadOnly() - { - return this.byteBuf.isReadOnly(); - } - - @Override - public ByteBuf asReadOnly() - { - return this.byteBuf.asReadOnly(); - } - - @Override - public int readerIndex() - { - return this.byteBuf.readerIndex(); - } - - @Override - public ByteBuf readerIndex(int readerIndex) - { - return this.byteBuf.readerIndex(readerIndex); - } - - @Override - public int writerIndex() - { - return this.byteBuf.writerIndex(); - } - - @Override - public ByteBuf writerIndex(int writerIndex) - { - return this.byteBuf.writerIndex(writerIndex); - } - - @Override - public ByteBuf setIndex(int readerIndex, int writerIndex) - { - return this.byteBuf.setIndex(readerIndex, writerIndex); - } - - @Override - public int readableBytes() - { - return this.byteBuf.readableBytes(); - } - - @Override - public int writableBytes() - { - return this.byteBuf.writableBytes(); - } - - @Override - public int maxWritableBytes() - { - return this.byteBuf.maxWritableBytes(); - } - - @Override - public boolean isReadable() - { - return this.byteBuf.isReadable(); - } - - @Override - public boolean isReadable(int size) - { - return this.byteBuf.isReadable(size); - } - - @Override - public boolean isWritable() - { - return this.byteBuf.isWritable(); - } - - @Override - public boolean isWritable(int size) - { - return this.byteBuf.isWritable(size); - } - - @Override - public ByteBuf clear() - { - return this.byteBuf.clear(); - } - - @Override - public ByteBuf markReaderIndex() - { - return this.byteBuf.markReaderIndex(); - } - - @Override - public ByteBuf resetReaderIndex() - { - return this.byteBuf.resetReaderIndex(); - } - - @Override - public ByteBuf markWriterIndex() - { - return this.byteBuf.markWriterIndex(); - } - - @Override - public ByteBuf resetWriterIndex() - { - return this.byteBuf.resetWriterIndex(); - } - - @Override - public ByteBuf discardReadBytes() - { - return this.byteBuf.discardReadBytes(); - } - - @Override - public ByteBuf discardSomeReadBytes() - { - return this.byteBuf.discardSomeReadBytes(); - } - - @Override - public ByteBuf ensureWritable(int minWritableBytes) - { - return this.byteBuf.ensureWritable(minWritableBytes); - } - - @Override - public int ensureWritable(int minWritableBytes, boolean force) - { - return this.byteBuf.ensureWritable(minWritableBytes, force); - } - - @Override - public boolean getBoolean(int index) - { - return this.byteBuf.getBoolean(index); - } - - @Override - public byte getByte(int index) - { - return this.byteBuf.getByte(index); - } - - @Override - public short getUnsignedByte(int index) - { - return this.byteBuf.getUnsignedByte(index); - } - - @Override - public short getShort(int index) - { - return this.byteBuf.getShort(index); - } - - @Override - public short getShortLE(int index) - { - return this.byteBuf.getShortLE(index); - } - - @Override - public int getUnsignedShort(int index) - { - return this.byteBuf.getUnsignedShort(index); - } - - @Override - public int getUnsignedShortLE(int index) - { - return this.byteBuf.getUnsignedShortLE(index); - } - - @Override - public int getMedium(int index) - { - return this.byteBuf.getMedium(index); - } - - @Override - public int getMediumLE(int index) - { - return this.byteBuf.getMediumLE(index); - } - - @Override - public int getUnsignedMedium(int index) - { - return this.byteBuf.getUnsignedMedium(index); - } - - @Override - public int getUnsignedMediumLE(int index) - { - return this.byteBuf.getUnsignedMediumLE(index); - } - - @Override - public int getInt(int index) - { - return this.byteBuf.getInt(index); - } - - @Override - public int getIntLE(int index) - { - return this.byteBuf.getIntLE(index); - } - - @Override - public long getUnsignedInt(int index) - { - return this.byteBuf.getUnsignedInt(index); - } - - @Override - public long getUnsignedIntLE(int index) - { - return this.byteBuf.getUnsignedIntLE(index); - } - - @Override - public long getLong(int index) - { - return this.byteBuf.getLong(index); - } - - @Override - public long getLongLE(int index) - { - return this.byteBuf.getLongLE(index); - } - - @Override - public char getChar(int index) - { - return this.byteBuf.getChar(index); - } - - @Override - public float getFloat(int index) - { - return this.byteBuf.getFloat(index); - } - - @Override - public double getDouble(int index) - { - return this.byteBuf.getDouble(index); - } - - @Override - public ByteBuf getBytes(int index, ByteBuf dst) - { - return this.byteBuf.getBytes(index, dst); - } - - @Override - public ByteBuf getBytes(int index, ByteBuf dst, int length) - { - return this.byteBuf.getBytes(index, dst, length); - } - - @Override - public ByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length) - { - return this.byteBuf.getBytes(index, dst, dstIndex, length); - } - - @Override - public ByteBuf getBytes(int index, byte[] dst) - { - return this.byteBuf.getBytes(index, dst); - } - - @Override - public ByteBuf getBytes(int index, byte[] dst, int dstIndex, int length) - { - return this.byteBuf.getBytes(index, dst, dstIndex, length); - } - - @Override - public ByteBuf getBytes(int index, ByteBuffer dst) - { - return this.byteBuf.getBytes(index, dst); - } - - @Override - public ByteBuf getBytes(int index, OutputStream out, int length) throws IOException - { - return this.byteBuf.getBytes(index, out, length); - } - - @Override - public int getBytes(int index, GatheringByteChannel out, int length) throws IOException - { - return this.byteBuf.getBytes(index, out, length); - } - - @Override - public int getBytes(int index, FileChannel out, long position, int length) throws IOException - { - return this.byteBuf.getBytes(index, out, position, length); - } - - @Override - public CharSequence getCharSequence(int index, int length, Charset charset) - { - return this.byteBuf.getCharSequence(index, length, charset); - } - - @Override - public ByteBuf setBoolean(int index, boolean value) - { - return this.byteBuf.setBoolean(index, value); - } - - @Override - public ByteBuf setByte(int index, int value) - { - return this.byteBuf.setByte(index, value); - } - - @Override - public ByteBuf setShort(int index, int value) - { - return this.byteBuf.setShort(index, value); - } - - @Override - public ByteBuf setShortLE(int index, int value) - { - return this.byteBuf.setShortLE(index, value); - } - - @Override - public ByteBuf setMedium(int index, int value) - { - return this.byteBuf.setMedium(index, value); - } - - @Override - public ByteBuf setMediumLE(int index, int value) - { - return this.byteBuf.setMediumLE(index, value); - } - - @Override - public ByteBuf setInt(int index, int value) - { - return this.byteBuf.setInt(index, value); - } - - @Override - public ByteBuf setIntLE(int index, int value) - { - return this.byteBuf.setIntLE(index, value); - } - - @Override - public ByteBuf setLong(int index, long value) - { - return this.byteBuf.setLong(index, value); - } - - @Override - public ByteBuf setLongLE(int index, long value) - { - return this.byteBuf.setLongLE(index, value); - } - - @Override - public ByteBuf setChar(int index, int value) - { - return this.byteBuf.setChar(index, value); - } - - @Override - public ByteBuf setFloat(int index, float value) - { - return this.byteBuf.setFloat(index, value); - } - - @Override - public ByteBuf setDouble(int index, double value) - { - return this.byteBuf.setDouble(index, value); - } - - @Override - public ByteBuf setBytes(int index, ByteBuf src) - { - return this.byteBuf.setBytes(index, src); - } - - @Override - public ByteBuf setBytes(int index, ByteBuf src, int length) - { - return this.byteBuf.setBytes(index, src, length); - } - - @Override - public ByteBuf setBytes(int index, ByteBuf src, int srcIndex, int length) - { - return this.byteBuf.setBytes(index, src, srcIndex, length); - } - - @Override - public ByteBuf setBytes(int index, byte[] src) - { - return this.byteBuf.setBytes(index, src); - } - - @Override - public ByteBuf setBytes(int index, byte[] src, int srcIndex, int length) - { - return this.byteBuf.setBytes(index, src, srcIndex, length); - } - - @Override - public ByteBuf setBytes(int index, ByteBuffer src) - { - return this.byteBuf.setBytes(index, src); - } - - @Override - public int setBytes(int index, InputStream in, int length) throws IOException - { - return this.byteBuf.setBytes(index, in, length); - } - - @Override - public int setBytes(int index, ScatteringByteChannel in, int length) throws IOException - { - return this.byteBuf.setBytes(index, in, length); - } - - @Override - public int setBytes(int index, FileChannel in, long position, int length) throws IOException - { - return this.byteBuf.setBytes(index, in, position, length); - } - - @Override - public ByteBuf setZero(int index, int length) - { - return this.byteBuf.setZero(index, length); - } - - @Override - public int setCharSequence(int index, CharSequence sequence, Charset charset) - { - return this.byteBuf.setCharSequence(index, sequence, charset); - } - - @Override - public boolean readBoolean() - { - return this.byteBuf.readBoolean(); - } - - @Override - public byte readByte() - { - return this.byteBuf.readByte(); - } - - @Override - public short readUnsignedByte() - { - return this.byteBuf.readUnsignedByte(); - } - - @Override - public short readShort() - { - return this.byteBuf.readShort(); - } - - @Override - public short readShortLE() - { - return this.byteBuf.readShortLE(); - } - - @Override - public int readUnsignedShort() - { - return this.byteBuf.readUnsignedShort(); - } - - @Override - public int readUnsignedShortLE() - { - return this.byteBuf.readUnsignedShortLE(); - } - - @Override - public int readMedium() - { - return this.byteBuf.readMedium(); - } - - @Override - public int readMediumLE() - { - return this.byteBuf.readMediumLE(); - } - - @Override - public int readUnsignedMedium() - { - return this.byteBuf.readUnsignedMedium(); - } - - @Override - public int readUnsignedMediumLE() - { - return this.byteBuf.readUnsignedMediumLE(); - } - - @Override - public int readInt() - { - return this.byteBuf.readInt(); - } - - @Override - public int readIntLE() - { - return this.byteBuf.readIntLE(); - } - - @Override - public long readUnsignedInt() - { - return this.byteBuf.readUnsignedInt(); - } - - @Override - public long readUnsignedIntLE() - { - return this.byteBuf.readUnsignedIntLE(); - } - - @Override - public long readLong() - { - return this.byteBuf.readLong(); - } - - @Override - public long readLongLE() - { - return this.byteBuf.readLongLE(); - } - - @Override - public char readChar() - { - return this.byteBuf.readChar(); - } - - @Override - public float readFloat() - { - return this.byteBuf.readFloat(); - } - - @Override - public double readDouble() - { - return this.byteBuf.readDouble(); - } - - @Override - public ByteBuf readBytes(int length) - { - return this.byteBuf.readBytes(length); - } - - @Override - public ByteBuf readSlice(int length) - { - return this.byteBuf.readSlice(length); - } - - @Override - public ByteBuf readRetainedSlice(int length) - { - return this.byteBuf.readRetainedSlice(length); - } - - @Override - public ByteBuf readBytes(ByteBuf dst) - { - return this.byteBuf.readBytes(dst); - } - - @Override - public ByteBuf readBytes(ByteBuf dst, int length) - { - return this.byteBuf.readBytes(dst, length); - } - - @Override - public ByteBuf readBytes(ByteBuf dst, int dstIndex, int length) - { - return this.byteBuf.readBytes(dst, dstIndex, length); - } - - @Override - public ByteBuf readBytes(byte[] dst) - { - return this.byteBuf.readBytes(dst); - } - - @Override - public ByteBuf readBytes(byte[] dst, int dstIndex, int length) - { - return this.byteBuf.readBytes(dst, dstIndex, length); - } - - @Override - public ByteBuf readBytes(ByteBuffer dst) - { - return this.byteBuf.readBytes(dst); - } - - @Override - public ByteBuf readBytes(OutputStream out, int length) throws IOException - { - return this.byteBuf.readBytes(out, length); - } - - @Override - public int readBytes(GatheringByteChannel out, int length) throws IOException - { - return this.byteBuf.readBytes(out, length); - } - - @Override - public CharSequence readCharSequence(int length, Charset charset) - { - return this.byteBuf.readCharSequence(length, charset); - } - - @Override - public int readBytes(FileChannel out, long position, int length) throws IOException - { - return this.byteBuf.readBytes(out, position, length); - } - - @Override - public ByteBuf skipBytes(int length) - { - return this.byteBuf.skipBytes(length); - } - - @Override - public ByteBuf writeBoolean(boolean value) - { - return this.byteBuf.writeBoolean(value); - } - - @Override - public ByteBuf writeByte(int value) - { - return this.byteBuf.writeByte(value); - } - - @Override - public ByteBuf writeShort(int value) - { - return this.byteBuf.writeShort(value); - } - - @Override - public ByteBuf writeShortLE(int value) - { - return this.byteBuf.writeShortLE(value); - } - - @Override - public ByteBuf writeMedium(int value) - { - return this.byteBuf.writeMedium(value); - } - - @Override - public ByteBuf writeMediumLE(int value) - { - return this.byteBuf.writeMediumLE(value); - } - - @Override - public ByteBuf writeInt(int value) - { - return this.byteBuf.writeInt(value); - } - - @Override - public ByteBuf writeIntLE(int value) - { - return this.byteBuf.writeIntLE(value); - } - - @Override - public ByteBuf writeLong(long value) - { - return this.byteBuf.writeLong(value); - } - - @Override - public ByteBuf writeLongLE(long value) - { - return this.byteBuf.writeLongLE(value); - } - - @Override - public ByteBuf writeChar(int value) - { - return this.byteBuf.writeChar(value); - } - - @Override - public ByteBuf writeFloat(float value) - { - return this.byteBuf.writeFloat(value); - } - - @Override - public ByteBuf writeDouble(double value) - { - return this.byteBuf.writeDouble(value); - } - - @Override - public ByteBuf writeBytes(ByteBuf src) - { - return this.byteBuf.writeBytes(src); - } - - @Override - public ByteBuf writeBytes(ByteBuf src, int length) - { - return this.byteBuf.writeBytes(src, length); - } - - @Override - public ByteBuf writeBytes(ByteBuf src, int srcIndex, int length) - { - return this.byteBuf.writeBytes(src, srcIndex, length); - } - - @Override - public ByteBuf writeBytes(byte[] src) - { - return this.byteBuf.writeBytes(src); - } - - @Override - public ByteBuf writeBytes(byte[] src, int srcIndex, int length) - { - return this.byteBuf.writeBytes(src, srcIndex, length); - } - - @Override - public ByteBuf writeBytes(ByteBuffer src) - { - return this.byteBuf.writeBytes(src); - } - - @Override - public int writeBytes(InputStream in, int length) throws IOException - { - return this.byteBuf.writeBytes(in, length); - } - - @Override - public int writeBytes(ScatteringByteChannel in, int length) throws IOException - { - return this.byteBuf.writeBytes(in, length); - } - - @Override - public int writeBytes(FileChannel in, long position, int length) throws IOException - { - return this.byteBuf.writeBytes(in, position, length); - } - - @Override - public ByteBuf writeZero(int length) - { - return this.byteBuf.writeZero(length); - } - - @Override - public int writeCharSequence(CharSequence sequence, Charset charset) - { - return this.byteBuf.writeCharSequence(sequence, charset); - } - - @Override - public int indexOf(int fromIndex, int toIndex, byte value) - { - return this.byteBuf.indexOf(fromIndex, toIndex, value); - } - - @Override - public int bytesBefore(byte value) - { - return this.byteBuf.bytesBefore(value); - } - - @Override - public int bytesBefore(int length, byte value) - { - return this.byteBuf.bytesBefore(length, value); - } - - @Override - public int bytesBefore(int index, int length, byte value) - { - return this.byteBuf.bytesBefore(index, length, value); - } - - @Override - public int forEachByte(ByteProcessor processor) - { - return this.byteBuf.forEachByte(processor); - } - - @Override - public int forEachByte(int index, int length, ByteProcessor processor) - { - return this.byteBuf.forEachByte(index, length, processor); - } - - @Override - public int forEachByteDesc(ByteProcessor processor) - { - return this.byteBuf.forEachByteDesc(processor); - } - - @Override - public int forEachByteDesc(int index, int length, ByteProcessor processor) - { - return this.byteBuf.forEachByteDesc(index, length, processor); - } - - @Override - public ByteBuf copy() - { - return this.byteBuf.copy(); - } - - @Override - public ByteBuf copy(int index, int length) - { - return this.byteBuf.copy(index, length); - } - - @Override - public ByteBuf slice() - { - return this.byteBuf.slice(); - } - - @Override - public ByteBuf retainedSlice() - { - return this.byteBuf.retainedSlice(); - } - - @Override - public ByteBuf slice(int index, int length) - { - return this.byteBuf.slice(index, length); - } - - @Override - public ByteBuf retainedSlice(int index, int length) - { - return this.byteBuf.retainedSlice(); - } - - @Override - public ByteBuf duplicate() - { - return this.byteBuf.duplicate(); - } - - @Override - public ByteBuf retainedDuplicate() - { - return this.byteBuf.retainedDuplicate(); - } - - @Override - public int nioBufferCount() - { - return this.byteBuf.nioBufferCount(); - } - - @Override - public ByteBuffer nioBuffer() - { - return this.byteBuf.nioBuffer(); - } - - @Override - public ByteBuffer nioBuffer(int index, int length) - { - return this.byteBuf.nioBuffer(index, length); - } - - @Override - public ByteBuffer internalNioBuffer(int index, int length) - { - return this.byteBuf.internalNioBuffer(index, length); - } - - @Override - public ByteBuffer[] nioBuffers() - { - return this.byteBuf.nioBuffers(); - } - - @Override - public ByteBuffer[] nioBuffers(int index, int length) - { - return this.byteBuf.nioBuffers(index, length); - } - - @Override - public boolean hasArray() - { - return this.byteBuf.hasArray(); - } - - @Override - public byte[] array() - { - return this.byteBuf.array(); - } - - @Override - public int arrayOffset() - { - return this.byteBuf.arrayOffset(); - } - - @Override - public boolean hasMemoryAddress() - { - return this.byteBuf.hasMemoryAddress(); - } - - @Override - public long memoryAddress() - { - return this.byteBuf.memoryAddress(); - } - - @Override - public String toString(Charset charset) - { - return this.byteBuf.toString(charset); - } - - @Override - public String toString(int index, int length, Charset charset) - { - return this.byteBuf.toString(index, length, charset); - } - - @Override - public int hashCode() - { - return this.byteBuf.hashCode(); - } - - @Override - public boolean equals(Object o) - { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - - PacketBuffer buffer = (PacketBuffer) o; - - return byteBuf.equals(buffer.byteBuf); - } - - @Override - public int compareTo(ByteBuf buffer) - { - return this.byteBuf.compareTo(buffer); - } - - @Override - public String toString() - { - return this.byteBuf.toString(); - } - - @Override - public ByteBuf retain(int increment) - { - return this.byteBuf.retain(increment); - } - - @Override - public ByteBuf retain() - { - return this.byteBuf.retain(); - } - - @Override - public ByteBuf touch() - { - return this.byteBuf.touch(); - } - - @Override - public ByteBuf touch(Object hint) - { - return this.byteBuf.touch(hint); - } -} diff --git a/spigot/src/main/java/me/lambdaurora/lambdacontrols/event/PlayerChangeControlsModeEvent.java b/spigot/src/main/java/me/lambdaurora/lambdacontrols/event/PlayerChangeControlsModeEvent.java deleted file mode 100644 index a17fb44..0000000 --- a/spigot/src/main/java/me/lambdaurora/lambdacontrols/event/PlayerChangeControlsModeEvent.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright © 2020 LambdAurora - * - * This file is part of LambdaControls. - * - * Licensed under the MIT license. For more information, - * see the LICENSE file. - */ - -package me.lambdaurora.lambdacontrols.event; - -import me.lambdaurora.lambdacontrols.ControlsMode; -import org.bukkit.entity.Player; -import org.bukkit.event.HandlerList; -import org.bukkit.event.player.PlayerEvent; -import org.jetbrains.annotations.NotNull; - -/** - * Represents an event which is fired when a player change their controls mode. - * - * @author LambdAurora - * @version 1.1.0 - * @since 1.1.0 - */ -public class PlayerChangeControlsModeEvent extends PlayerEvent -{ - private static final HandlerList HANDLERS = new HandlerList(); - private final ControlsMode controlsMode; - - public PlayerChangeControlsModeEvent(@NotNull Player who, @NotNull ControlsMode controlsMode) - { - super(who); - this.controlsMode = controlsMode; - } - - /** - * Returns the controls mode of the player. - * - * @return The player's controls mode. - */ - public ControlsMode getControlsMode() - { - return this.controlsMode; - } - - @Override - public String toString() - { - return "PlayerChangeControlsModeEvent{" + - "player=" + this.player + - ", controls_mode=" + this.controlsMode + - '}'; - } - - @Override - public @NotNull HandlerList getHandlers() - { - return HANDLERS; - } - - public static @NotNull HandlerList getHandlerList() - { - return HANDLERS; - } -} diff --git a/spigot/src/main/resources/plugin.yml b/spigot/src/main/resources/plugin.yml deleted file mode 100644 index 92327cb..0000000 --- a/spigot/src/main/resources/plugin.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: LambdaControls -version: ${version} -description: A quick Spigot plugin for LambdaControls which allow server admins to disable some features. - -main: me.lambdaurora.lambdacontrols.LambdaControlsSpigot -api-version: 1.13 diff --git a/spigot/src/main/resources/server_config.toml b/spigot/src/main/resources/server_config.toml deleted file mode 100644 index a5e6e93..0000000 --- a/spigot/src/main/resources/server_config.toml +++ /dev/null @@ -1,6 +0,0 @@ -# LambdaControls server configuration. - -# Gameplay settings -[gameplay] - # Allows front block placing like in Bedrock Edition. - front_block_placing = true diff --git a/core/src/main/java/me/lambdaurora/lambdacontrols/ControlsMode.java b/src/main/java/me/lambdaurora/lambdacontrols/ControlsMode.java similarity index 100% rename from core/src/main/java/me/lambdaurora/lambdacontrols/ControlsMode.java rename to src/main/java/me/lambdaurora/lambdacontrols/ControlsMode.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/LambdaControls.java b/src/main/java/me/lambdaurora/lambdacontrols/LambdaControls.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/LambdaControls.java rename to src/main/java/me/lambdaurora/lambdacontrols/LambdaControls.java diff --git a/core/src/main/java/me/lambdaurora/lambdacontrols/LambdaControlsConstants.java b/src/main/java/me/lambdaurora/lambdacontrols/LambdaControlsConstants.java similarity index 100% rename from core/src/main/java/me/lambdaurora/lambdacontrols/LambdaControlsConstants.java rename to src/main/java/me/lambdaurora/lambdacontrols/LambdaControlsConstants.java diff --git a/core/src/main/java/me/lambdaurora/lambdacontrols/LambdaControlsFeature.java b/src/main/java/me/lambdaurora/lambdacontrols/LambdaControlsFeature.java similarity index 100% rename from core/src/main/java/me/lambdaurora/lambdacontrols/LambdaControlsFeature.java rename to src/main/java/me/lambdaurora/lambdacontrols/LambdaControlsFeature.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ButtonState.java b/src/main/java/me/lambdaurora/lambdacontrols/client/ButtonState.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ButtonState.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/ButtonState.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ControllerType.java b/src/main/java/me/lambdaurora/lambdacontrols/client/ControllerType.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ControllerType.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/ControllerType.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/HudSide.java b/src/main/java/me/lambdaurora/lambdacontrols/client/HudSide.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/HudSide.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/HudSide.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaControlsClient.java b/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaControlsClient.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaControlsClient.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/LambdaControlsClient.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaControlsConfig.java b/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaControlsConfig.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaControlsConfig.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/LambdaControlsConfig.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaControlsModMenu.java b/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaControlsModMenu.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaControlsModMenu.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/LambdaControlsModMenu.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaInput.java b/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaInput.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaInput.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/LambdaInput.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaReacharound.java b/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaReacharound.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/LambdaReacharound.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/LambdaReacharound.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/VirtualMouseSkin.java b/src/main/java/me/lambdaurora/lambdacontrols/client/VirtualMouseSkin.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/VirtualMouseSkin.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/VirtualMouseSkin.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/CompatHandler.java b/src/main/java/me/lambdaurora/lambdacontrols/client/compat/CompatHandler.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/CompatHandler.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/compat/CompatHandler.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/HQMCompat.java b/src/main/java/me/lambdaurora/lambdacontrols/client/compat/HQMCompat.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/HQMCompat.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/compat/HQMCompat.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/LambdaControlsCompat.java b/src/main/java/me/lambdaurora/lambdacontrols/client/compat/LambdaControlsCompat.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/LambdaControlsCompat.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/compat/LambdaControlsCompat.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/LambdaControlsMixinPlugin.java b/src/main/java/me/lambdaurora/lambdacontrols/client/compat/LambdaControlsMixinPlugin.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/LambdaControlsMixinPlugin.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/compat/LambdaControlsMixinPlugin.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/OkZoomerCompat.java b/src/main/java/me/lambdaurora/lambdacontrols/client/compat/OkZoomerCompat.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/OkZoomerCompat.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/compat/OkZoomerCompat.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/ReiCompat.java b/src/main/java/me/lambdaurora/lambdacontrols/client/compat/ReiCompat.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/ReiCompat.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/compat/ReiCompat.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/EntryListWidgetAccessor.java b/src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/EntryListWidgetAccessor.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/EntryListWidgetAccessor.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/EntryListWidgetAccessor.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/EntryWidgetAccessor.java b/src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/EntryWidgetAccessor.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/EntryWidgetAccessor.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/EntryWidgetAccessor.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/RecipeViewingScreenAccessor.java b/src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/RecipeViewingScreenAccessor.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/RecipeViewingScreenAccessor.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/RecipeViewingScreenAccessor.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/VillagerRecipeViewingScreenAccessor.java b/src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/VillagerRecipeViewingScreenAccessor.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/VillagerRecipeViewingScreenAccessor.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/compat/mixin/VillagerRecipeViewingScreenAccessor.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/controller/ButtonBinding.java b/src/main/java/me/lambdaurora/lambdacontrols/client/controller/ButtonBinding.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/controller/ButtonBinding.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/controller/ButtonBinding.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/controller/ButtonCategory.java b/src/main/java/me/lambdaurora/lambdacontrols/client/controller/ButtonCategory.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/controller/ButtonCategory.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/controller/ButtonCategory.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/controller/Controller.java b/src/main/java/me/lambdaurora/lambdacontrols/client/controller/Controller.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/controller/Controller.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/controller/Controller.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/controller/InputHandlers.java b/src/main/java/me/lambdaurora/lambdacontrols/client/controller/InputHandlers.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/controller/InputHandlers.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/controller/InputHandlers.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/controller/InputManager.java b/src/main/java/me/lambdaurora/lambdacontrols/client/controller/InputManager.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/controller/InputManager.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/controller/InputManager.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/controller/MovementHandler.java b/src/main/java/me/lambdaurora/lambdacontrols/client/controller/MovementHandler.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/controller/MovementHandler.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/controller/MovementHandler.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/controller/PressAction.java b/src/main/java/me/lambdaurora/lambdacontrols/client/controller/PressAction.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/controller/PressAction.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/controller/PressAction.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/LambdaControlsHud.java b/src/main/java/me/lambdaurora/lambdacontrols/client/gui/LambdaControlsHud.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/LambdaControlsHud.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/gui/LambdaControlsHud.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/LambdaControlsRenderer.java b/src/main/java/me/lambdaurora/lambdacontrols/client/gui/LambdaControlsRenderer.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/LambdaControlsRenderer.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/gui/LambdaControlsRenderer.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/LambdaControlsSettingsScreen.java b/src/main/java/me/lambdaurora/lambdacontrols/client/gui/LambdaControlsSettingsScreen.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/LambdaControlsSettingsScreen.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/gui/LambdaControlsSettingsScreen.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/MappingsStringInputWidget.java b/src/main/java/me/lambdaurora/lambdacontrols/client/gui/MappingsStringInputWidget.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/MappingsStringInputWidget.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/gui/MappingsStringInputWidget.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/ReloadControllerMappingsOption.java b/src/main/java/me/lambdaurora/lambdacontrols/client/gui/ReloadControllerMappingsOption.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/ReloadControllerMappingsOption.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/gui/ReloadControllerMappingsOption.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/RingScreen.java b/src/main/java/me/lambdaurora/lambdacontrols/client/gui/RingScreen.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/RingScreen.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/gui/RingScreen.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/TouchscreenOverlay.java b/src/main/java/me/lambdaurora/lambdacontrols/client/gui/TouchscreenOverlay.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/TouchscreenOverlay.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/gui/TouchscreenOverlay.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/widget/ControllerButtonWidget.java b/src/main/java/me/lambdaurora/lambdacontrols/client/gui/widget/ControllerButtonWidget.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/widget/ControllerButtonWidget.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/gui/widget/ControllerButtonWidget.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/widget/ControllerControlsWidget.java b/src/main/java/me/lambdaurora/lambdacontrols/client/gui/widget/ControllerControlsWidget.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/widget/ControllerControlsWidget.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/gui/widget/ControllerControlsWidget.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/widget/ControlsListWidget.java b/src/main/java/me/lambdaurora/lambdacontrols/client/gui/widget/ControlsListWidget.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/gui/widget/ControlsListWidget.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/gui/widget/ControlsListWidget.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/AbstractButtonWidgetAccessor.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/AbstractButtonWidgetAccessor.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/AbstractButtonWidgetAccessor.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/AbstractButtonWidgetAccessor.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/AdvancementsScreenAccessor.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/AdvancementsScreenAccessor.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/AdvancementsScreenAccessor.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/AdvancementsScreenAccessor.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/ClientPlayNetworkHandlerMixin.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/ClientPlayNetworkHandlerMixin.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/ClientPlayNetworkHandlerMixin.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/ClientPlayNetworkHandlerMixin.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/ClientPlayerEntityMixin.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/ClientPlayerEntityMixin.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/ClientPlayerEntityMixin.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/ClientPlayerEntityMixin.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/ControlsOptionsScreenMixin.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/ControlsOptionsScreenMixin.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/ControlsOptionsScreenMixin.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/ControlsOptionsScreenMixin.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/CreativeInventoryScreenAccessor.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/CreativeInventoryScreenAccessor.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/CreativeInventoryScreenAccessor.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/CreativeInventoryScreenAccessor.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/EntryListWidgetAccessor.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/EntryListWidgetAccessor.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/EntryListWidgetAccessor.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/EntryListWidgetAccessor.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/GameOptionsMixin.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/GameOptionsMixin.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/GameOptionsMixin.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/GameOptionsMixin.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/GameRendererMixin.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/GameRendererMixin.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/GameRendererMixin.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/GameRendererMixin.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/HandledScreenMixin.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/HandledScreenMixin.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/HandledScreenMixin.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/HandledScreenMixin.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/KeyBindingMixin.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/KeyBindingMixin.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/KeyBindingMixin.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/KeyBindingMixin.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/MinecraftClientMixin.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/MinecraftClientMixin.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/MinecraftClientMixin.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/MinecraftClientMixin.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/MouseMixin.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/MouseMixin.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/MouseMixin.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/MouseMixin.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/OptionsScreenMixin.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/OptionsScreenMixin.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/OptionsScreenMixin.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/OptionsScreenMixin.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/RecipeBookWidgetAccessor.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/RecipeBookWidgetAccessor.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/RecipeBookWidgetAccessor.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/RecipeBookWidgetAccessor.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/WorldRendererMixin.java b/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/WorldRendererMixin.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/mixin/WorldRendererMixin.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/mixin/WorldRendererMixin.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ring/DummyRingAction.java b/src/main/java/me/lambdaurora/lambdacontrols/client/ring/DummyRingAction.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ring/DummyRingAction.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/ring/DummyRingAction.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ring/KeyBindingRingAction.java b/src/main/java/me/lambdaurora/lambdacontrols/client/ring/KeyBindingRingAction.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ring/KeyBindingRingAction.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/ring/KeyBindingRingAction.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ring/LambdaRing.java b/src/main/java/me/lambdaurora/lambdacontrols/client/ring/LambdaRing.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ring/LambdaRing.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/ring/LambdaRing.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ring/RingAction.java b/src/main/java/me/lambdaurora/lambdacontrols/client/ring/RingAction.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ring/RingAction.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/ring/RingAction.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ring/RingButtonMode.java b/src/main/java/me/lambdaurora/lambdacontrols/client/ring/RingButtonMode.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ring/RingButtonMode.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/ring/RingButtonMode.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ring/RingPage.java b/src/main/java/me/lambdaurora/lambdacontrols/client/ring/RingPage.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/ring/RingPage.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/ring/RingPage.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/util/HandledScreenAccessor.java b/src/main/java/me/lambdaurora/lambdacontrols/client/util/HandledScreenAccessor.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/util/HandledScreenAccessor.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/util/HandledScreenAccessor.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/util/KeyBindingAccessor.java b/src/main/java/me/lambdaurora/lambdacontrols/client/util/KeyBindingAccessor.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/util/KeyBindingAccessor.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/util/KeyBindingAccessor.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/client/util/MouseAccessor.java b/src/main/java/me/lambdaurora/lambdacontrols/client/util/MouseAccessor.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/client/util/MouseAccessor.java rename to src/main/java/me/lambdaurora/lambdacontrols/client/util/MouseAccessor.java diff --git a/fabric/src/main/java/me/lambdaurora/lambdacontrols/event/PlayerChangeControlsModeCallback.java b/src/main/java/me/lambdaurora/lambdacontrols/event/PlayerChangeControlsModeCallback.java similarity index 100% rename from fabric/src/main/java/me/lambdaurora/lambdacontrols/event/PlayerChangeControlsModeCallback.java rename to src/main/java/me/lambdaurora/lambdacontrols/event/PlayerChangeControlsModeCallback.java diff --git a/fabric/src/main/resources/assets/lambdacontrols/icon.png b/src/main/resources/assets/lambdacontrols/icon.png similarity index 100% rename from fabric/src/main/resources/assets/lambdacontrols/icon.png rename to src/main/resources/assets/lambdacontrols/icon.png diff --git a/fabric/src/main/resources/assets/lambdacontrols/icon_x400.png b/src/main/resources/assets/lambdacontrols/icon_x400.png similarity index 100% rename from fabric/src/main/resources/assets/lambdacontrols/icon_x400.png rename to src/main/resources/assets/lambdacontrols/icon_x400.png diff --git a/fabric/src/main/resources/assets/lambdacontrols/lang/en_us.json b/src/main/resources/assets/lambdacontrols/lang/en_us.json similarity index 100% rename from fabric/src/main/resources/assets/lambdacontrols/lang/en_us.json rename to src/main/resources/assets/lambdacontrols/lang/en_us.json diff --git a/fabric/src/main/resources/assets/lambdacontrols/lang/es_mx.json b/src/main/resources/assets/lambdacontrols/lang/es_mx.json similarity index 100% rename from fabric/src/main/resources/assets/lambdacontrols/lang/es_mx.json rename to src/main/resources/assets/lambdacontrols/lang/es_mx.json diff --git a/fabric/src/main/resources/assets/lambdacontrols/lang/fr_ca.json b/src/main/resources/assets/lambdacontrols/lang/fr_ca.json similarity index 100% rename from fabric/src/main/resources/assets/lambdacontrols/lang/fr_ca.json rename to src/main/resources/assets/lambdacontrols/lang/fr_ca.json diff --git a/fabric/src/main/resources/assets/lambdacontrols/lang/fr_fr.json b/src/main/resources/assets/lambdacontrols/lang/fr_fr.json similarity index 100% rename from fabric/src/main/resources/assets/lambdacontrols/lang/fr_fr.json rename to src/main/resources/assets/lambdacontrols/lang/fr_fr.json diff --git a/fabric/src/main/resources/assets/lambdacontrols/lang/zh_cn.json b/src/main/resources/assets/lambdacontrols/lang/zh_cn.json similarity index 100% rename from fabric/src/main/resources/assets/lambdacontrols/lang/zh_cn.json rename to src/main/resources/assets/lambdacontrols/lang/zh_cn.json diff --git a/fabric/src/main/resources/assets/lambdacontrols/textures/gui/controller_axis.png b/src/main/resources/assets/lambdacontrols/textures/gui/controller_axis.png similarity index 100% rename from fabric/src/main/resources/assets/lambdacontrols/textures/gui/controller_axis.png rename to src/main/resources/assets/lambdacontrols/textures/gui/controller_axis.png diff --git a/fabric/src/main/resources/assets/lambdacontrols/textures/gui/controller_buttons.png b/src/main/resources/assets/lambdacontrols/textures/gui/controller_buttons.png similarity index 100% rename from fabric/src/main/resources/assets/lambdacontrols/textures/gui/controller_buttons.png rename to src/main/resources/assets/lambdacontrols/textures/gui/controller_buttons.png diff --git a/fabric/src/main/resources/assets/lambdacontrols/textures/gui/cursor.png b/src/main/resources/assets/lambdacontrols/textures/gui/cursor.png similarity index 100% rename from fabric/src/main/resources/assets/lambdacontrols/textures/gui/cursor.png rename to src/main/resources/assets/lambdacontrols/textures/gui/cursor.png diff --git a/fabric/src/main/resources/assets/lambdacontrols/textures/gui/widgets.png b/src/main/resources/assets/lambdacontrols/textures/gui/widgets.png similarity index 100% rename from fabric/src/main/resources/assets/lambdacontrols/textures/gui/widgets.png rename to src/main/resources/assets/lambdacontrols/textures/gui/widgets.png diff --git a/fabric/src/main/resources/config.toml b/src/main/resources/config.toml similarity index 100% rename from fabric/src/main/resources/config.toml rename to src/main/resources/config.toml diff --git a/fabric/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json similarity index 100% rename from fabric/src/main/resources/fabric.mod.json rename to src/main/resources/fabric.mod.json diff --git a/fabric/src/main/resources/lambdacontrols.mixins.json b/src/main/resources/lambdacontrols.mixins.json similarity index 100% rename from fabric/src/main/resources/lambdacontrols.mixins.json rename to src/main/resources/lambdacontrols.mixins.json diff --git a/fabric/src/main/resources/lambdacontrols_compat.mixins.json b/src/main/resources/lambdacontrols_compat.mixins.json similarity index 100% rename from fabric/src/main/resources/lambdacontrols_compat.mixins.json rename to src/main/resources/lambdacontrols_compat.mixins.json