Skip to content

Commit

Permalink
Port to 1.16.5
Browse files Browse the repository at this point in the history
  • Loading branch information
Jay113355 committed Jul 9, 2023
1 parent ec4d142 commit 5aae241
Show file tree
Hide file tree
Showing 37 changed files with 1,719 additions and 1,363 deletions.
111 changes: 81 additions & 30 deletions build.gradle
@@ -1,48 +1,99 @@
buildscript {
repositories {
jcenter()
maven { url = "http://files.minecraftforge.net/maven" }
// These repositories are only for Gradle plugins, put any other repositories in the repository block further below
maven { url = 'https://maven.minecraftforge.net' }
mavenCentral()
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
}
}
apply plugin: 'net.minecraftforge.gradle.forge'
apply plugin: 'net.minecraftforge.gradle'

version = "1.12-2.0.2"
group = "com.mcf.davidee.nbtedit"
archivesBaseName = "NBTEdit"
group = 'com.mcf.davidee.nbtedit'
version = '1.16.5-2.0.0'

sourceCompatibility = targetCompatibility = 1.7

idea { module { inheritOutputDirs = true } }
java {
withSourcesJar()
archivesBaseName = 'NBTEdit'
toolchain.languageVersion = JavaLanguageVersion.of(8)
}

minecraft {
version = "1.12-14.21.0.2341"
runDir = "run"
mappings = "snapshot_20170617"
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
mappings channel: 'official', version: '1.16.5'

accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')

runs {
client {
workingDirectory project.file('run_client')
mods {
nbtedit {
source sourceSets.main
}
}
}

server {
workingDirectory project.file('run_server')
mods {
nbtedit {
source sourceSets.main
}
}
}

data {
workingDirectory project.file('run_data')
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
args '--mod', 'nbtedit', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')

mods {
nbtedit {
source sourceSets.main
}
}
}
}
}

