Skip to content

Commit

Permalink
Add tag support for Meltables
Browse files Browse the repository at this point in the history
  • Loading branch information
NovaMachina committed Aug 2, 2020
1 parent 83d1466 commit 3c4d4f1
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 26 deletions.
@@ -1,36 +1,39 @@
package com.novamachina.exnihilosequentia.common.tileentity.crucible;

import com.novamachina.exnihilosequentia.common.setup.ModBlocks;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.block.Blocks;
import net.minecraft.fluid.Fluid;
import net.minecraft.fluid.Fluids;
import net.minecraft.item.Items;
import net.minecraft.util.IItemProvider;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.registries.ForgeRegistryEntry;

import java.util.HashMap;
import java.util.Map;

public class FiredCrucibleMeltableItems {

private static final Map<String, Meltable> meltableList = new HashMap<>();
private static final Map<ResourceLocation, Meltable> meltableList = new HashMap<>();

public static void addMeltable(ForgeRegistryEntry<? extends IItemProvider> entry, int amount,
Fluid fluid) {
insertIntoMap(entry.getRegistryName().toString(), new Meltable(amount, fluid));
addMeltable(entry.getRegistryName(), amount, fluid.getRegistryName());
}

public static void addMeltable(ResourceLocation entry, int amount, ResourceLocation fluid) {
insertIntoMap(entry, new Meltable(amount, fluid));
}

private static void insertIntoMap(String name, Meltable meltable) {
private static void insertIntoMap(ResourceLocation name, Meltable meltable) {
meltableList.put(name, meltable);
}

public static boolean isMeltable(ForgeRegistryEntry<? extends IItemProvider> entry) {
String blockName = entry.getRegistryName().toString();
return meltableList.containsKey(blockName);
return meltableList.containsKey(entry.getRegistryName());
}

public static Meltable getMeltable(ForgeRegistryEntry<? extends IItemProvider> entry) {
String blockName = entry.getRegistryName().toString();
return meltableList.getOrDefault(blockName, Meltable.DEFAULT);
return meltableList.getOrDefault(entry.getRegistryName(), Meltable.DEFAULT);
}

public static void initialize() {
Expand Down
@@ -1,15 +1,17 @@
package com.novamachina.exnihilosequentia.common.tileentity.crucible;

import net.minecraft.fluid.Fluid;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.registries.ForgeRegistries;

public class Meltable {

public static Meltable DEFAULT = new Meltable(0, null);

private final int amount;
private final Fluid fluid;
private final ResourceLocation fluid;

public Meltable(int amount, Fluid fluid) {
public Meltable(int amount, ResourceLocation fluid) {
this.amount = amount;
this.fluid = fluid;
}
Expand All @@ -19,6 +21,6 @@ public int getAmount() {
}

public Fluid getFluid() {
return fluid;
return ForgeRegistries.FLUIDS.getValue(fluid);
}
}
@@ -1,36 +1,38 @@
package com.novamachina.exnihilosequentia.common.tileentity.crucible;

import com.novamachina.exnihilosequentia.common.setup.ModBlocks;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.block.Blocks;
import net.minecraft.fluid.Fluid;
import net.minecraft.fluid.Fluids;
import net.minecraft.item.Items;
import net.minecraft.util.IItemProvider;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.registries.ForgeRegistryEntry;

public class WoodCrucibleMeltableItems {
import java.util.HashMap;
import java.util.Map;

private static final Map<String, Meltable> meltableList = new HashMap<>();
public class WoodCrucibleMeltableItems{

private static final Map<ResourceLocation, Meltable> meltableList = new HashMap<>();

public static void addMeltable(ForgeRegistryEntry<? extends IItemProvider> entry, int amount,
Fluid fluid) {
insertIntoMap(entry.getRegistryName().toString(), new Meltable(amount, fluid));
Fluid fluid) {
addMeltable(entry.getRegistryName(), amount, fluid.getRegistryName());
}

public static void addMeltable(ResourceLocation entry, int amount, ResourceLocation fluid) {
insertIntoMap(entry, new Meltable(amount, fluid));
}

private static void insertIntoMap(String name, Meltable meltable) {
private static void insertIntoMap(ResourceLocation name, Meltable meltable) {
meltableList.put(name, meltable);
}

public static boolean isMeltable(ForgeRegistryEntry<? extends IItemProvider> entry) {
String blockName = entry.getRegistryName().toString();
return meltableList.containsKey(blockName);
return meltableList.containsKey(entry.getRegistryName());
}

public static Meltable getMeltable(ForgeRegistryEntry<? extends IItemProvider> entry) {
String blockName = entry.getRegistryName().toString();
return meltableList.getOrDefault(blockName, Meltable.DEFAULT);
return meltableList.getOrDefault(entry.getRegistryName(), Meltable.DEFAULT);
}

public static void initialize() {
Expand Down

0 comments on commit 3c4d4f1

Please sign in to comment.