Skip to content

Commit

Permalink
Add support for the Rats mod
Browse files Browse the repository at this point in the history
Basically takes over cheese making
  • Loading branch information
KnightMiner committed Sep 3, 2020
1 parent 15cb850 commit e50c4e9
Show file tree
Hide file tree
Showing 16 changed files with 278 additions and 18 deletions.
19 changes: 6 additions & 13 deletions build.gradle
Expand Up @@ -8,9 +8,6 @@ buildscript {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
}
}
plugins {
id "com.wynprice.cursemaven" version "1.1.0"
}
apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'maven'
apply plugin: 'maven-publish'
Expand Down Expand Up @@ -119,12 +116,8 @@ repositories {
name 'tterrag maven'
url "https://maven.tterrag.com/"
}
maven { // WAILA
name "Tehnut Maven FS"
url "https://tehnut.info/maven"
}
maven { // LLibrary
url = "http://maven.mcmoddev.com"
maven {
url = "https://www.cursemaven.com"
}
}

Expand All @@ -137,10 +130,10 @@ dependencies {
runtimeOnly fg.deobf("mezz.jei:jei-${config.minecraft_version}:${config.jei_version}")

compile fg.deobf("slimeknights.mantle:Mantle:${config.minecraft_version}-${config.mantle_version}")
//deobfCompile curse.resolve("leather-works", "2695934")
//deobfCompile "net.ilexiconn:llibrary:1.7.9-1.12.2"
//deobfCompile curse.resolve("rats", "2732516")
//deobfCompile curse.resolve("the-twilight-forest", "2618264")

// rats plugin
//runtimeOnly fg.deobf("curse.maven:citadel:2992577")
//runtimeOnly fg.deobf("curse.maven:rats:3041056")
}

