mirror of
https://github.com/Ellpeck/NaturesAura.git
synced 2024-11-29 22:28:34 +01:00
more misc porting work yay
This commit is contained in:
parent
8ebe165a28
commit
3077a0869a
11 changed files with 49 additions and 98 deletions
|
@ -5,6 +5,7 @@ import de.ellpeck.naturesaura.api.NaturesAuraAPI;
|
||||||
import de.ellpeck.naturesaura.api.aura.item.IAuraRecharge;
|
import de.ellpeck.naturesaura.api.aura.item.IAuraRecharge;
|
||||||
import de.ellpeck.naturesaura.blocks.tiles.TileEntityImpl;
|
import de.ellpeck.naturesaura.blocks.tiles.TileEntityImpl;
|
||||||
import de.ellpeck.naturesaura.chunk.AuraChunk;
|
import de.ellpeck.naturesaura.chunk.AuraChunk;
|
||||||
|
import net.minecraft.advancements.Advancement;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
|
@ -255,11 +256,11 @@ public final class Helper {
|
||||||
|
|
||||||
public static void addAdvancement(PlayerEntity player, ResourceLocation advancement, String criterion) {
|
public static void addAdvancement(PlayerEntity player, ResourceLocation advancement, String criterion) {
|
||||||
if (!(player instanceof ServerPlayerEntity))
|
if (!(player instanceof ServerPlayerEntity))
|
||||||
return;/* TODO add advancements
|
return;
|
||||||
ServerPlayerEntity playerMp = (ServerPlayerEntity) player;
|
ServerPlayerEntity playerMp = (ServerPlayerEntity) player;
|
||||||
Advancement adv = playerMp.getServerWorld().getAdvancementManager().getAdvancement(advancement);
|
Advancement adv = playerMp.getServerWorld().getServer().getAdvancementManager().getAdvancement(advancement);
|
||||||
if (adv != null)
|
if (adv != null)
|
||||||
playerMp.getAdvancements().grantCriterion(adv, criterion);*/
|
playerMp.getAdvancements().grantCriterion(adv, criterion);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getIngredientAmount(Ingredient ingredient) {
|
public static int getIngredientAmount(Ingredient ingredient) {
|
||||||
|
|
|
@ -5,6 +5,9 @@ import de.ellpeck.naturesaura.api.aura.type.BasicAuraType;
|
||||||
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
|
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
|
||||||
import de.ellpeck.naturesaura.api.recipes.WeightedOre;
|
import de.ellpeck.naturesaura.api.recipes.WeightedOre;
|
||||||
import de.ellpeck.naturesaura.chunk.effect.OreSpawnEffect;
|
import de.ellpeck.naturesaura.chunk.effect.OreSpawnEffect;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.tags.BlockTags;
|
||||||
|
import net.minecraft.tags.Tag;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.world.dimension.DimensionType;
|
import net.minecraft.world.dimension.DimensionType;
|
||||||
|
|
||||||
|
@ -121,7 +124,8 @@ public final class ModConfig {
|
||||||
try {
|
try {
|
||||||
for (String s : general.additionalOres) {
|
for (String s : general.additionalOres) {
|
||||||
String[] split = s.split(":");
|
String[] split = s.split(":");
|
||||||
WeightedOre ore = new WeightedOre(split[0], Integer.parseInt(split[1]));
|
Tag<Block> tag = BlockTags.getCollection().get(new ResourceLocation(split[0]));
|
||||||
|
WeightedOre ore = new WeightedOre(tag, Integer.parseInt(split[1]));
|
||||||
String dimension = split[2];
|
String dimension = split[2];
|
||||||
if ("nether".equalsIgnoreCase(dimension))
|
if ("nether".equalsIgnoreCase(dimension))
|
||||||
NaturesAuraAPI.NETHER_ORES.add(ore);
|
NaturesAuraAPI.NETHER_ORES.add(ore);
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class AnimalSpawnerRecipe {
|
||||||
MobEntity living = (MobEntity) entity;
|
MobEntity living = (MobEntity) entity;
|
||||||
living.rotationYawHead = entity.rotationYaw;
|
living.rotationYawHead = entity.rotationYaw;
|
||||||
living.renderYawOffset = entity.rotationYaw;
|
living.renderYawOffset = entity.rotationYaw;
|
||||||
living.onInitialSpawn(world, world.getDifficultyForLocation(living.getPosition()), SpawnReason.SPAWNER, null, null); // TODO test if null is okay here
|
living.onInitialSpawn(world, world.getDifficultyForLocation(living.getPosition()), SpawnReason.SPAWNER, null, null);
|
||||||
}
|
}
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
package de.ellpeck.naturesaura.api.recipes;
|
package de.ellpeck.naturesaura.api.recipes;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.tags.Tag;
|
||||||
import net.minecraft.util.WeightedRandom;
|
import net.minecraft.util.WeightedRandom;
|
||||||
|
|
||||||
public class WeightedOre extends WeightedRandom.Item {
|
public class WeightedOre extends WeightedRandom.Item {
|
||||||
|
|
||||||
public final String name;
|
public final Tag<Block> tag;
|
||||||
|
|
||||||
public WeightedOre(String name, int weight) {
|
public WeightedOre(Tag<Block> tag, int weight) {
|
||||||
super(weight);
|
super(weight);
|
||||||
this.name = name;
|
this.tag = tag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ import net.minecraft.inventory.CraftingInventory;
|
||||||
import net.minecraft.inventory.container.Container;
|
import net.minecraft.inventory.container.Container;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.item.crafting.IRecipe;
|
import net.minecraft.item.crafting.IRecipe;
|
||||||
|
import net.minecraft.item.crafting.IRecipeType;
|
||||||
import net.minecraft.tileentity.ITickableTileEntity;
|
import net.minecraft.tileentity.ITickableTileEntity;
|
||||||
import net.minecraft.util.Direction;
|
import net.minecraft.util.Direction;
|
||||||
import net.minecraft.util.EntityPredicates;
|
import net.minecraft.util.EntityPredicates;
|
||||||
|
@ -76,8 +77,7 @@ public class TileEntityAutoCrafter extends TileEntityImpl implements ITickableTi
|
||||||
this.crafting.setInventorySlotContents(i, stack.copy());
|
this.crafting.setInventorySlotContents(i, stack.copy());
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO get recipes from the recipe registry??
|
IRecipe recipe = this.world.getRecipeManager().getRecipe(IRecipeType.CRAFTING, this.crafting, this.world).orElse(null);
|
||||||
IRecipe recipe = /*CraftingManager.findMatchingRecipe(this.crafting, this.world);*/null;
|
|
||||||
if (recipe == null)
|
if (recipe == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ public class TileEntityAutoCrafter extends TileEntityImpl implements ITickableTi
|
||||||
this.world.addEntity(remItem);
|
this.world.addEntity(remItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
PacketHandler.sendToAllAround(this.world, this.pos, 32,
|
PacketHandler.sendToAllAround(this.world, this.pos, 32,
|
||||||
new PacketParticles((float) item.posX, (float) item.posY, (float) item.posZ, 19));
|
new PacketParticles((float) item.posX, (float) item.posY, (float) item.posZ, 19));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,8 +59,7 @@ public class TileEntityPlacer extends TileEntityImpl implements ITickableTileEnt
|
||||||
|
|
||||||
BlockPos up = pos.up();
|
BlockPos up = pos.up();
|
||||||
BlockState state = this.world.getBlockState(up);
|
BlockState state = this.world.getBlockState(up);
|
||||||
// TODO maybe allow the placer to place on more than air?
|
if (state.getMaterial().isReplaceable())
|
||||||
if (state.isAir(this.world, up))
|
|
||||||
validPositions.add(up);
|
validPositions.add(up);
|
||||||
}
|
}
|
||||||
if (validPositions.isEmpty())
|
if (validPositions.isEmpty())
|
||||||
|
@ -106,44 +105,12 @@ public class TileEntityPlacer extends TileEntityImpl implements ITickableTileEnt
|
||||||
}
|
}
|
||||||
|
|
||||||
private ItemStack tryPlace(ItemStack stack, BlockPos pos) {
|
private ItemStack tryPlace(ItemStack stack, BlockPos pos) {
|
||||||
if (this.handleSpecialCases(stack, pos))
|
|
||||||
return stack;
|
|
||||||
|
|
||||||
if (!(this.world instanceof ServerWorld))
|
if (!(this.world instanceof ServerWorld))
|
||||||
return stack;
|
return stack;
|
||||||
|
|
||||||
FakePlayer fake = FakePlayerFactory.getMinecraft((ServerWorld) this.world);
|
FakePlayer fake = FakePlayerFactory.getMinecraft((ServerWorld) this.world);
|
||||||
fake.inventory.mainInventory.set(fake.inventory.currentItem, stack);
|
fake.inventory.mainInventory.set(fake.inventory.currentItem, stack);
|
||||||
BlockRayTraceResult ray = new BlockRayTraceResult(new Vec3d(pos).add(0.5F, 0.5F, 0.5F), Direction.UP, pos, false);
|
BlockRayTraceResult ray = new BlockRayTraceResult(new Vec3d(pos).add(0.5F, 0.5F, 0.5F), Direction.UP, pos, false);
|
||||||
ForgeHooks.onPlaceItemIntoWorld(new ItemUseContext(fake, Hand.MAIN_HAND, ray));
|
ForgeHooks.onPlaceItemIntoWorld(new ItemUseContext(fake, Hand.MAIN_HAND, ray));
|
||||||
return fake.getHeldItemMainhand().copy();
|
return fake.getHeldItemMainhand().copy();
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean handleSpecialCases(ItemStack stack, BlockPos pos) {
|
|
||||||
// TODO placer special cases
|
|
||||||
/* if (stack.getItem() == Items.REDSTONE)
|
|
||||||
if (Blocks.REDSTONE_WIRE.canPlaceBlockAt(this.world, pos))
|
|
||||||
this.world.setBlockState(pos, Blocks.REDSTONE_WIRE.getDefaultState());
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
else if (stack.getItem() == Item.getItemFromBlock(ModBlocks.GOLD_POWDER))
|
|
||||||
if (ModBlocks.GOLD_POWDER.canPlaceBlockAt(this.world, pos))
|
|
||||||
this.world.setBlockState(pos, ModBlocks.GOLD_POWDER.getDefaultState());
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
else if (stack.getItem() instanceof IPlantable) {
|
|
||||||
IPlantable plantable = (IPlantable) stack.getItem();
|
|
||||||
BlockState plant = plantable.getPlant(this.world, pos);
|
|
||||||
if (!plant.getBlock().canPlaceBlockAt(this.world, pos))
|
|
||||||
return false;
|
|
||||||
BlockState state = this.world.getBlockState(pos);
|
|
||||||
if (!state.getBlock().isAir(state, this.world, pos))
|
|
||||||
return false;
|
|
||||||
this.world.setBlockState(pos, plant);
|
|
||||||
} else*/
|
|
||||||
return false;
|
|
||||||
|
|
||||||
/*stack.shrink(1);
|
|
||||||
return true;*/
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,17 +11,18 @@ import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.item.BlockItemUseContext;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.item.ItemUseContext;
|
||||||
import net.minecraft.util.Tuple;
|
import net.minecraft.util.*;
|
||||||
import net.minecraft.util.WeightedRandom;
|
import net.minecraft.util.math.*;
|
||||||
import net.minecraft.util.math.AxisAlignedBB;
|
|
||||||
import net.minecraft.util.math.BlockPos;
|
|
||||||
import net.minecraft.util.math.MathHelper;
|
|
||||||
import net.minecraft.util.math.Vec3d;
|
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.chunk.Chunk;
|
import net.minecraft.world.chunk.Chunk;
|
||||||
|
import net.minecraft.world.server.ServerWorld;
|
||||||
|
import net.minecraftforge.common.util.FakePlayer;
|
||||||
|
import net.minecraftforge.common.util.FakePlayerFactory;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
@ -96,24 +97,21 @@ public class OreSpawnEffect implements IDrainSpotEffect {
|
||||||
if (orePos.distanceSq(powderPos.x, powderPos.y, powderPos.z, true) <= range * range
|
if (orePos.distanceSq(powderPos.x, powderPos.y, powderPos.z, true) <= range * range
|
||||||
&& orePos.distanceSq(pos) <= this.dist * this.dist && world.isBlockLoaded(orePos)) {
|
&& orePos.distanceSq(pos) <= this.dist * this.dist && world.isBlockLoaded(orePos)) {
|
||||||
BlockState state = world.getBlockState(orePos);
|
BlockState state = world.getBlockState(orePos);
|
||||||
Block block = state.getBlock();
|
if (state.getBlock() != requiredBlock)
|
||||||
if (block != requiredBlock)
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// TODO place ores
|
outer:
|
||||||
/*outer:
|
|
||||||
while (true) {
|
while (true) {
|
||||||
WeightedOre ore = WeightedRandom.getRandomItem(world.rand, ores, totalWeight);
|
WeightedOre ore = WeightedRandom.getRandomItem(world.rand, ores, totalWeight);
|
||||||
List<ItemStack> stacks = OreDictionary.getOres(ore.name, false);
|
for (Block toPlace : ore.tag.getAllElements()) {
|
||||||
for (ItemStack stack : stacks) {
|
if (toPlace == null || toPlace == Blocks.AIR)
|
||||||
if (stack.isEmpty())
|
|
||||||
continue;
|
|
||||||
Block toPlace = Block.getBlockFromItem(stack.getItem());
|
|
||||||
if (toPlace == Blocks.AIR)
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
FakePlayer player = FakePlayerFactory.getMinecraft((ServerWorld) world);
|
FakePlayer player = FakePlayerFactory.getMinecraft((ServerWorld) world);
|
||||||
BlockState stateToPlace = toPlace.getStateForPlacement(world, pos, Direction.UP, 0, 0, 0, stack.getDamage(), player, EnumHand.MAIN_HAND);
|
player.setHeldItem(Hand.MAIN_HAND, ItemStack.EMPTY);
|
||||||
|
BlockRayTraceResult ray = new BlockRayTraceResult(new Vec3d(pos).add(0.5F, 0.5F, 0.5F), Direction.UP, pos, false);
|
||||||
|
BlockItemUseContext context = new BlockItemUseContext(new ItemUseContext(player, Hand.MAIN_HAND, ray));
|
||||||
|
BlockState stateToPlace = toPlace.getStateForPlacement(context);
|
||||||
if (SPAWN_EXCEPTIONS.contains(stateToPlace))
|
if (SPAWN_EXCEPTIONS.contains(stateToPlace))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -125,7 +123,7 @@ public class OreSpawnEffect implements IDrainSpotEffect {
|
||||||
IAuraChunk.getAuraChunk(world, highestSpot).drainAura(highestSpot, toDrain);
|
IAuraChunk.getAuraChunk(world, highestSpot).drainAura(highestSpot, toDrain);
|
||||||
break outer;
|
break outer;
|
||||||
}
|
}
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,12 @@
|
||||||
package de.ellpeck.naturesaura.potion;
|
package de.ellpeck.naturesaura.potion;
|
||||||
|
|
||||||
import de.ellpeck.naturesaura.NaturesAura;
|
|
||||||
import de.ellpeck.naturesaura.reg.IModItem;
|
import de.ellpeck.naturesaura.reg.IModItem;
|
||||||
import de.ellpeck.naturesaura.reg.ModRegistry;
|
import de.ellpeck.naturesaura.reg.ModRegistry;
|
||||||
import net.minecraft.potion.Effect;
|
import net.minecraft.potion.Effect;
|
||||||
import net.minecraft.potion.EffectType;
|
import net.minecraft.potion.EffectType;
|
||||||
import net.minecraft.util.ResourceLocation;
|
|
||||||
|
|
||||||
public class PotionImpl extends Effect implements IModItem {
|
public class PotionImpl extends Effect implements IModItem {
|
||||||
|
|
||||||
private static final ResourceLocation TEXTURE = new ResourceLocation(NaturesAura.MOD_ID, "textures/gui/potions.png");
|
|
||||||
protected final String baseName;
|
protected final String baseName;
|
||||||
|
|
||||||
protected PotionImpl(String baseName, EffectType type, int liquidColorIn) {
|
protected PotionImpl(String baseName, EffectType type, int liquidColorIn) {
|
||||||
|
@ -19,20 +16,6 @@ public class PotionImpl extends Effect implements IModItem {
|
||||||
ModRegistry.add(this);
|
ModRegistry.add(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO potion textures
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Effect setIconIndex(int x, int y) {
|
|
||||||
return super.setIconIndex(x, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
|
||||||
public int getStatusIconIndex() {
|
|
||||||
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
|
|
||||||
return super.getStatusIconIndex();
|
|
||||||
}*/
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getBaseName() {
|
public String getBaseName() {
|
||||||
return this.baseName;
|
return this.baseName;
|
||||||
|
|
|
@ -30,6 +30,7 @@ import net.minecraft.tags.ItemTags;
|
||||||
import net.minecraft.tags.Tag;
|
import net.minecraft.tags.Tag;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.common.Tags;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -267,22 +268,17 @@ public final class ModRecipes {
|
||||||
spawner("wolf", "minecraft:wolf", 50000, 60, ing(Items.LEATHER), ing(Items.BONE));
|
spawner("wolf", "minecraft:wolf", 50000, 60, ing(Items.LEATHER), ing(Items.BONE));
|
||||||
spawner("zombie", "minecraft:zombie", 100000, 100, ing(Items.ROTTEN_FLESH));
|
spawner("zombie", "minecraft:zombie", 100000, 100, ing(Items.ROTTEN_FLESH));
|
||||||
|
|
||||||
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre("oreCoal", 5000));
|
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre(Tags.Blocks.ORES_COAL, 5000));
|
||||||
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreNetherCoal", 5000));
|
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre(Tags.Blocks.ORES_IRON, 3000));
|
||||||
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre("oreIron", 3000));
|
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre(Tags.Blocks.ORES_GOLD, 500));
|
||||||
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreNetherIron", 3000));
|
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre(Tags.Blocks.ORES_DIAMOND, 50));
|
||||||
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre("oreGold", 500));
|
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre(Tags.Blocks.ORES_LAPIS, 250));
|
||||||
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreNetherGold", 500));
|
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre(Tags.Blocks.ORES_REDSTONE, 200));
|
||||||
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre("oreDiamond", 50));
|
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre(Tags.Blocks.ORES_EMERALD, 30));
|
||||||
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreNetherDiamond", 50));
|
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre(Tags.Blocks.ORES_QUARTZ, 3000));
|
||||||
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre("oreLapis", 250));
|
|
||||||
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreNetherLapis", 250));
|
|
||||||
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre("oreRedstone", 200));
|
|
||||||
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreNetherRedstone", 200));
|
|
||||||
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre("oreEmerald", 30));
|
|
||||||
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreQuartz", 3000));
|
|
||||||
|
|
||||||
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre("oreCopper", 2000));
|
// TODO figure out how to deal with foreign ore tags
|
||||||
|
/*NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre("oreCopper", 2000));
|
||||||
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreNetherCopper", 2000));
|
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreNetherCopper", 2000));
|
||||||
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre("oreTin", 1800));
|
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre("oreTin", 1800));
|
||||||
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreNetherTin", 1800));
|
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreNetherTin", 1800));
|
||||||
|
@ -325,7 +321,7 @@ public final class ModRecipes {
|
||||||
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre("orePoorSilver", 1000));
|
NaturesAuraAPI.OVERWORLD_ORES.add(new WeightedOre("orePoorSilver", 1000));
|
||||||
|
|
||||||
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreCobalt", 50));
|
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreCobalt", 50));
|
||||||
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreArdite", 50));
|
NaturesAuraAPI.NETHER_ORES.add(new WeightedOre("oreArdite", 50));*/
|
||||||
|
|
||||||
NaturesAuraAPI.PROJECTILE_GENERATIONS.put(new ResourceLocation("egg"), 2500);
|
NaturesAuraAPI.PROJECTILE_GENERATIONS.put(new ResourceLocation("egg"), 2500);
|
||||||
NaturesAuraAPI.PROJECTILE_GENERATIONS.put(new ResourceLocation("snowball"), 3500);
|
NaturesAuraAPI.PROJECTILE_GENERATIONS.put(new ResourceLocation("snowball"), 3500);
|
||||||
|
|
|
@ -165,7 +165,7 @@
|
||||||
"advancement.naturesaura.range_visualizer": "I Spy With my Little Eye",
|
"advancement.naturesaura.range_visualizer": "I Spy With my Little Eye",
|
||||||
"advancement.naturesaura.range_visualizer.desc": "Create a Mystical Magnifier to see the range of your devices",
|
"advancement.naturesaura.range_visualizer.desc": "Create a Mystical Magnifier to see the range of your devices",
|
||||||
"command.naturesaura.aura.usage": "/naaura store|drain <amount> [range] OR /naaura reset <range>",
|
"command.naturesaura.aura.usage": "/naaura store|drain <amount> [range] OR /naaura reset <range>",
|
||||||
"potion.naturesaura.breathless": "Breathless",
|
"effect.naturesaura.breathless": "Breathless",
|
||||||
"entity.naturesaura.effect_inhibitor": "Effect Powder",
|
"entity.naturesaura.effect_inhibitor": "Effect Powder",
|
||||||
"entity.naturesaura.mover_cart": "Aura Attraction Cart"
|
"entity.naturesaura.mover_cart": "Aura Attraction Cart"
|
||||||
}
|
}
|
Binary file not shown.
After Width: | Height: | Size: 332 B |
Loading…
Reference in a new issue