From d5d4cef1687e1a07bcd228636a8a403da411bac6 Mon Sep 17 00:00:00 2001 From: LexManos Date: Tue, 17 Dec 2019 20:46:09 -0800 Subject: [PATCH] Update to 1.15.1 --- build.gradle | 6 +- .../minecraftforge/lex/cngbb/DataCreator.java | 83 +++++-------------- src/main/resources/META-INF/mods.toml | 6 +- src/main/resources/pack.mcmeta | 4 +- 4 files changed, 28 insertions(+), 71 deletions(-) diff --git a/build.gradle b/build.gradle index b59f2ca..86c7d57 100644 --- a/build.gradle +++ b/build.gradle @@ -19,8 +19,8 @@ apply plugin: 'eclipse' apply plugin: 'maven-publish' ext { - MC_VERSION = '1.14.4' - FORGE_VERSION = '28.1.0' + MC_VERSION = '1.15.1' + FORGE_VERSION = '30.0.7' MY_VERSION = gitVersion() MODID = 'chunknogobyebye' changelog = rootProject.file('build/changelog.txt') @@ -72,7 +72,7 @@ minecraft { data { workingDirectory project.file('run') property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' - property 'forge.logging.console.level', 'debug' + property 'forge.logging.console.level', 'info' args '--mod', MODID, '--all', '--output', file('src/generated/resources/') diff --git a/src/main/java/net/minecraftforge/lex/cngbb/DataCreator.java b/src/main/java/net/minecraftforge/lex/cngbb/DataCreator.java index 759db30..b80f97b 100644 --- a/src/main/java/net/minecraftforge/lex/cngbb/DataCreator.java +++ b/src/main/java/net/minecraftforge/lex/cngbb/DataCreator.java @@ -26,22 +26,21 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.TreeMap; import java.util.function.BiConsumer; import java.util.function.Consumer; +import java.util.function.Supplier; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.util.TriConsumer; - -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; +import com.google.common.collect.ImmutableList; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import com.google.gson.JsonObject; +import com.mojang.datafixers.util.Pair; import net.minecraft.block.Block; import net.minecraft.block.Blocks; @@ -49,6 +48,7 @@ import net.minecraft.data.DirectoryCache; import net.minecraft.data.IDataProvider; import net.minecraft.data.IFinishedRecipe; +import net.minecraft.data.LootTableProvider; import net.minecraft.data.RecipeProvider; import net.minecraft.data.ShapedRecipeBuilder; import net.minecraft.data.loot.BlockLootTables; @@ -57,8 +57,7 @@ import net.minecraft.world.storage.loot.LootParameterSet; import net.minecraft.world.storage.loot.LootParameterSets; import net.minecraft.world.storage.loot.LootTable; -import net.minecraft.world.storage.loot.LootTableManager; -import net.minecraft.world.storage.loot.LootTables; +import net.minecraft.world.storage.loot.ValidationTracker; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus; @@ -66,6 +65,7 @@ @EventBusSubscriber(modid = MODID, bus = Bus.MOD) public class DataCreator { + @SuppressWarnings("unused") private static final Logger LOGGER = LogManager.getLogger(); private static final Gson GSON = (new GsonBuilder()).setPrettyPrinting().disableHtmlEscaping().create(); @@ -98,19 +98,8 @@ private static void save(DirectoryCache cache, Object object, Path target) throw } private static class Recipes extends RecipeProvider { - private final DataGenerator gen; - private final Path ADV_ROOT; - public Recipes(DataGenerator gen) { super(gen); - this.gen = gen; - ADV_ROOT = this.gen.getOutputFolder().resolve("data/minecraft/advancements/recipes/root.json"); - } - - @Override - protected void saveRecipeAdvancement(DirectoryCache cache, JsonObject json, Path path) { - if (path.equals(ADV_ROOT)) return; //We NEVER care about this. - super.saveRecipeAdvancement(cache, json, path); } @Override @@ -123,73 +112,41 @@ protected void registerRecipes(Consumer consumer) { } } - private static class Loots implements IDataProvider { - private final DataGenerator gen; - + private static class Loots extends LootTableProvider { public Loots(DataGenerator gen) { - this.gen = gen; + super(gen); } - @Override public String getName() { return "LootTables"; } @Override - public void act(DirectoryCache cache) { - Map map = Maps.newHashMap(); - TriConsumer consumer = (set, key, builder) -> { - if (map.put(key, builder.setParameterSet(set).build()) != null) - throw new IllegalStateException("Duplicate loot table " + key); - }; - - new Blocks().accept((key, builder) -> consumer.accept(LootParameterSets.BLOCK, key, builder)); - - map.forEach((key, table) -> { - Path target = this.gen.getOutputFolder().resolve("data/" + key.getNamespace() + "/loot_tables/" + key.getPath() + ".json"); - - try { - IDataProvider.save(GSON, cache, LootTableManager.toJson(table), target); - } catch (IOException ioexception) { - LOGGER.error("Couldn't save loot table {}", target, ioexception); - } - }); + protected List>>, LootParameterSet>> getTables() { + return ImmutableList.of(Pair.of(Blocks::new, LootParameterSets.BLOCK)); } + @Override + protected void validate(Map map, ValidationTracker tracker) {} //We don't do validation + private class Blocks extends BlockLootTables { private Set knownBlocks = new HashSet<>(); - private void addTables() { + protected void addTables() { this.func_218492_c(LOADER_BLOCK.get()); } - @Override - public void accept(BiConsumer consumer) { - this.addTables(); - - Set visited = Sets.newHashSet(); - - for(Block block : knownBlocks) { - ResourceLocation tabke_name = block.getLootTable(); - if (tabke_name != LootTables.EMPTY && visited.add(tabke_name)) { - LootTable.Builder builder = this.field_218581_i.remove(tabke_name); - if (builder == null) - throw new IllegalStateException(String.format("Missing loottable '%s' for '%s'", tabke_name, block.getRegistryName())); - - consumer.accept(tabke_name, builder); - } - } - - if (!this.field_218581_i.isEmpty()) - throw new IllegalStateException("Created block loot tables for non-blocks: " + this.field_218581_i.keySet()); - } - @Override public void func_218492_c(Block block) { knownBlocks.add(block); super.func_218492_c(block); } + + @Override + protected Iterable getKnownBlocks() { + return this.knownBlocks; + } } } diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index ca82118..340d0f3 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[28,)" +loaderVersion="[30,)" # A URL to refer people to when problems occur with this mod #issueTrackerURL="http://my.issue.tracker/" #optional @@ -17,13 +17,13 @@ loaderVersion="[28,)" [[dependencies.chunknogobyebye]] modId="forge" mandatory=true - versionRange="[28.1,)" + versionRange="[30,)" ordering="NONE" side="BOTH" [[dependencies.chunknogobyebye]] modId="minecraft" mandatory=true - versionRange="[1.14.4]" + versionRange="[1.15.1]" ordering="NONE" side="BOTH" diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta index 42ab490..83f9ab7 100644 --- a/src/main/resources/pack.mcmeta +++ b/src/main/resources/pack.mcmeta @@ -1,7 +1,7 @@ { "pack": { - "description": "examplemod resources", - "pack_format": 4, + "description": "ChunkNoGoByeBye", + "pack_format": 5, "_comment": "A pack_format of 4 requires json lang files. Note: we require v4 pack meta for all mods." } }