jar {
Expand Down
5 changes: 5 additions & 0 deletions src/generated/resources/.cache/cache
@@ -1,3 +1,4 @@
96d82b64ee7eab137ac6fe4bcff983e161c60d83 data/forge/tags/fluids/milk.json
eaf9ea781f5220889d762b91e1267309994f1634 data/forge/tags/items/bookshelves.json
310fd9b17f2286a204c0552bd9b8c1c5769c5a70 data/forge/tags/items/dyes/black.json
d62d9549d00dfb79731abd7d3622a4a8efbac828 data/forge/tags/items/dyes/blue.json
Expand Down Expand Up @@ -160,7 +161,9 @@ ba0aa41e87eba45f5afaae186d55b2db0f4b7d43 data/inspirations/advancements/recipes/
08202e9d5ddc5d565afaf2427c68270499e4b37a data/inspirations/advancements/recipes/cauldron/cauldron/concrete/white.json
c8697f7a4163fb4d846b66591b15d8bc3ee2b065 data/inspirations/advancements/recipes/cauldron/cauldron/concrete/yellow.json
0558ed0c0b9ea4e1a357b75a2971dd2736c738fc data/inspirations/advancements/recipes/cauldron/cauldron/dry_cauldron.json
e9f31fb49c73102e74292985465de68a333f7e1d data/inspirations/advancements/recipes/cauldron/cauldron/empty_milk_bucket.json
dc6a35dd2aebbc66a2b9e2d61ac57f5f6cdd287c data/inspirations/advancements/recipes/cauldron/cauldron/empty_water_bottle.json
7f4314c8c0d8fdd8b39af92aafe3d86250c920b2 data/inspirations/advancements/recipes/cauldron/cauldron/fill_milk_bucket.json
566e670a21516e6910f70aa437a730b903a69466 data/inspirations/advancements/recipes/cauldron/cauldron/fill_water_bottle.json
edaa5180d5a0bf0b1efe0c51b6c61b1f7ce61cfc data/inspirations/advancements/recipes/cauldron/cauldron/ice/ice_from_packed_ice.json
e1258d061b8f7e0ffe748b3b840b7bec2b01a0f7 data/inspirations/advancements/recipes/cauldron/cauldron/ice/ice_from_water.json
Expand Down Expand Up @@ -746,8 +749,10 @@ dfaacb0b691fc574aa0ae30a3f21aeb992ab6c3d data/inspirations/recipes/cauldron/dyea
9ae36578e5b35e7c5d62206e70701b448abdadd1 data/inspirations/recipes/cauldron/dyeable/dye_leather_horse_armor.json
e535dc27fcec8fe03c36a71a0061ffeac2da95f9 data/inspirations/recipes/cauldron/dyeable/dye_leather_leggings.json
76b1e9beb5a6facb9f15e8371481bbe30e683171 data/inspirations/recipes/cauldron/empty_bucket.json
3c88ffc4ee7893b5df93277a39c9a42bf7989591 data/inspirations/recipes/cauldron/empty_milk_bucket.json
079f53c94ad3f821efb34fbe3c92cfab01d46c15 data/inspirations/recipes/cauldron/empty_water_bottle.json
2b54da72e999ac88c3a26fdf0704bd06ce80dc90 data/inspirations/recipes/cauldron/fill_bucket.json
be79706db05479b1212c6e1b4897394c7f956224 data/inspirations/recipes/cauldron/fill_milk_bucket.json
4d16f0fbec7fda0992e4b3ec3a4d08e31e42e1a1 data/inspirations/recipes/cauldron/fill_water_bottle.json
4e93ea4ea10138d982bc94e1ca9005d9a2567171 data/inspirations/recipes/cauldron/ice/ice_from_packed_ice.json
21a777c55086f0e810260c73e2a4063559ae4bbb data/inspirations/recipes/cauldron/ice/ice_from_water.json
Expand Down
7 changes: 7 additions & 0 deletions src/generated/resources/data/forge/tags/fluids/milk.json
@@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"inspirations:milk",
"inspirations:flowing_milk"
]
}
@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"inspirations:cauldron/empty_milk_bucket"
]
},
"criteria": {
"has_item": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:milk_bucket"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "inspirations:cauldron/empty_milk_bucket"
}
}
},
"requirements": [
[
"has_item",
"has_the_recipe"
]
]
}
@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"inspirations:cauldron/fill_milk_bucket"
]
},
"criteria": {
"has_item": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:milk_bucket"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "inspirations:cauldron/fill_milk_bucket"
}
}
},
"requirements": [
[
"has_item",
"has_the_recipe"
]
]
}
@@ -0,0 +1,41 @@
{
"type": "inspirations:cauldron",
"conditions": [
{
"prop": "recipes_module",
"type": "inspirations:config"
},
{
"prop": "cauldron_recipes",
"type": "inspirations:config"
}
],
"input": {
"item": {
"item": "minecraft:milk_bucket"
},
"contents": {
"type": "inspirations:fluid",
"tag": "forge:milk"
},
"level": {
"max": 2
}
},
"output": {
"item": {
"item": "minecraft:bucket"
},
"container": {
"empty": true
},
"contents": {
"type": "inspirations:fluid",
"name": "inspirations:milk"
},
"level": {
"set": 3
}
},
"sound": "minecraft:item.bucket.empty"
}
@@ -0,0 +1,34 @@
{
"type": "inspirations:cauldron",
"conditions": [
{
"prop": "recipes_module",
"type": "inspirations:config"
},
{
"prop": "cauldron_recipes",
"type": "inspirations:config"
}
],
"input": {
"item": {
"item": "minecraft:milk_bucket"
},
"contents": {
"type": "inspirations:fluid",
"tag": "forge:milk"
},
"level": {
"min": 3
}
},
"output": {
"item": {
"item": "minecraft:milk_bucket"
},
"level": {
"set": 0
}
},
"sound": "minecraft:item.bucket.fill"
}
2 changes: 2 additions & 0 deletions src/main/java/knightminer/inspirations/Inspirations.java
Expand Up @@ -5,6 +5,7 @@
import knightminer.inspirations.building.InspirationsBuilding;
import knightminer.inspirations.common.Config;
import knightminer.inspirations.common.datagen.InspirationsBlockTagsProvider;
import knightminer.inspirations.common.datagen.InspirationsFluidTagsProvider;
import knightminer.inspirations.common.datagen.InspirationsItemTagsProvider;
import knightminer.inspirations.common.datagen.InspirationsLootTableProvider;
import knightminer.inspirations.common.network.InspirationsNetwork;
Expand Down Expand Up @@ -98,6 +99,7 @@ void gatherData(GatherDataEvent event) {
BlockTagsProvider blockTags = new InspirationsBlockTagsProvider(gen);
gen.addProvider(blockTags);
gen.addProvider(new InspirationsItemTagsProvider(gen, blockTags));
gen.addProvider(new InspirationsFluidTagsProvider(gen));
gen.addProvider(new InspirationsLootTableProvider(gen));
}
}
Expand Down
@@ -0,0 +1,24 @@
package knightminer.inspirations.common.datagen;