task deobfJar(type: Jar) {
from sourceSets.main.output
appendix = 'deobf'
// Include resources generated by data generators.
sourceSets.main.resources { srcDir 'src/generated/resources' }

repositories {
}

tasks.build.dependsOn('sourceJar', 'deobfJar')
dependencies {
minecraft 'net.minecraftforge:forge:1.16.5-36.2.35'
}

processResources {
from (sourceSets.main.resources.srcDirs) {
include '**/*.info'
expand 'version':project.version, 'mcversion':project.minecraft.version
// Example for how to get properties into the manifest for reading at runtime.
jar {
manifest {
attributes([
'Specification-Title' : 'nbtedit',
'Specification-Vendor' : 'Jay113355',
'Specification-Version' : '1', // We are version 1 of ourselves
'Implementation-Title' : project.name,
'Implementation-Version' : project.jar.archiveVersion,
'Implementation-Vendor' : 'Jay113355',
'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
from(sourceSets.main.resources.srcDirs) { exclude '**/*.info' }
}

allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
}
task deobfJar(type: Jar) { // Generate deobfuscated
from sourceSets.main.output
classifier = 'deobf'
}

artifacts {
sourcesJar
deobfJar
}

tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
}

jar.finalizedBy('reobfJar', 'deobfJar')
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
65 changes: 0 additions & 65 deletions src/main/java/com/mcf/davidee/nbtedit/CommandNBTEdit.java

This file was deleted.

128 changes: 68 additions & 60 deletions src/main/java/com/mcf/davidee/nbtedit/NBTEdit.java
@@ -1,107 +1,115 @@
package com.mcf.davidee.nbtedit;

import com.mcf.davidee.nbtedit.command.NBTEditCommand;
import com.mcf.davidee.nbtedit.forge.ClientProxy;
import com.mcf.davidee.nbtedit.forge.CommonProxy;
import com.mcf.davidee.nbtedit.nbt.NBTNodeSorter;
import com.mcf.davidee.nbtedit.nbt.NBTTree;
import com.mcf.davidee.nbtedit.nbt.NamedNBT;
import com.mcf.davidee.nbtedit.nbt.SaveStates;
import com.mcf.davidee.nbtedit.packets.PacketHandler;
import net.minecraft.command.ServerCommandManager;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.server.MinecraftServer;
import net.minecraftforge.common.config.Configuration;
import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
import net.minecraft.command.CommandSource;
import net.minecraft.nbt.CompoundNBT;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.common.ForgeConfigSpec;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.RegisterCommandsEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.ModMetadata;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.config.ModConfig;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLLoadCompleteEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.fml.loading.FMLEnvironment;
import net.minecraftforge.server.permission.DefaultPermissionLevel;
import net.minecraftforge.server.permission.PermissionAPI;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.appender.FileAppender;
import org.apache.logging.log4j.core.layout.PatternLayout;

import java.io.File;

@Mod(modid = NBTEdit.MODID, name = NBTEdit.NAME, version = NBTEdit.VERSION, acceptableRemoteVersions = "*")
@Mod(NBTEdit.MODID)
public class NBTEdit {
public static final String MODID = "nbtedit";
public static final String NAME = "In-game NBTEdit";
public static final String VERSION = "1.11.2-2.0.2";
public static final String NAME = "NBTEdit";
public static final String VERSION = "1.16.5-2.0.0";

public static final NBTNodeSorter SORTER = new NBTNodeSorter();
public static final PacketHandler NETWORK = new PacketHandler();

public static Logger logger;
public static Logger logger = LogManager.getLogger(NAME);
public static CommonProxy proxy = new CommonProxy();

public static NamedNBT clipboard = null;
public static boolean opOnly = true;
public static boolean editOtherPlayers = false;

@Instance(MODID)
static Pair<NBTEditConfig, ForgeConfigSpec> configPair;

private static NBTEdit instance;
private SaveStates saves;

@SidedProxy(clientSide = "com.mcf.davidee.nbtedit.forge.ClientProxy", serverSide = "com.mcf.davidee.nbtedit.forge.CommonProxy")
public static CommonProxy proxy;
public NBTEdit() {
instance = this;
// Register the setup method for modloading
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::init);
MinecraftForge.EVENT_BUS.register(this);
MinecraftForge.EVENT_BUS.register(NBTEditConfig.class);

private SaveStates saves;
//Load the config
configPair = new ForgeConfigSpec.Builder().configure(NBTEditConfig::new);
ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, configPair.getValue());

@EventHandler
public void preInit(FMLPreInitializationEvent event) {
Configuration config = new Configuration(event.getSuggestedConfigurationFile());
config.load();
opOnly = config.get("General", "opOnly", true, "true if only Ops can NBTEdit; false allows users in creative mode to NBTEdit").getBoolean(true);
editOtherPlayers = config.get("General", "editOtherPlayers", false, "true if editing players other then your self is allowed. false by default. USE AT YOUR OWN RISK").getBoolean(false);
if (config.hasChanged()) {
config.save();
if (FMLEnvironment.dist == Dist.CLIENT) {
proxy = new ClientProxy();
}
}

public void setup(FMLCommonSetupEvent event) {
NBTEditConfig config = configPair.getKey();
opOnly = config.opOnly();
editOtherPlayers = config.editOtherPlayers();

logger = event.getModLog();
org.apache.logging.log4j.core.Logger log = (org.apache.logging.log4j.core.Logger) logger;
log.setAdditive(false); //Sets our logger to not show up in console.
log.setLevel(Level.ALL);
org.apache.logging.log4j.core.Logger coreLogger = (org.apache.logging.log4j.core.Logger) logger;
coreLogger.setAdditive(false); //Sets our logger to not show up in console.
coreLogger.setLevel(Level.ALL);

// Set up our file logging.
PatternLayout layout = PatternLayout.newBuilder().withPattern("[%d{MM-dd HH:mm:ss}] [%level]: %msg%n").build();
FileAppender.Builder builder = FileAppender.newBuilder();
builder.withFileName("logs/NBTEdit.log").withName("NBTEdit File Appender").withLayout(layout).withIgnoreExceptions(false);
FileAppender appender = builder.build();
FileAppender appender = FileAppender.newBuilder()
.withFileName("logs/nbtedit.log")
.setName("NBTEdit File Appender")
.setLayout(layout)
.setIgnoreExceptions(false)
.build();
appender.start();
log.addAppender(appender);

ModMetadata m = event.getModMetadata();
m.autogenerated = false;
m.modId = MODID;
m.version = VERSION;
m.name = NAME;
m.authorList.add("Davidee");

m.credits = "Thanks to Mojang, Forge, and all your support.";
m.description = "Allows you to edit NBT Tags in-game.\nPlease visit the URL above for help.";
m.url = "http://www.minecraftforum.net/topic/1558668-151/";
}
coreLogger.addAppender(appender);

@EventHandler
public void init(FMLInitializationEvent event) {
logger.trace("NBTEdit Initalized");
saves = new SaveStates(new File(new File(proxy.getMinecraftDirectory(), "saves"), "NBTEdit.dat"));
NETWORK.initialize();
}

@EventHandler
public void postInit(FMLPostInitializationEvent event) {
public void init(FMLLoadCompleteEvent event) {
logger.trace("NBTEdit Initialized");
saves = new SaveStates(new File(new File(proxy.getMinecraftDirectory(), "saves"), "nbtedit.dat"));
proxy.registerInformation();
}

@EventHandler
public void serverStarting(FMLServerStartingEvent event) {
MinecraftServer server = event.getServer();
ServerCommandManager serverCommandManager = (ServerCommandManager) server.getCommandManager();
serverCommandManager.registerCommand(new CommandNBTEdit());
@SubscribeEvent
public void onRegisterCommands(RegisterCommandsEvent event) {
CommandDispatcher<CommandSource> dispatcher = event.getDispatcher();
LiteralArgumentBuilder<CommandSource> builder = LiteralArgumentBuilder.literal(NBTEditCommand.INSTANCE.commandName());
NBTEditCommand.INSTANCE.buildCommand(builder);
dispatcher.register(builder);
logger.trace("Server Starting -- Added \"/nbtedit\" command");
PermissionAPI.registerNode("nbtedit.edit", DefaultPermissionLevel.OP, "Allows the user to edit NBT data");
}

public static void log(Level l, String s) {
Expand All @@ -114,7 +122,7 @@ public static void throwing(String cls, String mthd, Throwable thr) {

static final String SEP = System.getProperty("line.separator");

public static void logTag(NBTTagCompound tag) {
public static void logTag(CompoundNBT tag) {
NBTTree tree = new NBTTree(tag);
String sb = "";
for (String s : tree.toStrings()) {
Expand Down

0 comments on commit 5aae241

Please sign in to comment.