Rubber tree fixes and fixes to the solid fuel generator

This commit is contained in:
modmuss50 2019-08-06 20:29:05 +01:00
parent 5bbb48b3e2
commit c60a279876
12 changed files with 461 additions and 387 deletions

View file

@ -28,9 +28,11 @@ import net.minecraft.block.BlockState;
import net.minecraft.block.entity.FurnaceBlockEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.BucketItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.math.Direction;
import org.checkerframework.checker.nullness.qual.NonNull;
import reborncore.api.IToolDrop;
import reborncore.api.blockentity.InventoryProvider;
import reborncore.client.containerBuilder.IContainerProvider;
@ -45,6 +47,8 @@ import techreborn.TechReborn;
import techreborn.init.TRContent;
import techreborn.init.TRBlockEntities;
import java.util.Map;
@RebornRegister(TechReborn.MOD_ID)
public class SolidFuelGeneratorBlockEntity extends PowerAcceptorBlockEntity implements IToolDrop, InventoryProvider, IContainerProvider {
@ -69,8 +73,12 @@ public class SolidFuelGeneratorBlockEntity extends PowerAcceptorBlockEntity impl
super(TRBlockEntities.SOLID_FUEL_GENEREATOR);
}
public static int getItemBurnTime(ItemStack stack) {
return FurnaceBlockEntity.createFuelTimeMap().get(stack) / 4;
public static int getItemBurnTime(@NonNull ItemStack stack) {
Map<Item, Integer> burnMap = FurnaceBlockEntity.createFuelTimeMap();
if(burnMap.containsKey(stack.getItem())){
return burnMap.get(stack.getItem()) / 4;
}
return 0;
}
@Override

View file

@ -24,6 +24,8 @@
package techreborn.world;
import net.fabricmc.fabric.api.event.registry.RegistryEntryAddedCallback;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.biome.Biome.Category;
@ -38,6 +40,9 @@ import net.minecraft.world.gen.feature.OreFeatureConfig;
import net.minecraft.world.gen.feature.OreFeatureConfig.Target;
import techreborn.init.TRContent;
import java.util.ArrayList;
import java.util.List;
/**
* @author drcrazy
*
@ -48,34 +53,50 @@ public class WorldGenerator {
// return state != null && (state.getBlock() == Blocks.END_STONE);
// };
private static List<Biome> checkedBiomes = new ArrayList<>();
public static void initBiomeFeatures() {
for (Biome biome : Registry.BIOME) {
if (biome.getCategory() == Category.NETHER) {
addOre(biome, OreFeatureConfig.Target.NETHERRACK, TRContent.Ores.CINNABAR);
addOre(biome, OreFeatureConfig.Target.NETHERRACK, TRContent.Ores.PYRITE);
addOre(biome, OreFeatureConfig.Target.NETHERRACK, TRContent.Ores.SPHALERITE);
addToBiome(biome);
}
} else if (biome.getCategory() == Category.THEEND) {
// addOre(biome, IS_ENDSTONE, TRContent.Ores.PERIDOT);
// addOre(biome, IS_ENDSTONE, TRContent.Ores.SHELDONITE);
// addOre(biome, IS_ENDSTONE, TRContent.Ores.SODALITE);
// addOre(biome, IS_ENDSTONE, TRContent.Ores.TUNGSTEN);
} else {
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.BAUXITE);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.COPPER);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.GALENA);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.IRIDIUM);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.LEAD);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.RUBY);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.SAPPHIRE);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.SILVER);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.TIN);
if (biome.getCategory() == Category.FOREST || biome.getCategory() == Category.TAIGA) {
biome.addFeature(GenerationStep.Feature.VEGETAL_DECORATION,
Biome.configureFeature(new RubberTreeFeature(DefaultFeatureConfig::deserialize, false),
FeatureConfig.DEFAULT, Decorator.COUNT_EXTRA_HEIGHTMAP,
new CountExtraChanceDecoratorConfig(10, 0.1F, 1)));
}
//Handles modded biomes
RegistryEntryAddedCallback.event(Registry.BIOME).register((i, identifier, biome) -> addToBiome(biome));
}
private static void addToBiome(Biome biome){
if(checkedBiomes.contains(biome)){
//Just to be sure we dont add the stuff twice to the same biome
return;
}
checkedBiomes.add(biome);
if (biome.getCategory() == Category.NETHER) {
addOre(biome, OreFeatureConfig.Target.NETHERRACK, TRContent.Ores.CINNABAR);
addOre(biome, OreFeatureConfig.Target.NETHERRACK, TRContent.Ores.PYRITE);
addOre(biome, OreFeatureConfig.Target.NETHERRACK, TRContent.Ores.SPHALERITE);
} else if (biome.getCategory() == Category.THEEND) {
// addOre(biome, IS_ENDSTONE, TRContent.Ores.PERIDOT);
// addOre(biome, IS_ENDSTONE, TRContent.Ores.SHELDONITE);
// addOre(biome, IS_ENDSTONE, TRContent.Ores.SODALITE);
// addOre(biome, IS_ENDSTONE, TRContent.Ores.TUNGSTEN);
} else {
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.BAUXITE);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.COPPER);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.GALENA);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.IRIDIUM);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.LEAD);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.RUBY);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.SAPPHIRE);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.SILVER);
addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, TRContent.Ores.TIN);
if (biome.getCategory() == Category.FOREST || biome.getCategory() == Category.TAIGA) {
biome.addFeature(GenerationStep.Feature.VEGETAL_DECORATION,
Biome.configureFeature(new RubberTreeFeature(DefaultFeatureConfig::deserialize, false),
FeatureConfig.DEFAULT, Decorator.COUNT_EXTRA_HEIGHTMAP,
new CountExtraChanceDecoratorConfig(1, 0.1F, 1)));
}
}
}

View file

@ -1,51 +1,51 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:cinnabar_dust",
"functions": [
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:redstone",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 0.0,
"max": 1.0,
"type": "minecraft:uniform"
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
}
]
}
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:cinnabar_dust",
"functions": [
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:redstone",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 0.0,
"max": 1.0,
"type": "minecraft:uniform"
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
}
]
}

View file

@ -1,59 +1,59 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:ruby_gem",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 1.0,
"max": 2.0,
"type": "minecraft:uniform"
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:red_garnet_gem",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 0.0,
"max": 1.0,
"type": "minecraft:uniform"
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
}
]
}
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:ruby_gem",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 1.0,
"max": 2.0,
"type": "minecraft:uniform"
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:red_garnet_gem",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 0.0,
"max": 1.0,
"type": "minecraft:uniform"
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
}
]
}

View file

@ -1,59 +1,59 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:sapphire_gem",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 1.0,
"max": 2.0,
"type": "minecraft:uniform"
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:peridot_gem",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 0.0,
"max": 1.0,
"type": "minecraft:uniform"
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
}
]
}
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:sapphire_gem",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 1.0,
"max": 2.0,
"type": "minecraft:uniform"
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:peridot_gem",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 0.0,
"max": 1.0,
"type": "minecraft:uniform"
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
}
]
}

View file

@ -1,51 +1,51 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:sodalite_dust",
"functions": [
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:aluminum_dust",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 0.0,
"max": 1.0,
"type": "minecraft:uniform"
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
}
]
}
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:sodalite_dust",
"functions": [
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:aluminum_dust",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 0.0,
"max": 1.0,
"type": "minecraft:uniform"
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
}
]
}

View file

@ -1,51 +1,51 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:sphalerite_dust",
"functions": [
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:yellow_garnet_gem",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 0.0,
"max": 1.0,
"type": "minecraft:uniform"
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
}
]
}
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:sphalerite_dust",
"functions": [
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
},
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:yellow_garnet_gem",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 0.0,
"max": 1.0,
"type": "minecraft:uniform"
}
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
]
}
]
}
]
}

View file

@ -5,13 +5,58 @@
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:rubber_leaves"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
"type": "minecraft:alternatives",
"children": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:alternative",
"terms": [
{
"condition": "minecraft:match_tool",
"predicate": {
"item": "minecraft:shears"
}
},
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
]
}
],
"name": "minecraft:rubber_leaves"
},
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:survives_explosion"
},
{
"condition": "minecraft:table_bonus",
"enchantment": "minecraft:fortune",
"chances": [
0.05,
0.0625,
0.083333336,
0.1
]
}
],
"name": "minecraft:rubber_sapling"
}
]
}
]
}

View file

@ -1,39 +1,39 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:alternatives",
"children": [
{
"type": "minecraft:item",
"name": "techreborn:sphalerite_ore",
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
]
},
{
"type": "minecraft:loot_table",
"weight": 100,
"name": "techreborn:blocks/ore_drop/sphalerite_ore"
}
]
}
]
}
]
}
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:alternatives",
"children": [
{
"type": "minecraft:item",
"name": "techreborn:sphalerite_ore",
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
]
},
{
"type": "minecraft:loot_table",
"weight": 100,
"name": "techreborn:blocks/ore_drop/sphalerite_ore"
}
]
}
]
}
]
}

View file

@ -1,16 +1,16 @@
{
"type": "techreborn:fluid_replicator",
"power": 20,
"time": 100,
"ingredients": [
{
"item": "techreborn:uu_matter",
"count": 2
}
],
"results": [
{
"fluid": "techreborn:compressedair"
}
]
{
"type": "techreborn:fluid_replicator",
"power": 20,
"time": 100,
"ingredients": [
{
"item": "techreborn:uu_matter",
"count": 2
}
],
"results": [
{
"fluid": "techreborn:compressedair"
}
]
}

View file

@ -1,15 +1,15 @@
{
"type": "techreborn:fluid_replicator",
"power": 2,
"time": 80,
"ingredients": [
{
"item": "techreborn:uu_matter"
}
],
"results": [
{
"fluid": "minecraft:lava"
}
]
{
"type": "techreborn:fluid_replicator",
"power": 2,
"time": 80,
"ingredients": [
{
"item": "techreborn:uu_matter"
}
],
"results": [
{
"fluid": "minecraft:lava"
}
]
}

View file

@ -1,15 +1,15 @@
{
"type": "techreborn:fluid_replicator",
"power": 2,
"time": 40,
"ingredients": [
{
"item": "techreborn:uu_matter"
}
],
"results": [
{
"fluid": "minecraft:water"
}
]
{
"type": "techreborn:fluid_replicator",
"power": 2,
"time": 40,
"ingredients": [
{
"item": "techreborn:uu_matter"
}
],
"results": [
{
"fluid": "minecraft:water"
}
]
}