From 1469df26dbeba596a31a610d1d0b1a6dd1f9087b Mon Sep 17 00:00:00 2001 From: LexManos Date: Thu, 21 Feb 2019 21:26:45 -0800 Subject: [PATCH] Delete old OreDictionary file, fix type in NUGGETS_IRON field name, and ping discord from jenkins. --- Jenkinsfile | 31 +- .../java/net/minecraftforge/common/Tags.java | 2 +- .../minecraftforge/oredict/OreDictionary.java | 299 ------------------ 3 files changed, 27 insertions(+), 305 deletions(-) delete mode 100644 src/main/java/net/minecraftforge/oredict/OreDictionary.java diff --git a/Jenkinsfile b/Jenkinsfile index 3143b765b..8a669449f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -12,12 +12,22 @@ pipeline { } environment { GRADLE_ARGS = '--no-daemon --console=plain' // No daemon for now as FG3 kinda derps. //'-Dorg.gradle.daemon.idletimeout=5000' + DISCORD_WEBHOOK = 'https://discordapp.com/api/webhooks/455030234916323328/6egcSG3jeQZ_rzUbbbX9BnjBt2-W6KkeG77Iu9Jf_oWJwpmJ0hanLwoKIvP14UCTcLsA' + DISCORD_PREFIX = "Job: Forge Branch: ${BRANCH_NAME} Build: #${BUILD_NUMBER}" + JENKINS_HEAD = 'https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png' } stages { stage('fetch') { steps { checkout scm + discordSend( + title: "${DISCORD_PREFIX} Started", + successful: true, + result: 'ABORTED', //White border + thumbnail: JENKINS_HEAD, + webhookURL: DISCORD_WEBHOOK + ) } } stage('setup') { @@ -50,10 +60,10 @@ pipeline { cache(maxCacheSize: 250/*MB*/, caches: [ [$class: 'ArbitraryFileCache', excludes: '', includes: 'output.txt', path: '${WORKSPACE}/projects/forge/build/extractRangeMap/'] //Cache the rangemap to help speed up builds ]){ - sh './gradlew ${GRADLE_ARGS} :forge:publish -PforgeMavenUser=${FORGE_MAVEN_USR} -PforgeMavenPassword=${FORGE_MAVEN_PSW} -PkeystoreKeyPass=${KEYSTORE_KEYPASS} -PkeystoreStorePass=${KEYSTORE_STOREPASS} -Pkeystore=${KEYSTORE} -PcrowdinKey=${CROWDIN}' + //sh './gradlew ${GRADLE_ARGS} :forge:publish -PforgeMavenUser=${FORGE_MAVEN_USR} -PforgeMavenPassword=${FORGE_MAVEN_PSW} -PkeystoreKeyPass=${KEYSTORE_KEYPASS} -PkeystoreStorePass=${KEYSTORE_STOREPASS} -Pkeystore=${KEYSTORE} -PcrowdinKey=${CROWDIN}' } //We're not testing anymore so don't use the test group - sh 'curl --user ${FORGE_MAVEN} http://files.minecraftforge.net/maven/manage/promote/latest/net.minecraftforge.forge/${MYVERSION}' + //sh 'curl --user ${FORGE_MAVEN} http://files.minecraftforge.net/maven/manage/promote/latest/net.minecraftforge.forge/${MYVERSION}' } } stage('test_publish_pr') { //Publish to local repo to test full process, but don't include credentials so it can't sign/publish to maven @@ -74,9 +84,20 @@ pipeline { } post { always { - archiveArtifacts artifacts: 'projects/forge/build/libs/**/*.*', fingerprint: true - //junit 'build/test-results/*/*.xml' - //jacoco sourcePattern: '**/src/*/java' + script { + archiveArtifacts artifacts: 'projects/forge/build/libs/**/*.*', fingerprint: true, onlyIfSuccessful: true, allowEmptyArchive: true + //junit 'build/test-results/*/*.xml' + //jacoco sourcePattern: '**/src/*/java' + + discordSend( + title: "${DISCORD_PREFIX} Finished ${currentBuild.currentResult}", + description: '```\n' + getChanges(currentBuild) + '\n```', + successful: currentBuild.resultIsBetterOrEqualTo("SUCCESS"), + result: currentBuild.currentResult, + thumbnail: JENKINS_HEAD, + webhookURL: DISCORD_WEBHOOK + ) + } } } } diff --git a/src/main/java/net/minecraftforge/common/Tags.java b/src/main/java/net/minecraftforge/common/Tags.java index d78981cd7..995e25ac6 100644 --- a/src/main/java/net/minecraftforge/common/Tags.java +++ b/src/main/java/net/minecraftforge/common/Tags.java @@ -114,7 +114,7 @@ public class Tags public static final Tag MUSIC_DISCS = tag("music_discs"); public static final Tag NUGGETS = tag("nuggets"); public static final Tag NUGGETS_GOLD = tag("nuggets/gold"); - public static final Tag NUGGETS_IRRON = tag("nuggets/iron"); + public static final Tag NUGGETS_IRON = tag("nuggets/iron"); public static final Tag ORES = tag("ores"); public static final Tag ORES_COAL = tag("ores/coal"); public static final Tag ORES_DIAMOND = tag("ores/diamond"); diff --git a/src/main/java/net/minecraftforge/oredict/OreDictionary.java b/src/main/java/net/minecraftforge/oredict/OreDictionary.java deleted file mode 100644 index fcd857a59..000000000 --- a/src/main/java/net/minecraftforge/oredict/OreDictionary.java +++ /dev/null @@ -1,299 +0,0 @@ -/* - * Minecraft Forge - * Copyright (c) 2016-2019. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation version 2.1 - * of the License. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -package net.minecraftforge.oredict; - -public class OreDictionary -{ -/* - - private static void initVanillaEntries() - { - if (!hasInit) - { - // tree- and wood-related things - registerOre("treeLeaves", new ItemStack(Blocks.LEAVES, 1, WILDCARD_VALUE)); - registerOre("treeLeaves", new ItemStack(Blocks.LEAVES2, 1, WILDCARD_VALUE)); - registerOre("vine", Blocks.VINE); - - // crops - registerOre("cropWheat", Items.WHEAT); - registerOre("cropPotato", Items.POTATO); - registerOre("cropCarrot", Items.CARROT); - registerOre("cropNetherWart", Items.NETHER_WART); - registerOre("sugarcane", Items.REEDS); - registerOre("blockCactus", Blocks.CACTUS); - - // misc materials - registerOre("paper", new ItemStack(Items.PAPER)); - - // mob drops - registerOre("slimeball", Items.SLIME_BALL); - registerOre("enderpearl", Items.ENDER_PEARL); - registerOre("bone", Items.BONE); - registerOre("gunpowder", Items.GUNPOWDER); - registerOre("string", Items.STRING); - registerOre("netherStar", Items.NETHER_STAR); - registerOre("leather", Items.LEATHER); - registerOre("feather", Items.FEATHER); - registerOre("egg", Items.EGG); - - // blocks - registerOre("dirt", Blocks.DIRT); - registerOre("grass", Blocks.GRASS); - registerOre("gravel", Blocks.GRAVEL); - registerOre("sandstone", new ItemStack(Blocks.SANDSTONE, 1, WILDCARD_VALUE)); - registerOre("sandstone", new ItemStack(Blocks.RED_SANDSTONE, 1, WILDCARD_VALUE)); - registerOre("netherrack", Blocks.NETHERRACK); - registerOre("obsidian", Blocks.OBSIDIAN); - registerOre("glowstone", Blocks.GLOWSTONE); - registerOre("endstone", Blocks.END_STONE); - registerOre("torch", Blocks.TORCH); - registerOre("workbench", Blocks.CRAFTING_TABLE); - registerOre("blockSlime", Blocks.SLIME_BLOCK); - registerOre("blockPrismarine", new ItemStack(Blocks.PRISMARINE, 1, BlockPrismarine.EnumType.ROUGH.getMetadata())); - registerOre("blockPrismarineBrick", new ItemStack(Blocks.PRISMARINE, 1, BlockPrismarine.EnumType.BRICKS.getMetadata())); - registerOre("blockPrismarineDark", new ItemStack(Blocks.PRISMARINE, 1, BlockPrismarine.EnumType.DARK.getMetadata())); - registerOre("blockGlassColorless", Blocks.GLASS); - registerOre("blockGlass", Blocks.GLASS); - registerOre("blockGlass", new ItemStack(Blocks.STAINED_GLASS, 1, WILDCARD_VALUE)); - //blockGlass{Color} is added below with dyes - registerOre("paneGlassColorless", Blocks.GLASS_PANE); - registerOre("paneGlass", Blocks.GLASS_PANE); - registerOre("paneGlass", new ItemStack(Blocks.STAINED_GLASS_PANE, 1, WILDCARD_VALUE)); - //paneGlass{Color} is added below with dyes - } - - // Build our list of items to replace with ore tags - Map replacements = new HashMap(); - - // wood-related things - replacements.put(new ItemStack(Items.STICK), "stickWood"); - replacements.put(new ItemStack(Blocks.PLANKS, 1, 0), "plankWood"); - replacements.put(new ItemStack(Blocks.PLANKS, 1, 1), "plankWood"); - replacements.put(new ItemStack(Blocks.PLANKS, 1, 2), "plankWood"); - replacements.put(new ItemStack(Blocks.PLANKS, 1, 3), "plankWood"); - replacements.put(new ItemStack(Blocks.PLANKS, 1, 4), "plankWood"); - replacements.put(new ItemStack(Blocks.PLANKS, 1, 5), "plankWood"); - replacements.put(new ItemStack(Blocks.PLANKS, 1, WILDCARD_VALUE), "plankWood"); - replacements.put(new ItemStack(Blocks.WOODEN_SLAB, 1, WILDCARD_VALUE), "slabWood"); - - // ingots/nuggets - replacements.put(new ItemStack(Items.GOLD_INGOT), "ingotGold"); - replacements.put(new ItemStack(Items.IRON_INGOT), "ingotIron"); - - // gems and dusts - replacements.put(new ItemStack(Items.DIAMOND), "gemDiamond"); - replacements.put(new ItemStack(Items.EMERALD), "gemEmerald"); - replacements.put(new ItemStack(Items.PRISMARINE_SHARD), "gemPrismarine"); - replacements.put(new ItemStack(Items.PRISMARINE_CRYSTALS), "dustPrismarine"); - replacements.put(new ItemStack(Items.REDSTONE), "dustRedstone"); - replacements.put(new ItemStack(Items.GLOWSTONE_DUST), "dustGlowstone"); - - // crops - replacements.put(new ItemStack(Items.REEDS), "sugarcane"); - replacements.put(new ItemStack(Blocks.CACTUS), "blockCactus"); - - // misc materials - replacements.put(new ItemStack(Items.PAPER), "paper"); - - // mob drops - replacements.put(new ItemStack(Items.SLIME_BALL), "slimeball"); - replacements.put(new ItemStack(Items.STRING), "string"); - replacements.put(new ItemStack(Items.LEATHER), "leather"); - replacements.put(new ItemStack(Items.ENDER_PEARL), "enderpearl"); - replacements.put(new ItemStack(Items.GUNPOWDER), "gunpowder"); - replacements.put(new ItemStack(Items.NETHER_STAR), "netherStar"); - replacements.put(new ItemStack(Items.FEATHER), "feather"); - replacements.put(new ItemStack(Items.BONE), "bone"); - replacements.put(new ItemStack(Items.EGG), "egg"); - - // blocks - replacements.put(new ItemStack(Blocks.STONE), "stone"); - replacements.put(new ItemStack(Blocks.COBBLESTONE), "cobblestone"); - replacements.put(new ItemStack(Blocks.COBBLESTONE, 1, WILDCARD_VALUE), "cobblestone"); - replacements.put(new ItemStack(Blocks.GLOWSTONE), "glowstone"); - replacements.put(new ItemStack(Blocks.GLASS), "blockGlassColorless"); - replacements.put(new ItemStack(Blocks.PRISMARINE), "prismarine"); - replacements.put(new ItemStack(Blocks.STONE, 1, 1), "stoneGranite"); - replacements.put(new ItemStack(Blocks.STONE, 1, 2), "stoneGranitePolished"); - replacements.put(new ItemStack(Blocks.STONE, 1, 3), "stoneDiorite"); - replacements.put(new ItemStack(Blocks.STONE, 1, 4), "stoneDioritePolished"); - replacements.put(new ItemStack(Blocks.STONE, 1, 5), "stoneAndesite"); - replacements.put(new ItemStack(Blocks.STONE, 1, 6), "stoneAndesitePolished"); - - // chests - replacements.put(new ItemStack(Blocks.CHEST), "chestWood"); - replacements.put(new ItemStack(Blocks.ENDER_CHEST), "chestEnder"); - replacements.put(new ItemStack(Blocks.TRAPPED_CHEST), "chestTrapped"); - - // Register dyes - String[] dyes = - { - "Black", - "Red", - "Green", - "Brown", - "Blue", - "Purple", - "Cyan", - "LightGray", - "Gray", - "Pink", - "Lime", - "Yellow", - "LightBlue", - "Magenta", - "Orange", - "White" - }; - - for(int i = 0; i < 16; i++) - { - ItemStack block = new ItemStack(Blocks.STAINED_GLASS, 1, 15 - i); - ItemStack pane = new ItemStack(Blocks.STAINED_GLASS_PANE, 1, 15 - i); - if (!hasInit) - { - registerOre("blockGlass" + dyes[i], block); - registerOre("paneGlass" + dyes[i], pane); - } - replacements.put(dye, "dye" + dyes[i]); - replacements.put(block, "blockGlass" + dyes[i]); - replacements.put(pane, "paneGlass" + dyes[i]); - } - hasInit = true; - - ItemStack[] replaceStacks = replacements.keySet().toArray(new ItemStack[replacements.keySet().size()]); - - // Ignore recipes for the following items - ItemStack[] exclusions = new ItemStack[] - { - new ItemStack(Blocks.LAPIS_BLOCK), - new ItemStack(Items.COOKIE), - new ItemStack(Blocks.STONEBRICK), - new ItemStack(Blocks.STONE_SLAB, 1, WILDCARD_VALUE), - new ItemStack(Blocks.STONE_STAIRS), - new ItemStack(Blocks.COBBLESTONE_WALL), - new ItemStack(Blocks.OAK_FENCE), - new ItemStack(Blocks.OAK_FENCE_GATE), - new ItemStack(Blocks.OAK_STAIRS), - new ItemStack(Blocks.SPRUCE_FENCE), - new ItemStack(Blocks.SPRUCE_FENCE_GATE), - new ItemStack(Blocks.SPRUCE_STAIRS), - new ItemStack(Blocks.BIRCH_FENCE_GATE), - new ItemStack(Blocks.BIRCH_FENCE), - new ItemStack(Blocks.BIRCH_STAIRS), - new ItemStack(Blocks.JUNGLE_FENCE), - new ItemStack(Blocks.JUNGLE_FENCE_GATE), - new ItemStack(Blocks.JUNGLE_STAIRS), - new ItemStack(Blocks.ACACIA_FENCE), - new ItemStack(Blocks.ACACIA_FENCE_GATE), - new ItemStack(Blocks.ACACIA_STAIRS), - new ItemStack(Blocks.DARK_OAK_FENCE), - new ItemStack(Blocks.DARK_OAK_FENCE_GATE), - new ItemStack(Blocks.DARK_OAK_STAIRS), - new ItemStack(Blocks.WOODEN_SLAB, 1, WILDCARD_VALUE), - new ItemStack(Blocks.GLASS_PANE), - new ItemStack(Blocks.BONE_BLOCK), // Bone Block, to prevent conversion of dyes into bone meal. - new ItemStack(Items.BOAT), - new ItemStack(Items.SPRUCE_BOAT), - new ItemStack(Items.BIRCH_BOAT), - new ItemStack(Items.JUNGLE_BOAT), - new ItemStack(Items.ACACIA_BOAT), - new ItemStack(Items.DARK_OAK_BOAT), - new ItemStack(Items.OAK_DOOR), - new ItemStack(Items.SPRUCE_DOOR), - new ItemStack(Items.BIRCH_DOOR), - new ItemStack(Items.JUNGLE_DOOR), - new ItemStack(Items.ACACIA_DOOR), - new ItemStack(Items.DARK_OAK_DOOR), - ItemStack.EMPTY //So the above can have a comma and we don't have to keep editing extra lines. - }; - - LOGGER.info("Starts to replace vanilla recipe ingredients with ore ingredients."); - int replaced = 0; - // Search vanilla recipes for recipes to replace - for(IRecipe obj : CraftingManager.REGISTRY) - { - if(obj.getClass() == ShapedRecipes.class || obj.getClass() == ShapelessRecipes.class) - { - ItemStack output = obj.getRecipeOutput(); - if (!output.isEmpty() && containsMatch(false, new ItemStack[]{ output }, exclusions)) - { - continue; - } - - Set replacedIngs = new HashSet<>(); - NonNullList lst = obj.getIngredients(); - for (int x = 0; x < lst.size(); x++) - { - Ingredient ing = lst.get(x); - ItemStack[] ingredients = ing.getMatchingStacks(); - String oreName = null; - boolean skip = false; - - for (ItemStack stack : ingredients) - { - boolean matches = false; - for (Entry ent : replacements.entrySet()) - { - if (itemMatches(ent.getKey(), stack, true)) - { - matches = true; - if (oreName != null && !oreName.equals(ent.getValue())) - { - LOGGER.info("Invalid recipe found with multiple oredict ingredients in the same ingredient..."); //TODO: Write a dumper? - skip = true; - break; - } - else if (oreName == null) - { - oreName = ent.getValue(); - break; - } - } - } - if (!matches && oreName != null) - { - //TODO: Properly fix this, Broken recipe example: Beds - //FMLLog.info("Invalid recipe found with ingredient that partially matches ore entries..."); //TODO: Write a dumper? - skip = true; - } - if (skip) - break; - } - if (!skip && oreName != null) - { - //Replace! - lst.set(x, new OreIngredient(oreName)); - replaced++; - if(DEBUG && replacedIngs.add(ing)) - { - String recipeName = obj.getRegistryName().getResourcePath(); - LOGGER.debug("Replaced {} of the recipe \'{}\' with \"{}\".", ing.getMatchingStacks(), recipeName, oreName); - } - } - } - } - } - - LOGGER.info("Replaced {} ore ingredients", replaced); - } - */ -}