import knightminer.inspirations.Inspirations;
import knightminer.inspirations.library.InspirationsTags;
import knightminer.inspirations.recipes.InspirationsRecipes;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.FluidTagsProvider;

public class InspirationsFluidTagsProvider extends FluidTagsProvider {
public InspirationsFluidTagsProvider(DataGenerator gen) {
super(gen);
this.modId = Inspirations.modID;
}

@Override
public String getName() {
return "Inspirations Fluid Tags";
}

@Override
protected void registerTags() {
this.getOrCreateBuilder(InspirationsTags.Fluids.MILK).add(InspirationsRecipes.milk, InspirationsRecipes.milk.getFlowingFluid());
}
}
Expand Up @@ -2,8 +2,10 @@

import knightminer.inspirations.Inspirations;
import net.minecraft.block.Block;
import net.minecraft.fluid.Fluid;
import net.minecraft.item.Item;
import net.minecraft.tags.BlockTags;
import net.minecraft.tags.FluidTags;
import net.minecraft.tags.ITag.INamedTag;
import net.minecraft.tags.ItemTags;

Expand Down Expand Up @@ -79,4 +81,12 @@ private static INamedTag<Item> forgeTag(String name) {
return ItemTags.makeWrapperTag("forge:" + name);
}
}

public static class Fluids {
public static final INamedTag<Fluid> MILK = forgeTag("milk");

private static INamedTag<Fluid> forgeTag(String name) {
return FluidTags.makeWrapperTag("forge:" + name);
}
}
}
Expand Up @@ -6,7 +6,6 @@
import knightminer.inspirations.library.recipe.cauldron.CauldronIngredients;
import net.minecraft.fluid.Fluid;
import net.minecraft.network.PacketBuffer;
import net.minecraft.tags.FluidTags;
import net.minecraft.tags.ITag;
import net.minecraft.tags.TagCollectionManager;
import net.minecraft.util.JSONUtils;
Expand Down Expand Up @@ -72,7 +71,7 @@ public ContentMatchIngredient<Fluid> read(JsonObject json) {
// tag
if (json.has("tag")) {
ResourceLocation tagName = new ResourceLocation(JSONUtils.getString(json, "tag"));
ITag<Fluid> tag = FluidTags.getCollection().get(tagName);
ITag<Fluid> tag = TagCollectionManager.func_232928_e_().func_232926_c_().get(tagName);
if (tag == null) {
throw new JsonSyntaxException("Unknown fluid tag '" + tagName + "'");
}
Expand Down
Expand Up @@ -62,6 +62,8 @@
public class InspirationsRecipes extends ModuleBase {
public static final ResourceLocation STILL_FLUID = Inspirations.getResource("block/fluid/colorless");
public static final ResourceLocation FLOWING_FLUID = Inspirations.getResource("block/fluid/colorless_flow");
public static final ResourceLocation STILL_MILK = Inspirations.getResource("block/fluid/milk");
public static final ResourceLocation FLOWING_MILK = Inspirations.getResource("block/fluid/milk_flow");

// blocks
public static Block fullAnvil;
Expand Down Expand Up @@ -92,7 +94,7 @@ public class InspirationsRecipes extends ModuleBase {
public static ForgeFlowingFluid potatoSoup;
public static BucketItem potatoSoupBucket;
public static FlowingFluidBlock potatoSoupBlock;
//public static Fluid milk;
public static ForgeFlowingFluid milk;

// cauldron serializers
public static CauldronRecipe.Serializer cauldronSerializer;
Expand Down Expand Up @@ -127,7 +129,8 @@ void registerFluids(Register<Fluid> event) {
potatoSoup = adapter.register(new FluidBuilder(coloredFluid().color(0xFFF2DA9F).temperature(373))
.block(() -> potatoSoupBlock)
.bucket(() -> potatoSoupBucket), "potato_soup");
//milk = adapter.register(new FluidBuilder(FluidAttributes.builder(Inspirations.getResource("block/milk"), Inspirations.getResource("block/milk_flow")).color(0xFFCD8C6F)), "milk");
milk = adapter.register(new FluidBuilder(FluidAttributes.builder(STILL_MILK, FLOWING_MILK).density(1024).viscosity(1024))
.bucket(Items.MILK_BUCKET.delegate), "milk");
}

@SubscribeEvent
Expand Down
Expand Up @@ -225,6 +225,25 @@ private void addCauldronRecipes() {
.build(concrete, resource(concreteFolder + color.getString()));
});

// temporary milk recipes until Forge merges one of my milk bucket fixes
ICauldronIngredient milkIngredient = CauldronIngredients.FLUID.of(InspirationsTags.Fluids.MILK);
CauldronRecipeBuilder.cauldron(SizedIngredient.fromItems(Items.MILK_BUCKET), milkIngredient)
.maxLevels(2)
.setFull()
.setOutput(Items.BUCKET)
.setOutput(CauldronContentTypes.FLUID.of(InspirationsRecipes.milk))
.noContainer()
.addCriterion("has_item", hasItem(Items.MILK_BUCKET))
.setSound(SoundEvents.ITEM_BUCKET_EMPTY)
.build(cauldronRecipes, resource(folder + "empty_milk_bucket"));
CauldronRecipeBuilder.cauldron(SizedIngredient.fromItems(Items.MILK_BUCKET), milkIngredient)
.matchFull()
.setEmpty()
.setOutput(Items.MILK_BUCKET)
.addCriterion("has_item", hasItem(Items.MILK_BUCKET))
.setSound(SoundEvents.ITEM_BUCKET_FILL)
.build(cauldronRecipes, resource(folder + "fill_milk_bucket"));


// dyes //

Expand Down
Expand Up @@ -4,5 +4,7 @@

"inspirations:color": "inspirations:block/fluid/colorless",
"inspirations:dye": "inspirations:block/fluid/colorless",
"inspirations:potion": "inspirations:block/fluid/potion"
"inspirations:potion": "inspirations:block/fluid/potion",

"rats:cheese": "rats:block/cheese"
}
@@ -0,0 +1,26 @@
{
"type": "inspirations:cauldron_transform",
"conditions": [
{
"prop": "extended_cauldron_recipes",
"type": "inspirations:config"
},
{
"modid": "rats",
"type": "forge:mod_loaded"
}
],
"input": {
"type": "inspirations:fluid",
"tag": "forge:milk"
},
"level": {
"min": 3
},
"output": {
"type": "inspirations:custom",
"name": "rats:cheese"
},
"time": 150,
"sound": "minecraft:block.slime_block.place"
}

0 comments on commit e50c4e9

Please sign in to comment.