Compare commits
24 Commits
BOP-1.16.4
...
BOP-1.10.2
Author | SHA1 | Date |
---|---|---|
Adubbz | db6476dbbf | |
Robert Obermeier | eedfbca15e | |
Forstride | b8cd014596 | |
Adubbz | b87062f789 | |
Henry Loenwind | 156d5b9b8f | |
bogger33 | 2d917564f3 | |
Adubbz | c0ca62f4e4 | |
Adubbz | bd534ca319 | |
Adubbz | 4e5790855d | |
linuxdemon1 | 9b524adfc9 | |
Adubbz | a0fa772f04 | |
Adubbz | 24d6200615 | |
Henry Loenwind | 50a8cd514d | |
Mazdallier | 910c54e5b3 | |
Adubbz | b90dfd87e3 | |
GirafiStudios | 7ad2c1c70e | |
Adubbz | 6f3ecaf9e3 | |
Adubbz | e2fe709173 | |
Adubbz | 6866319f89 | |
Jeremy Apthorp | dca8d10f23 | |
Adubbz | 9e07eaf43a | |
Adubbz | 0d8da675cd | |
Adubbz | 2b74cc64af | |
Adubbz | fa0d543257 |
|
@ -123,7 +123,7 @@ task apiJar(type: Jar) {
|
|||
}
|
||||
|
||||
task listOutputs << {
|
||||
//This is needed by the Groovy Postbuild to append labels for each build used in the changelog.
|
||||
// This is needed by the Groovy Postbuild to append labels for each build used in the changelog.
|
||||
println "Output files:"
|
||||
println "--------------------"
|
||||
def list = []
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
minecraft_version=1.10.2
|
||||
forge_version=12.18.1.2073
|
||||
forge_version=12.18.3.2185
|
||||
mod_version=5.0.0
|
||||
mappings_version=snapshot_nodoc_20160808
|
||||
|
|
|
@ -192,8 +192,15 @@ public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatH
|
|||
GENERATE_HOT_SPRINGS (123),
|
||||
GENERATE_NETHER_HIVES (124),
|
||||
GENERATE_NETHER_PLANTS (125),
|
||||
GENERATE_END_FEATURES (126);
|
||||
|
||||
GENERATE_END_FEATURES (126),
|
||||
MAIN_NOISE_SCALE_X (127),
|
||||
MAIN_NOISE_SCALE_Y (128),
|
||||
MAIN_NOISE_SCALE_Z (129),
|
||||
COORDINATE_SCALE (130),
|
||||
HEIGHT_SCALE (131),
|
||||
UPPER_LIMIT_SCALE (132),
|
||||
LOWER_LIMIT_SCALE (133);
|
||||
|
||||
private int id;
|
||||
|
||||
private GuiEntries(int id)
|
||||
|
@ -229,7 +236,14 @@ public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatH
|
|||
new GuiBOPPageList.GuiEnumButtonEntry<LandMassScheme>(GuiEntries.LAND_SCHEME.getId(), "Land Mass: %s", true, this.settings.landScheme),
|
||||
new GuiBOPPageList.GuiEnumButtonEntry<TemperatureVariationScheme>(GuiEntries.TEMP_SCHEME.getId(), "Temperature: %s", true, this.settings.tempScheme),
|
||||
new GuiBOPPageList.GuiEnumButtonEntry<RainfallVariationScheme>(GuiEntries.RAIN_SCHEME.getId(), "Rainfall: %s", true, this.settings.rainScheme),
|
||||
new GuiBOPPageList.GuiSlideEntry(GuiEntries.AMPLITUDE.getId(), "Amplitude", true, this, 0.2F, 3.0F, this.settings.amplitude)
|
||||
new GuiBOPPageList.GuiSlideEntry(GuiEntries.AMPLITUDE.getId(), "Amplitude", true, this, 0.2F, 3.0F, this.settings.amplitude),
|
||||
new GuiBOPPageList.GuiSlideEntry(GuiEntries.MAIN_NOISE_SCALE_X.getId(), "Main Noise Scale X", true, this, 1.0F, 5000.0F, this.settings.mainNoiseScaleX),
|
||||
new GuiBOPPageList.GuiSlideEntry(GuiEntries.MAIN_NOISE_SCALE_Y.getId(), "Main Noise Scale Y", true, this, 1.0F, 5000.0F, this.settings.mainNoiseScaleY),
|
||||
new GuiBOPPageList.GuiSlideEntry(GuiEntries.MAIN_NOISE_SCALE_Z.getId(), "Main Noise Scale Z", true, this, 1.0F, 5000.0F, this.settings.mainNoiseScaleZ),
|
||||
new GuiBOPPageList.GuiSlideEntry(GuiEntries.COORDINATE_SCALE.getId(), "Coordinate Scale", true, this, 1.0F, 6000.0F, this.settings.coordinateScale),
|
||||
new GuiBOPPageList.GuiSlideEntry(GuiEntries.HEIGHT_SCALE.getId(), "Height Scale", true, this, 1.0F, 6000.0F, this.settings.heightScale),
|
||||
new GuiBOPPageList.GuiSlideEntry(GuiEntries.UPPER_LIMIT_SCALE.getId(), "Upper Limit Scale", true, this, 1.0F, 5000.0F, this.settings.upperLimitScale),
|
||||
new GuiBOPPageList.GuiSlideEntry(GuiEntries.LOWER_LIMIT_SCALE.getId(), "Lower Limit Scale", true, this, 1.0F, 5000.0F, this.settings.lowerLimitScale),
|
||||
};
|
||||
|
||||
this.pageNames[1] = "Biome Settings";
|
||||
|
@ -301,6 +315,13 @@ public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatH
|
|||
switch (entry)
|
||||
{
|
||||
case AMPLITUDE:
|
||||
case MAIN_NOISE_SCALE_X:
|
||||
case MAIN_NOISE_SCALE_Y:
|
||||
case MAIN_NOISE_SCALE_Z:
|
||||
case COORDINATE_SCALE:
|
||||
case HEIGHT_SCALE:
|
||||
case UPPER_LIMIT_SCALE:
|
||||
case LOWER_LIMIT_SCALE:
|
||||
return String.format("%5.3f", new Object[] {Float.valueOf(value)});
|
||||
default:
|
||||
return "";
|
||||
|
@ -430,6 +451,27 @@ public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatH
|
|||
case AMPLITUDE:
|
||||
this.settings.amplitude = value;
|
||||
break;
|
||||
case MAIN_NOISE_SCALE_X:
|
||||
this.settings.mainNoiseScaleX = value;
|
||||
break;
|
||||
case MAIN_NOISE_SCALE_Y:
|
||||
this.settings.mainNoiseScaleY = value;
|
||||
break;
|
||||
case MAIN_NOISE_SCALE_Z:
|
||||
this.settings.mainNoiseScaleZ = value;
|
||||
break;
|
||||
case COORDINATE_SCALE:
|
||||
this.settings.coordinateScale = value;
|
||||
break;
|
||||
case HEIGHT_SCALE:
|
||||
this.settings.heightScale = value;
|
||||
break;
|
||||
case UPPER_LIMIT_SCALE:
|
||||
this.settings.upperLimitScale = value;
|
||||
break;
|
||||
case LOWER_LIMIT_SCALE:
|
||||
this.settings.lowerLimitScale = value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -653,4 +695,4 @@ public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatH
|
|||
this.noButton.drawButton(this.mc, mouseX, mouseY);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,87 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 2014-2016, the Biomes O' Plenty Team
|
||||
*
|
||||
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
|
||||
*
|
||||
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
|
||||
******************************************************************************/
|
||||
|
||||
package biomesoplenty.client.model;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
||||
import biomesoplenty.client.util.ModelUtils;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.entity.EntityPlayerSP;
|
||||
import net.minecraft.client.renderer.block.model.IBakedModel;
|
||||
import net.minecraft.client.renderer.block.model.ItemOverride;
|
||||
import net.minecraft.client.renderer.block.model.ItemOverrideList;
|
||||
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.model.IModel;
|
||||
|
||||
public class ModelBiomeFinder extends ItemOverrideList
|
||||
{
|
||||
private IBakedModel[] frames;
|
||||
|
||||
public ModelBiomeFinder(IModel defaultModel, TextureAtlasSprite[] frameTextures)
|
||||
{
|
||||
super(ImmutableList.<ItemOverride>of());
|
||||
|
||||
this.frames = ModelUtils.generateModelsForTextures(defaultModel, frameTextures);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBakedModel handleItemState(IBakedModel originalModel, ItemStack stack, World world, EntityLivingBase entity)
|
||||
{
|
||||
EntityPlayerSP player = Minecraft.getMinecraft().thePlayer;
|
||||
if (player == null) {return this.frames[0];}
|
||||
|
||||
NBTTagCompound nbt = stack.getTagCompound();
|
||||
if (nbt != null && nbt.hasKey("biomeIDToFind"))
|
||||
{
|
||||
if (nbt.hasKey("searchStarted"))
|
||||
{
|
||||
// searching for biome, but not yet found indicate searching by flashing
|
||||
return this.getFlashingFrame(player);
|
||||
}
|
||||
else if (nbt.getBoolean("found"))
|
||||
{
|
||||
// if the biome has been found, point at it
|
||||
int posX = nbt.getInteger("posX");
|
||||
int posZ = nbt.getInteger("posZ");
|
||||
return getFrameForPositionRelativeToPlayer(player, posX, posZ);
|
||||
}
|
||||
else
|
||||
{
|
||||
// the search has not yet been started, show all sectors lit
|
||||
return this.frames[9];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// if we've got here, the biome finder has not been bound to a biome yet - show no sectors lit
|
||||
return this.frames[8];
|
||||
}
|
||||
}
|
||||
|
||||
public IBakedModel getFlashingFrame(EntityPlayerSP player)
|
||||
{
|
||||
return (player.getRNG().nextInt(2) == 0 ? this.frames[10] : this.frames[11]);
|
||||
}
|
||||
|
||||
public IBakedModel getFrameForPositionRelativeToPlayer(EntityPlayer player, int biomePosX, int biomePosZ)
|
||||
{
|
||||
double xDiff = (double)biomePosX - player.posX;
|
||||
double zDiff = (double)biomePosZ - player.posZ;
|
||||
// angle (in degrees) of direction from player to biome (relative to player rotation)
|
||||
double angleDiff = (Math.atan2(zDiff, xDiff) * 180.0D / Math.PI) + 270.0D - player.rotationYaw;
|
||||
// there are 8 sectors on the biome finder, so 45 degrees each (offset by 22.5 to center the angle in the middle of the sector)
|
||||
int sector = (int)Math.floor((angleDiff + 22.5D) / 45.0D);
|
||||
return this.frames[((sector % 8) + 8) % 8];
|
||||
}
|
||||
}
|
|
@ -1,51 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 2016, the Biomes O' Plenty Team
|
||||
*
|
||||
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
|
||||
*
|
||||
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
|
||||
******************************************************************************/
|
||||
|
||||
package biomesoplenty.client.model;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
||||
import biomesoplenty.common.inventory.InventoryFlowerBasket;
|
||||
import net.minecraft.client.renderer.block.model.IBakedModel;
|
||||
import net.minecraft.client.renderer.block.model.ItemOverride;
|
||||
import net.minecraft.client.renderer.block.model.ItemOverrideList;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ModelFlowerBasket extends ItemOverrideList
|
||||
{
|
||||
private IBakedModel emptyBakedModel;
|
||||
private IBakedModel filledBakedModel;
|
||||
|
||||
public ModelFlowerBasket(IBakedModel emptyModel, IBakedModel filledModel)
|
||||
{
|
||||
super(ImmutableList.<ItemOverride>of());
|
||||
|
||||
this.emptyBakedModel = emptyModel;
|
||||
this.filledBakedModel = filledModel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBakedModel handleItemState(IBakedModel originalModel, ItemStack stack, World world, EntityLivingBase entity)
|
||||
{
|
||||
InventoryFlowerBasket inventory = new InventoryFlowerBasket(stack, null);
|
||||
boolean filled = false;
|
||||
|
||||
for (int index = 0; index < inventory.getSizeInventory(); ++index)
|
||||
{
|
||||
if (inventory.getStackInSlot(index) != null)
|
||||
{
|
||||
filled = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return filled ? this.filledBakedModel : this.emptyBakedModel;
|
||||
}
|
||||
}
|
|
@ -108,9 +108,7 @@ public class BOPBiome extends Biome implements IExtendedBiome
|
|||
// If there isn't a valid config file, don't use it to configure the biome
|
||||
if (conf.isEmpty())
|
||||
return defaultBuilder.build();
|
||||
|
||||
defaultBuilder.withBaseHeight(conf.getFloat("rootHeight"));
|
||||
defaultBuilder.withHeightVariation(conf.getFloat("variation"));
|
||||
|
||||
defaultBuilder.withTemperature(conf.getFloat("temperature"));
|
||||
defaultBuilder.withRainfall(conf.getFloat("rainfall"));
|
||||
defaultBuilder.withWaterColor(conf.getInt("waterColor"));
|
||||
|
@ -143,7 +141,11 @@ public class BOPBiome extends Biome implements IExtendedBiome
|
|||
this.topBlock = conf.getBlockState("topBlock", this.topBlock);
|
||||
this.fillerBlock = conf.getBlockState("fillerBlock", this.fillerBlock);
|
||||
this.seaFloorBlock = conf.getBlockState("seaFloorBlock", this.seaFloorBlock);
|
||||
|
||||
|
||||
this.terrainSettings.avgHeight = conf.getFloat("averageHeight", (float)this.terrainSettings.avgHeight);
|
||||
this.terrainSettings.variationBelow = conf.getFloat("variationBelow", (float)this.terrainSettings.variationBelow);
|
||||
this.terrainSettings.variationAbove = conf.getFloat("variationAbove", (float)this.terrainSettings.variationAbove);
|
||||
|
||||
this.skyColor = conf.getInt("skyColor", this.skyColor);
|
||||
this.hasBiomeEssence = conf.getBool("hasBiomeEssence", this.hasBiomeEssence);
|
||||
|
||||
|
|
|
@ -163,7 +163,7 @@ public class BlockBOPDirt extends Block implements IBOPBlock, ISustainsPlantType
|
|||
{
|
||||
IBlockState upState = world.getBlockState(pos.up());
|
||||
// if there's not enough light then there's no chance of this block becoming grassy
|
||||
if (world.getLightFromNeighbors(pos.up()) < 4 || upState.getBlock().getLightOpacity(upState) > 2) {return;}
|
||||
if (world.getLightFromNeighbors(pos.up()) < 4 || upState.getLightOpacity(world, pos.up()) > 2) {return;}
|
||||
|
||||
int numNearbyGrassSpreadingBlocks = 0;
|
||||
BlockPos pos1;
|
||||
|
|
|
@ -194,7 +194,7 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
|||
{
|
||||
|
||||
// if this block is covered, then turn it back to dirt (IE kill the grass)
|
||||
if (world.getLightFromNeighbors(pos.up()) < 4 && world.getBlockState(pos.up()).getBlock().getLightOpacity(world.getBlockState(pos.up())) > 2)
|
||||
if (world.getLightFromNeighbors(pos.up()) < 4 && world.getBlockState(pos.up()).getLightOpacity(world, pos.up()) > 2)
|
||||
{
|
||||
world.setBlockState(pos, getDirtBlockState(state));
|
||||
}
|
||||
|
@ -208,14 +208,14 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
|||
// pick a random nearby position, and get the block, block state, and block above
|
||||
BlockPos pos1 = pos.add(rand.nextInt(xzSpread * 2 + 1) - xzSpread, rand.nextInt(downSpread + upSpread + 1) - downSpread, rand.nextInt(xzSpread * 2 + 1) - xzSpread);
|
||||
IBlockState target = world.getBlockState(pos1);
|
||||
Block blockAboveTarget = world.getBlockState(pos1.up()).getBlock();
|
||||
IBlockState blockAboveTarget = world.getBlockState(pos1.up());
|
||||
|
||||
// see if this type of grass can spread to the target block
|
||||
IBlockState targetGrass = spreadsToGrass(state, target);
|
||||
if (targetGrass == null) {break;}
|
||||
|
||||
// if there's enough light, turn the block to the relevant grass block
|
||||
if (world.getLightFromNeighbors(pos1.up()) >= 4 && blockAboveTarget.getLightOpacity(target) <= 2)
|
||||
if (world.getLightFromNeighbors(pos1.up()) >= 4 && blockAboveTarget.getLightOpacity(world, pos1.up()) <= 2)
|
||||
{
|
||||
world.setBlockState(pos1, targetGrass);
|
||||
}
|
||||
|
|
|
@ -7,11 +7,6 @@
|
|||
******************************************************************************/
|
||||
package biomesoplenty.common.handler;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
import biomesoplenty.api.achievement.BOPAchievements;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
|
@ -19,17 +14,15 @@ import biomesoplenty.api.enums.BOPFlowers;
|
|||
import biomesoplenty.api.enums.BOPPlants;
|
||||
import biomesoplenty.api.enums.BOPTrees;
|
||||
import biomesoplenty.api.item.BOPItems;
|
||||
import biomesoplenty.common.block.BlockBOPFlower;
|
||||
import biomesoplenty.common.block.BlockBOPLog;
|
||||
import biomesoplenty.common.block.BlockBOPPlant;
|
||||
import biomesoplenty.common.block.BlockBOPSapling;
|
||||
import biomesoplenty.common.item.ItemJarFilled;
|
||||
import biomesoplenty.common.block.*;
|
||||
import com.google.common.collect.Sets;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.stats.AchievementList;
|
||||
import net.minecraft.util.JsonSerializableSet;
|
||||
|
@ -44,6 +37,9 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
|||
import net.minecraftforge.fml.common.gameevent.PlayerEvent;
|
||||
import net.minecraftforge.fml.common.gameevent.PlayerEvent.ItemCraftedEvent;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
public class AchievementEventHandler
|
||||
{
|
||||
private static final Set<Biome> BOP_BIOMES_TO_EXPLORE = Sets.union(BOPBiomes.REG_INSTANCE.getPresentBiomes(), Biome.EXPLORATION_BIOMES_LIST);
|
||||
|
@ -53,14 +49,49 @@ public class AchievementEventHandler
|
|||
{
|
||||
ItemStack stack = event.pickedUp.getEntityItem();
|
||||
Item item = stack.getItem();
|
||||
|
||||
|
||||
Block block = Block.getBlockFromItem(item);
|
||||
IBlockState state = block != null ? block.getStateFromMeta(stack.getMetadata()) : null;
|
||||
EntityPlayer player = event.player;
|
||||
|
||||
if (block != null && block instanceof BlockBOPLog)
|
||||
if (block instanceof IBOPBlock)
|
||||
{
|
||||
player.addStat(AchievementList.MINE_WOOD);
|
||||
IBlockState state = block != null && item instanceof ItemBlock ? block.getStateFromMeta(item.getMetadata(stack.getMetadata())) : null;
|
||||
|
||||
if (block instanceof BlockBOPLog)
|
||||
{
|
||||
player.addStat(AchievementList.MINE_WOOD);
|
||||
}
|
||||
|
||||
//Totally Coral Achievement
|
||||
if (block != null && block == BOPBlocks.coral)
|
||||
{
|
||||
player.addStat(BOPAchievements.obtain_coral);
|
||||
}
|
||||
|
||||
//Life Finds a Way Achievement
|
||||
if (block != null && state == BlockBOPFlower.paging.getVariantState(BOPFlowers.MINERS_DELIGHT))
|
||||
{
|
||||
player.addStat(BOPAchievements.obtain_miners_delight);
|
||||
}
|
||||
|
||||
|
||||
//Rather Thorny Achievement
|
||||
if (block != null && state == BlockBOPPlant.paging.getVariantState(BOPPlants.THORN))
|
||||
{
|
||||
player.addStat(BOPAchievements.obtain_thorn);
|
||||
}
|
||||
|
||||
//I am Become Death Achievement
|
||||
if (block != null && state == BlockBOPFlower.paging.getVariantState(BOPFlowers.DEATHBLOOM))
|
||||
{
|
||||
player.addStat(BOPAchievements.obtain_deathbloom);
|
||||
}
|
||||
|
||||
//Godsend Achievement
|
||||
if (block != null && state == BlockBOPFlower.paging.getVariantState(BOPFlowers.WILTED_LILY))
|
||||
{
|
||||
player.addStat(BOPAchievements.obtain_wilted_lily);
|
||||
}
|
||||
}
|
||||
|
||||
//Flower Child Achievement
|
||||
|
@ -74,44 +105,13 @@ public class AchievementEventHandler
|
|||
{
|
||||
player.addStat(BOPAchievements.obtain_berry);
|
||||
}
|
||||
|
||||
//Totally Coral Achievement
|
||||
if (block != null && block == BOPBlocks.coral)
|
||||
{
|
||||
player.addStat(BOPAchievements.obtain_coral);
|
||||
}
|
||||
|
||||
//Life Finds a Way Achievement
|
||||
if (block != null && state == BlockBOPFlower.paging.getVariantState(BOPFlowers.MINERS_DELIGHT))
|
||||
{
|
||||
player.addStat(BOPAchievements.obtain_miners_delight);
|
||||
}
|
||||
|
||||
|
||||
//Rather Thorny Achievement
|
||||
if (block != null && state == BlockBOPPlant.paging.getVariantState(BOPPlants.THORN))
|
||||
{
|
||||
player.addStat(BOPAchievements.obtain_thorn);
|
||||
}
|
||||
|
||||
//I am Become Death Achievement
|
||||
if (block != null && state == BlockBOPFlower.paging.getVariantState(BOPFlowers.DEATHBLOOM))
|
||||
{
|
||||
player.addStat(BOPAchievements.obtain_deathbloom);
|
||||
}
|
||||
|
||||
//Godsend Achievement
|
||||
if (block != null && state == BlockBOPFlower.paging.getVariantState(BOPFlowers.WILTED_LILY))
|
||||
{
|
||||
player.addStat(BOPAchievements.obtain_wilted_lily);
|
||||
}
|
||||
|
||||
//Stalk Market Achievement
|
||||
if (item != null && item == BOPItems.turnip)
|
||||
{
|
||||
player.addStat(BOPAchievements.obtain_turnip);
|
||||
}
|
||||
|
||||
|
||||
//Soul Searching Achievement
|
||||
if (item != null && item == BOPItems.soul)
|
||||
{
|
||||
|
@ -174,24 +174,11 @@ public class AchievementEventHandler
|
|||
@SubscribeEvent
|
||||
public void onBlockPlaced(BlockEvent.PlaceEvent event)
|
||||
{
|
||||
ItemStack stack = event.getItemInHand();
|
||||
|
||||
//Blocks can be placed by things other than players
|
||||
if (stack != null)
|
||||
EntityPlayer player = event.getPlayer();
|
||||
IBlockState state = event.getPlacedBlock();
|
||||
if (player != null && state != null && state == BlockBOPSapling.paging.getVariantState(BOPTrees.SACRED_OAK))
|
||||
{
|
||||
Item item = stack.getItem();
|
||||
Block block = Block.getBlockFromItem(item);
|
||||
IBlockState state = block != null ? block.getStateFromMeta(stack.getItemDamage()) : null;
|
||||
|
||||
try
|
||||
{
|
||||
//Yggdrasil
|
||||
if (state == BlockBOPSapling.paging.getVariantState(BOPTrees.SACRED_OAK))
|
||||
{
|
||||
event.getPlayer().addStat(BOPAchievements.grow_sacred_oak);
|
||||
}
|
||||
}
|
||||
catch(Exception e) {} //Fail quietly if there's a problem matching metadata to a block state
|
||||
player.addStat(BOPAchievements.grow_sacred_oak);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,75 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 2016, the Biomes O' Plenty Team
|
||||
*
|
||||
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
|
||||
*
|
||||
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
|
||||
******************************************************************************/
|
||||
package biomesoplenty.common.handler;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.block.model.BakedQuad;
|
||||
import net.minecraft.client.renderer.block.model.IBakedModel;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.renderer.block.model.SimpleBakedModel;
|
||||
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.registry.IRegistry;
|
||||
import net.minecraftforge.client.event.ModelBakeEvent;
|
||||
import net.minecraftforge.client.model.IModel;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.model.ModelLoaderRegistry;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class LeavesModelHandler
|
||||
{
|
||||
private static final ModelResourceLocation LEAVES_LOC = new ModelResourceLocation("biomesoplenty:leaves_3", "variant=flowering");
|
||||
|
||||
@SubscribeEvent
|
||||
public void onModelBake(ModelBakeEvent event) throws Exception
|
||||
{
|
||||
ModelLoader loader = event.getModelLoader();
|
||||
IRegistry<ModelResourceLocation, IBakedModel> registry = event.getModelRegistry();
|
||||
IBakedModel originalBakedModel = registry.getObject(LEAVES_LOC);
|
||||
|
||||
// Load and bake the fast flowering leaves model
|
||||
IModel fastModel = ModelLoaderRegistry.getModel(new ResourceLocation("biomesoplenty:block/flowering_leaves_fast"));
|
||||
IBakedModel bakedFastModel = fastModel.bake(fastModel.getDefaultState(), DefaultVertexFormats.BLOCK, ModelLoader.defaultTextureGetter());
|
||||
|
||||
registry.putObject(LEAVES_LOC, new ModelLeaves(originalBakedModel, bakedFastModel));
|
||||
}
|
||||
|
||||
public class ModelLeaves extends SimpleBakedModel
|
||||
{
|
||||
private IBakedModel fastModel;
|
||||
|
||||
public ModelLeaves(IBakedModel fancyModel, IBakedModel fastModel)
|
||||
{
|
||||
super(fancyModel.getQuads(null, null, 0), generateFacingQuads(fancyModel), fancyModel.isAmbientOcclusion(), fancyModel.isGui3d(), fancyModel.getParticleTexture(), fancyModel.getItemCameraTransforms(), fancyModel.getOverrides());
|
||||
this.fastModel = fastModel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BakedQuad> getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand)
|
||||
{
|
||||
return Blocks.LEAVES.isOpaqueCube(null) ? fastModel.getQuads(state, side, rand) : super.getQuads(state, side, rand);
|
||||
}
|
||||
}
|
||||
|
||||
private static Map<EnumFacing, List<BakedQuad>> generateFacingQuads(IBakedModel model)
|
||||
{
|
||||
Map<EnumFacing, List<BakedQuad>> faceQuads = Maps.newEnumMap(EnumFacing.class);
|
||||
for (EnumFacing facing : EnumFacing.values())
|
||||
{
|
||||
faceQuads.put(facing, model.getQuads(null, facing, 0));
|
||||
}
|
||||
return faceQuads;
|
||||
}
|
||||
}
|
|
@ -364,8 +364,6 @@ public class ModCrafting
|
|||
|
||||
for (BOPGems gem : BOPGems.values())
|
||||
{
|
||||
// TODO: for some reason, Amethyst was not included in these sections in the 1.7 code - check this is correct, deliberate behavior
|
||||
if (gem == BOPGems.AMETHYST) {continue;}
|
||||
String gemName = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, gem.name());
|
||||
OreDictionary.registerOre("gem"+gemName, new ItemStack(BOPItems.gem, 1, gem.ordinal()));
|
||||
OreDictionary.registerOre("ore"+gemName, new ItemStack(BOPBlocks.gem_ore , 1, gem.ordinal()));
|
||||
|
|
|
@ -53,5 +53,6 @@ public class ModHandlers
|
|||
{
|
||||
MinecraftForge.EVENT_BUS.register(new GuiEventHandler());
|
||||
MinecraftForge.EVENT_BUS.register(new TrailsEventHandler());
|
||||
MinecraftForge.EVENT_BUS.register(new LeavesModelHandler());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,10 +30,13 @@ import net.minecraft.block.material.Material;
|
|||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemSeeds;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.EnumPlantType;
|
||||
import net.minecraftforge.common.IPlantable;
|
||||
|
||||
public class BlockQuery
|
||||
{
|
||||
|
@ -287,24 +290,18 @@ public class BlockQuery
|
|||
}
|
||||
else
|
||||
{
|
||||
// Otherwise fall back to the vanilla code
|
||||
switch (this.plantType)
|
||||
{
|
||||
case Desert: return block == Blocks.SAND || block == Blocks.HARDENED_CLAY || block == Blocks.STAINED_HARDENED_CLAY || block == Blocks.DIRT;
|
||||
case Nether: return block == Blocks.SOUL_SAND;
|
||||
case Crop: return block == Blocks.FARMLAND || block == BOPBlocks.farmland_0 || block == BOPBlocks.farmland_1;
|
||||
case Cave: return block.isSideSolid(state, world, pos, EnumFacing.UP);
|
||||
case Plains: return block == Blocks.GRASS || block == Blocks.DIRT || block == Blocks.FARMLAND || block == BOPBlocks.farmland_0 || block == BOPBlocks.farmland_1 || block == Blocks.MYCELIUM;
|
||||
case Water: return state.getMaterial() == Material.WATER && ((Integer)state.getValue(BlockLiquid.LEVEL)) == 0;
|
||||
case Beach:
|
||||
boolean isBeach = block == Blocks.GRASS || block == Blocks.DIRT || block == Blocks.SAND || block == Blocks.MYCELIUM;
|
||||
boolean hasWater = (world.getBlockState(pos.east()).getMaterial() == Material.WATER ||
|
||||
world.getBlockState(pos.west()).getMaterial() == Material.WATER ||
|
||||
world.getBlockState(pos.north()).getMaterial() == Material.WATER ||
|
||||
world.getBlockState(pos.south()).getMaterial() == Material.WATER);
|
||||
return isBeach && hasWater;
|
||||
}
|
||||
return false;
|
||||
// Otherwise fall back to the Forge's canSustainPlant
|
||||
return block.canSustainPlant(state, world, pos, EnumFacing.UP, new IPlantable() {
|
||||
@Override
|
||||
public EnumPlantType getPlantType(IBlockAccess world, BlockPos pos) {
|
||||
return plantType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getPlant(IBlockAccess world, BlockPos pos) {
|
||||
return world.getBlockState(pos);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,6 +30,6 @@ public class PlayerUtil
|
|||
return hand;
|
||||
}
|
||||
|
||||
return null;
|
||||
return EnumHand.MAIN_HAND;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -114,7 +114,14 @@ public class BOPWorldSettings implements IBOPWorldSettings
|
|||
public int lavaLakeChance;
|
||||
public boolean useLavaOceans;
|
||||
|
||||
|
||||
public float coordinateScale;
|
||||
public float heightScale;
|
||||
public float upperLimitScale;
|
||||
public float lowerLimitScale;
|
||||
public float mainNoiseScaleX;
|
||||
public float mainNoiseScaleY;
|
||||
public float mainNoiseScaleZ;
|
||||
|
||||
public BOPWorldSettings()
|
||||
{
|
||||
this.setDefault();
|
||||
|
@ -154,7 +161,14 @@ public class BOPWorldSettings implements IBOPWorldSettings
|
|||
obj.addProperty("generateNetherHives", this.generateNetherHives);
|
||||
obj.addProperty("generateNetherPlants", this.generateNetherPlants);
|
||||
obj.addProperty("generateEndFeatures", this.generateEndFeatures);
|
||||
|
||||
obj.addProperty("mainNoiseScaleX", this.mainNoiseScaleX);
|
||||
obj.addProperty("mainNoiseScaleY", this.mainNoiseScaleY);
|
||||
obj.addProperty("mainNoiseScaleZ", this.mainNoiseScaleZ);
|
||||
obj.addProperty("coordinateScale", this.coordinateScale);
|
||||
obj.addProperty("heightScale", this.heightScale);
|
||||
obj.addProperty("upperLimitScale", this.upperLimitScale);
|
||||
obj.addProperty("lowerLimitScale", this.lowerLimitScale);
|
||||
|
||||
return serializer.toJson(obj);
|
||||
}
|
||||
|
||||
|
@ -190,6 +204,13 @@ public class BOPWorldSettings implements IBOPWorldSettings
|
|||
this.generateNetherHives = worldConfig.getBool("generateNetherHives", this.generateNetherHives);
|
||||
this.generateNetherPlants = worldConfig.getBool("generateNetherPlants", this.generateNetherPlants);
|
||||
this.generateEndFeatures = worldConfig.getBool("generateEndFeatures", this.generateEndFeatures);
|
||||
this.mainNoiseScaleX = worldConfig.getFloat("mainNoiseScaleX", this.mainNoiseScaleX);
|
||||
this.mainNoiseScaleY = worldConfig.getFloat("mainNoiseScaleY", this.mainNoiseScaleY);
|
||||
this.mainNoiseScaleZ = worldConfig.getFloat("mainNoiseScaleZ", this.mainNoiseScaleZ);
|
||||
this.coordinateScale = worldConfig.getFloat("coordinateScale", this.coordinateScale);
|
||||
this.heightScale = worldConfig.getFloat("heightScale", this.heightScale);
|
||||
this.upperLimitScale = worldConfig.getFloat("upperLimitScale", this.upperLimitScale);
|
||||
this.lowerLimitScale = worldConfig.getFloat("lowerLimitScale", this.lowerLimitScale);
|
||||
}
|
||||
|
||||
public void setDefault()
|
||||
|
@ -238,8 +259,15 @@ public class BOPWorldSettings implements IBOPWorldSettings
|
|||
this.useLavaLakes = true;
|
||||
this.lavaLakeChance = 80;
|
||||
this.useLavaOceans = false;
|
||||
|
||||
|
||||
|
||||
this.mainNoiseScaleX = 80.0F;
|
||||
this.mainNoiseScaleY = 160.0F;
|
||||
this.mainNoiseScaleZ = 80.0F;
|
||||
this.coordinateScale = 684.412F;
|
||||
this.heightScale = 684.412F;
|
||||
this.upperLimitScale = 512.0F;
|
||||
this.lowerLimitScale = 512.0F;
|
||||
|
||||
// Allow defaults to be overridden from file
|
||||
IConfigObj worldConfig = new BOPConfig.ConfigFileObj(new File(BiomesOPlenty.configDirectory, "world.json"));
|
||||
this.fromConfigObj(worldConfig);
|
||||
|
@ -296,4 +324,4 @@ public class BOPWorldSettings implements IBOPWorldSettings
|
|||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -379,13 +379,13 @@ public class ChunkProviderGenerateBOP implements IChunkGenerator
|
|||
Biome[] biomes = this.worldObj.getBiomeProvider().getBiomesForGeneration(null, chunkX * 4 - 2, chunkZ * 4 - 2, 10, 10);
|
||||
|
||||
// values from vanilla
|
||||
float coordinateScale = 684.412F;
|
||||
float heightScale = 684.412F;
|
||||
double upperLimitScale = 512.0D;
|
||||
double lowerLimitScale = 512.0D;
|
||||
float mainNoiseScaleX = 80.0F;
|
||||
float mainNoiseScaleY = 160.0F;
|
||||
float mainNoiseScaleZ = 80.0F;
|
||||
float coordinateScale = this.settings.coordinateScale;
|
||||
float heightScale = this.settings.heightScale;
|
||||
double upperLimitScale = this.settings.upperLimitScale;
|
||||
double lowerLimitScale = this.settings.lowerLimitScale;
|
||||
float mainNoiseScaleX = this.settings.mainNoiseScaleX;
|
||||
float mainNoiseScaleY = this.settings.mainNoiseScaleY;
|
||||
float mainNoiseScaleZ = this.settings.mainNoiseScaleZ;
|
||||
|
||||
int subchunkX = chunkX * 4;
|
||||
int subchunkY = 0;
|
||||
|
@ -638,4 +638,4 @@ public class ChunkProviderGenerateBOP implements IChunkGenerator
|
|||
this.oceanMonumentGenerator.generate(this.worldObj, p_180514_2_, p_180514_3_, (ChunkPrimer)null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -575,8 +575,11 @@ public class GeneratorBigTree extends GeneratorTreeBase
|
|||
this.minHeight = heights.getLeft();
|
||||
this.maxHeight = heights.getRight();
|
||||
|
||||
this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn);
|
||||
this.log = conf.getBlockState("logState", this.log);
|
||||
this.leaves = conf.getBlockState("leavesState", this.leaves);
|
||||
this.foliageHeight = conf.getInt("foliageHeight", this.foliageHeight);
|
||||
this.foliageDensity = conf.getFloat("foliageDensity", (float)this.foliageDensity);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,468 @@
|
|||
achievement.obtain_flowers=Enfant fleur
|
||||
achievement.obtain_flowers.desc=Trouvez une fleur !
|
||||
achievement.obtain_berry=Bienfait de groseille
|
||||
achievement.obtain_berry.desc=Prenez une groseille d'un groseiller
|
||||
achievement.obtain_coral=Corail totalement !
|
||||
achievement.obtain_coral.desc=Plongez profondément pour du corail
|
||||
achievement.obtain_miners_delight=La vie trouve un chemin
|
||||
achievement.obtain_miners_delight.desc=Trouver une fleur délice de mineur au fond d'une cave
|
||||
achievement.eat_shroom_powder=J'vole
|
||||
achievement.eat_shroom_powder.desc=Ingérez un peu de poudre de champignon magique
|
||||
achievement.obtain_turnip=Marché de tige
|
||||
achievement.obtain_turnip.desc=Ramssez un navet
|
||||
achievement.grow_sacred_oak=Yggdrasil
|
||||
achievement.grow_sacred_oak.desc=Plantez un plant de chêne sacré
|
||||
achievement.craft_flax_string=Folie de lin
|
||||
achievement.craft_flax_string.desc=Bricolez des plantes de lin en ficelle de lin
|
||||
achievement.craft_muddy_pickaxe=Obtenir une dégradation
|
||||
achievement.craft_muddy_pickaxe.desc=Construisez une...pioche en boue...?
|
||||
achievement.obtain_thorn=Rather Thorny
|
||||
achievement.obtain_thorn.desc=Collect a prickly thorn!
|
||||
achievement.obtain_deathbloom=I am Become Death
|
||||
achievement.obtain_deathbloom.desc=Acquire a deadly deathbloom
|
||||
achievement.obtain_honeycomb=Honeycomb's Big
|
||||
achievement.obtain_honeycomb.desc=Steal a filled honeycomb from a Nether wasp hive
|
||||
achievement.obtain_soul=Soul Searching
|
||||
achievement.obtain_soul.desc=Reclaim a lost soul
|
||||
achievement.obtain_wilted_lily=Godsend
|
||||
achievement.obtain_wilted_lily.desc=Rescue a wilted lily flower
|
||||
achievement.obtain_pixie_dust=Don't Breathe This
|
||||
achievement.obtain_pixie_dust.desc=Kill a pixie and collect its magical dust
|
||||
achievement.obtain_celestial_crystal=Far Out...
|
||||
achievement.obtain_celestial_crystal.desc=Mine a celestial crystal in the End
|
||||
achievement.craft_terrestrial_artifact=Your Powers Combined
|
||||
achievement.craft_terrestrial_artifact.desc=Combine all 8 biome-exclusive gems together
|
||||
achievement.craft_ambrosia=Nectar of the Gods
|
||||
achievement.craft_ambrosia.desc=Sugar, water, honey, berries, roots, kelp, ichor, pixie dust, and celestial crystals!
|
||||
achievement.explore_all_biomes=The Wanderer
|
||||
achievement.explore_all_biomes.desc=Truly discover all biomes
|
||||
achievement.use_enderporter=Gone Home
|
||||
achievement.use_enderporter.desc=Travel back to the origin point with an enderporter
|
||||
achievement.use_biome_finder=Search Party
|
||||
achievement.use_biome_finder.desc=Use the biome finder to locate a biome
|
||||
biome_finder.searching=Searching for %s
|
||||
biome_finder.found=Found %s!
|
||||
biome_finder.not_found=Not found, maybe %s is too far away
|
||||
config.category.convenienceSettings.title=Convenience Settings
|
||||
config.category.guiSettings.title=GUI Settings
|
||||
config.category.textureSettings.title=Texture Settings
|
||||
config.category.trailSettings.title=Trail Settings
|
||||
config.category.convenienceSettings.tooltip=Require shears to be used to collect flower drops.
|
||||
config.category.guiSettings.tooltip=Use the Biomes O' Plenty World Type by default when selecting a world.
|
||||
config.category.textureSettings.tooltip=Override the Forge bucket texture and use ours instead (It's nicer!)
|
||||
config.category.trailSettings.tooltip=Modify Trail Visibility
|
||||
commands.biomesoplenty.usage=/biomesoplenty <tpbiome|biomename|stripchunk> [args]
|
||||
commands.biomesoplenty.biomename.usage=/biomesoplenty biomename [biomeId]
|
||||
commands.biomesoplenty.biomename.success=Biome ID %s is associated with %s
|
||||
commands.biomesoplenty.tpbiome.usage=/biomesoplenty tpbiome [biomeId]
|
||||
commands.biomesoplenty.tpbiome.success=Teleported %s to biome %s at (%s, %s, %s)
|
||||
commands.biomesoplenty.tpbiome.error=Couldn't find biome %s!
|
||||
commands.biomesoplenty.stats.blocks=Blocks: %s
|
||||
commands.biomesoplenty.stats.items=Items: %s
|
||||
commands.biomesoplenty.stats.entities=Entities: %s
|
||||
commands.biomesoplenty.stats.biomes=Biomes: %s
|
||||
commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [radius] <include|exclude> [block] [metadata]
|
||||
container.flower_basket=Flower Basket
|
||||
generator.BIOMESOP=Biomes O' Plenty
|
||||
generator.BIOMESOP.info=Notice: Biomes O' Plenty 1.8 is in a very early state
|
||||
itemGroup.tabBiomesOPlenty=Biomes O' Plenty
|
||||
fluid.blood=Bloodfluid.honey=Honey
|
||||
fluid.hot_spring_water=Hot Spring Water
|
||||
fluid.poison=Poison
|
||||
fluid.sand=Quicksand
|
||||
item.forge.bucketFilled.name=%s Bucket
|
||||
item.ambrosia.name=Ambrosia
|
||||
item.ash.name=Pile of Ashes
|
||||
item.berries.name=Berry
|
||||
item.biome_essence.name=Biome Essence
|
||||
item.biome_finder.name=Biome Finder
|
||||
item.black_dye.name=Black Dye
|
||||
item.blue_dye.name=Blue Dye
|
||||
item.brown_dye.name=Brown Dye
|
||||
item.cherry_door.name=Cherry Door
|
||||
item.crystal_shard.name=Celestial Crystal Shard
|
||||
item.terrestrial_artifact.name=Terrestrial Artifact
|
||||
item.flax_string.name=Flax String
|
||||
item.diamond_scythe.name=Diamond Scythe
|
||||
item.dull_flower_band.name=Dull Flower Band
|
||||
item.ebony_door.name=Ebony Door
|
||||
item.enderporter.name=Enderporter
|
||||
item.ethereal_door.name=Ethereal Door
|
||||
item.eucalyptus_door.name=Eucalyptus Door
|
||||
item.exotic_flower_band.name=Exotic Flower Band
|
||||
item.filled_honeycomb.name=Filled Honeycomb
|
||||
item.fir_door.name=Fir Door
|
||||
item.fleshchunk.name=Chunk of Flesh
|
||||
item.flippers.name=Flippers
|
||||
item.flower_basket.name=Flower Basket
|
||||
item.gem_amber.name=Amber
|
||||
item.gem_amethyst.name=Ender Amethyst
|
||||
item.gem_malachite.name=Malachite
|
||||
item.gem_peridot.name=Peridot
|
||||
item.gem_ruby.name=Ruby
|
||||
item.gem_sapphire.name=Sapphir
|
||||
eitem.gem_tanzanite.name=Tanzanite
|
||||
item.gem_topaz.name=Topaz
|
||||
item.green_dye.name=Green Dye
|
||||
item.gold_scythe.name=Golden Scythe
|
||||
item.hellbark_door.name=Hellbark Door
|
||||
item.honeycomb.name=Empty Honeycomb
|
||||
item.ichor.name=Ichor
|
||||
item.iron_scythe.name=Iron Scythe
|
||||
item.jacaranda_door.name=Jacaranda Door
|
||||
item.jar_empty.name=Empty Jar
|
||||
item.jar_filled_honey.name=Honey Jar
|
||||
item.jar_filled_pixie.name=Pixie Jar
|
||||
item.jar_filled_butterfly.name=Butterfly Jar
|
||||
item.lush_flower_band.name=Lush Flower Band
|
||||
item.magic_door.name=Magic Door
|
||||
item.mahogany_door.name=Mahogany Door
|
||||
item.mangrove_door.name=Mangrove Door
|
||||
item.mudball.name=Mud Ball
|
||||
item.mud_axe.name=Muddy Axe
|
||||
item.mud_boots.name=Muddy Boots
|
||||
item.mud_brick.name=Mud Brick
|
||||
item.mud_chestplate.name=Muddy Chestplate
|
||||
item.mud_helmet.name=Muddy Helmet
|
||||
item.mud_hoe.name=Muddy Hoe
|
||||
item.mud_leggings.name=Muddy Leggings
|
||||
item.mud_pickaxe.name=Muddy Pickaxe
|
||||
item.mud_scythe.name=Muddy Scythe
|
||||
item.mud_shovel.name=Muddy Shovel
|
||||
item.mud_sword.name=Muddy Sword
|
||||
item.palm_door.name=Palm Door
|
||||
item.persimmon.name=Persimmon
|
||||
item.peach.name=Peach
|
||||
item.pear.name=Pear
|
||||
item.pinecone.name=Pinecone
|
||||
item.pine_door.name=Pine Door
|
||||
item.pixie_dust.name=Pixie Dust
|
||||
item.plain_flower_band.name=Plain Flower Band
|
||||
item.record_corruption.name=Music Disc
|
||||
item.record.corruption.desc=???
|
||||
item.record_wanderer.name=Music Disc
|
||||
item.record.wanderer.desc=Tim Rurkowski - Wanderer
|
||||
item.redwood_door.name=Redwood Door
|
||||
item.ricebowl.name=Bowl of Rice
|
||||
item.sacred_oak_door.name=Sacred Oak Door
|
||||
item.saladfruit.name=Fruit Salad
|
||||
item.saladveggie.name=Veggie Salad
|
||||
item.saladshroom.name=Shroom Salad
|
||||
item.shroompowder.name=Shroom Powder
|
||||
item.soul.name=Soul
|
||||
item.spawn_egg_pixie.name=Spawn Pixie
|
||||
item.spawn_egg_wasp.name=Spawn Wasp
|
||||
item.spawn_egg_snail.name=Spawn Snail
|
||||
item.spawn_egg_butterfly.name=Spawn Butterfly
|
||||
item.stone_scythe.name=Stone Scythe
|
||||
item.turnip.name=Turnip
|
||||
item.turnip_seeds.name=Turnip Seeds
|
||||
item.umbran_door.name=Umbran Door
|
||||
item.wading_boots.name=Wading Boots
|
||||
item.white_dye.name=White Dye
|
||||
item.willow_door.name=Willow Door
|
||||
item.wood_scythe.name=Wooden Scythe
|
||||
tile.ash_block.name=Ash Block
|
||||
tile.bamboo.name=Bamboo
|
||||
tile.bamboo_thatching.name=Bamboo Thatching
|
||||
tile.biome_block.name=Biome Essence Ore
|
||||
tile.cherry_fence.name=Cherry Fence
|
||||
tile.cherry_fence_gate.name=Cherry Fence Gate
|
||||
tile.cherry_wood_slab.name=Cherry Wood Slab
|
||||
tile.cherry_stairs.name=Cherry Wood Stairs
|
||||
tile.coral.pink_coral.name=Pink Coral
|
||||
tile.coral.orange_coral.name=Orange Coral
|
||||
tile.coral.blue_coral.name=Blue Coral
|
||||
tile.coral.glowing_coral.name=Glowing Coral
|
||||
tile.coral.algae.name=Algae
|
||||
tile.dirt.loamy_dirt.name=Loamy Dirt
|
||||
tile.dirt.sandy_dirt.name=Sandy Dirt
|
||||
tile.dirt.silty_dirt.name=Silty Dirt
|
||||
tile.dirt.coarse_loamy_dirt.name=Coarse Loamy Dirt
|
||||
tile.dirt.coarse_sandy_dirt.name=Coarse Sandy Dirt
|
||||
tile.dirt.coarse_silty_dirt.name=Coarse Silty Dirt
|
||||
tile.double_plant.flax.name=Flax
|
||||
tile.double_plant.tall_cattail.name=Tall Cattail
|
||||
tile.double_plant.eyebulb.name=Eyebulb
|
||||
tile.ebony_fence.name=Ebony Fence
|
||||
tile.ebony_fence_gate.name=Ebony Fence Gate
|
||||
tile.ebony_wood_slab.name=Ebony Wood Slab
|
||||
tile.ebony_stairs.name=Ebony Wood Stairs
|
||||
tile.ethereal_fence.name=Ethereal Fence
|
||||
tile.ethereal_fence_gate.name=Ethereal Fence Gate
|
||||
tile.ethereal_wood_slab.name=Ethereal Wood Slab
|
||||
tile.ethereal_stairs.name=Ethereal Wood Stairs
|
||||
tile.eucalyptus_fence.name=Eucalyptus Fence
|
||||
tile.eucalyptus_fence_gate.name=Eucalyptus Fence Gate
|
||||
tile.eucalyptus_wood_slab.name=Eucalyptus Wood Slab
|
||||
tile.eucalyptus_stairs.name=Eucalyptus Wood Stairs
|
||||
tile.farmland_0.loamy_farmland.name=Loamy Farmland
|
||||
tile.farmland_0.sandy_farmland.name=Sandy Farmland
|
||||
tile.farmland_1.silty_farmland.name=Silty Farmland
|
||||
tile.fir_fence.name=Fir Fence
|
||||
tile.fir_fence_gate.name=Fir Fence Gate
|
||||
tile.fir_wood_slab.name=Fir Wood Slab
|
||||
tile.fir_stairs.name=Fir Wood Stairs
|
||||
tile.flesh.name=Flesh
|
||||
tile.flower_0.clover.name=Clover
|
||||
tile.flower_0.swampflower.name=Swampflower
|
||||
tile.flower_0.deathbloom.name=Deathbloom
|
||||
tile.flower_0.glowflower.name=Glowflower
|
||||
tile.flower_0.blue_hydrangea.name=Blue Hydrangea
|
||||
tile.flower_0.orange_cosmos.name=Orange Cosmos
|
||||
tile.flower_0.pink_daffodil.name=Pink Dafodil
|
||||
tile.flower_0.wildflower.name=Wildflower
|
||||
tile.flower_0.violet.name=Violet
|
||||
tile.flower_0.white_anemone.name=White Anemone
|
||||
tile.flower_0.enderlotus.name=Enderlotus
|
||||
tile.flower_0.bromeliad.name=Bromeliad
|
||||
tile.flower_0.wilted_lily.name=Wilted Lily
|
||||
tile.flower_0.pink_hibiscus.name=Pink Hibiscus
|
||||
tile.flower_0.lily_of_the_valley.name=Lily of the Valley
|
||||
tile.flower_0.burning_blossom.name=Burning Blossom
|
||||
tile.flower_1.lavender.name=Lavender
|
||||
tile.flower_1.goldenrod.name=Goldenrod
|
||||
tile.flower_1.bluebells.name=Bluebells
|
||||
tile.flower_1.miners_delight.name=Miner's Delight
|
||||
tile.flower_1.icy_iris.name=Icy Iris
|
||||
tile.flower_1.rose.name=Rose
|
||||
tile.flower_vine.name=Flowering Vines
|
||||
tile.gem_block.amethyst_block.name=Block of Amethyst
|
||||
tile.gem_block.ruby_block.name=Block of Ruby
|
||||
tile.gem_block.peridot_block.name=Block of Peridot
|
||||
tile.gem_block.topaz_block.name=Block of Topaz
|
||||
tile.gem_block.tanzanite_block.name=Block of Tanzanite
|
||||
tile.gem_block.malachite_block.name=Block of Malachite
|
||||
tile.gem_block.sapphire_block.name=Block of Sapphire
|
||||
tile.gem_block.amber_block.name=Block of Amber
|
||||
tile.gem_ore.amethyst_ore.name=Ender Amethyst Ore
|
||||
tile.gem_ore.ruby_ore.name=Ruby Ore
|
||||
tile.gem_ore.peridot_ore.name=Peridot Ore
|
||||
tile.gem_ore.topaz_ore.name=Topaz Ore
|
||||
tile.gem_ore.tanzanite_ore.name=Tanzanite Ore
|
||||
tile.gem_ore.malachite_ore.name=Malachite Ore
|
||||
tile.gem_ore.sapphire_ore.name=Sapphire Ore
|
||||
tile.gem_ore.amber_ore.name=Amber Ore
|
||||
tile.grass.daisy_grass_block.name=Flowering Grass Bloock
|
||||
tile.grass.spectral_moss.name=Spectral Moss
|
||||
tile.grass.overgrown_stone.name=Overgrown Stone
|
||||
tile.grass.loamy_grass_block.name=Loamy Grass Block
|
||||
tile.grass.sandy_grass_block.name=Sandy Grass Block
|
||||
tile.grass.silty_grass_block.name=Silty Grass Block
|
||||
tile.grass.origin_grass_block.name=Origin Grass Block
|
||||
tile.grass.overgrown_netherrack.name=Overgrown Netherrack
|
||||
tile.grass_path.grass_loamy_path.name=Loamy Grass Path
|
||||
tile.grass_path.grass_sandy_path.name=Sandy Grass Path
|
||||
tile.grass_path.grass_silty_path.name=Silty Grass Path
|
||||
tile.hellbark_fence.name=Hellbark Fence
|
||||
tile.hellbark_fence_gate.name=Hellbark Fence Gate
|
||||
tile.hellbark_wood_slab.name=Hellbark Wood Slab
|
||||
tile.hellbark_stairs.name=Hellbark Wood Stairs
|
||||
tile.hive.hive_block.name=Hive Block
|
||||
tile.hive.honeycomb_block.name=Honeycomb Block
|
||||
tile.hive.empty_honeycomb_block.name=Empty Honeycomb Block
|
||||
tile.hive.filled_honeycomb_block.name=Filled Honeycomb Block
|
||||
tile.honey_block.name=Honey Block
|
||||
tile.ivy.name=Ivy
|
||||
tile.jacaranda_fence.name=Jacaranda Fence
|
||||
tile.jacaranda_fence_gate.name=Jacaranda Fence Gate
|
||||
tile.jacaranda_wood_slab.name=Jacaranda Wood Slab
|
||||
tile.jacaranda_stairs.name=Jacaranda Wood Stairs
|
||||
tile.jelled_poison.name=Jelled Poison
|
||||
tile.leaves_0.yellow_autumn_leaves.name=Yellow Autumn Leaves
|
||||
tile.leaves_0.orange_autumn_leaves.name=Orange Autumn Leaves
|
||||
tile.leaves_0.bamboo_leaves.name=Bamboo Leaves
|
||||
tile.leaves_0.magic_leaves.name=Magic Leaves
|
||||
tile.leaves_1.umbran_leaves.name=Umbran Leaves
|
||||
tile.leaves_1.dead_leaves.name=Dead Leaves
|
||||
tile.leaves_1.fir_leaves.name=Fir Leaves
|
||||
tile.leaves_1.ethereal_leaves.name=Ethereal Leaves
|
||||
tile.leaves_2.origin_leaves.name=Origin Leaves
|
||||
tile.leaves_2.pink_cherry_leaves.name=Pink Cherry Leaves
|
||||
tile.leaves_2.white_cherry_leaves.name=White Cherry Leaves
|
||||
tile.leaves_2.maple_leaves.name=Maple Leaves
|
||||
tile.leaves_3.hellbark_leaves.name=Hellbark Leaves
|
||||
tile.leaves_3.flowering_leaves.name=Flowering Oak Leaves
|
||||
tile.leaves_3.jacaranda_leaves.name=Jacaranda Leaves
|
||||
tile.leaves_3.sacred_oak_leaves.name=Sacred Oak Leaves
|
||||
tile.leaves_4.mangrove_leaves.name=Mangrove Leaves
|
||||
tile.leaves_4.palm_leaves.name=Palm Leaves
|
||||
tile.leaves_4.redwood_leaves.name=Redwood Leaves
|
||||
tile.leaves_4.willow_leaves.name=Willow Leaves
|
||||
tile.leaves_5.pine_leaves.name=Pine Leaves
|
||||
tile.leaves_5.mahogany_leaves.name=Mahogany Leaves
|
||||
tile.leaves_5.ebony_leaves.name=Ebony Leaves
|
||||
tile.leaves_5.eucalyptus_leaves.name=Eucalyptus Leaves
|
||||
tile.leaves_6.red_big_flower_petal.name=Giant Red Flower Petal
|
||||
tile.leaves_6.yellow_big_flower_petal.name=Giant Yellow Flower Petal
|
||||
tile.log_0.sacred_oak_log.name=Sacred Oak Wood
|
||||
tile.log_0.cherry_log.name=Cherry Wood
|
||||
tile.log_0.umbran_log.name=Umbran Wood
|
||||
tile.log_0.fir_log.name=Fir Wood
|
||||
tile.log_1.ethereal_log.name=Ethereal Wood
|
||||
tile.log_1.magic_log.name=Magic Wood
|
||||
tile.log_1.mangrove_log.name=Mangrove Wood
|
||||
tile.log_1.palm_log.name=Palm Wood
|
||||
tile.log_2.redwood_log.name=Redwood Wood
|
||||
tile.log_2.willow_log.name=Willow Wood
|
||||
tile.log_2.pine_log.name=Pine Wood
|
||||
tile.log_2.hellbark_log.name=Hellbark Wood
|
||||
tile.log_3.jacaranda_log.name=Jacaranda Wood
|
||||
tile.log_3.mahogany_log.name=Mahogany Wood
|
||||
tile.log_3.ebony_log.name=Ebony Wood
|
||||
tile.log_3.eucalyptus_log.name=Eucalyptus Wood
|
||||
tile.log_4.giant_flower_stem.name=Giant Flower Stem
|
||||
tile.log_4.dead_log.name=Dead Wood
|
||||
tile.magic_fence.name=Magic Fence
|
||||
tile.magic_fence_gate.name=Magic Fence Gate
|
||||
tile.magic_wood_slab.name=Magic Wood Slab
|
||||
tile.magic_stairs.name=Magic Wood Stairs
|
||||
tile.mahogany_fence.name=Mahogany Fence
|
||||
tile.mahogany_fence_gate.name=Mahogany Fence Gate
|
||||
tile.mahogany_wood_slab.name=Mahogany Wood Slab
|
||||
tile.mahogany_stairs.name=Mahogany Wood Stairs
|
||||
tile.mangrove_fence.name=Mangrove Fence
|
||||
tile.mangrove_fence_gate.name=Mangrove Fence Gate
|
||||
tile.mangrove_wood_slab.name=Mangrove Wood Slab
|
||||
tile.mangrove_stairs.name=Mangrove Wood Stairs
|
||||
tile.mud.mud.name=Mud
|
||||
tile.mud_brick_block.name=Mud Bricks
|
||||
tile.mud_brick_slab.name=Mud Bricks Slab
|
||||
tile.mud_brick_stairs.name=Mud Bricks Stairs
|
||||
tile.mushroom.toadstool.name=Toadstool
|
||||
tile.mushroom.portobello.name=Portobello
|
||||
tile.mushroom.blue_milk_cap.name=Blue Milk Cap
|
||||
tile.mushroom.glowshroom.name=Glowshroom
|
||||
tile.mushroom.flat_mushroom.name=Flat Mushroom
|
||||
tile.mushroom.shadow_shroom.name=Shadow Shroom
|
||||
tile.palm_fence.name=Palm Fence
|
||||
tile.palm_fence_gate.name=Palm Fence Gate
|
||||
tile.palm_wood_slab.name=Palm Wood Slab
|
||||
tile.palm_stairs.name=Palm Wood Stairs
|
||||
tile.pine_fence.name=Pine Fence
|
||||
tile.pine_fence_gate.name=Pine Fence Gate
|
||||
tile.pine_wood_slab.name=Pine Wood Slab
|
||||
tile.pine_stairs.name=Pine Wood Stairs
|
||||
tile.planks_0.sacred_oak_planks.name=Sacred Oak Wood Planks
|
||||
tile.planks_0.cherry_planks.name=Cherry Wood Planks
|
||||
tile.planks_0.umbran_planks.name=Umbran Wood Planks
|
||||
tile.planks_0.fir_planks.name=Fir Wood Planks
|
||||
tile.planks_0.ethereal_planks.name=Ethereal Wood Planks
|
||||
tile.planks_0.magic_planks.name=Magic Wood Planks
|
||||
tile.planks_0.mangrove_planks.name=Mangrove Wood Planks
|
||||
tile.planks_0.palm_planks.name=Palm Wood Planks
|
||||
tile.planks_0.redwood_planks.name=Redwood Wood Planks
|
||||
tile.planks_0.willow_planks.name=Willow Wood Planks
|
||||
tile.planks_0.bamboo_thatching.name=Bamboo Thatching
|
||||
tile.planks_0.pine_planks.name=Pine Wood Planks
|
||||
tile.planks_0.hellbark_planks.name=Hellbark Wood Planks
|
||||
tile.planks_0.jacaranda_planks.name=Jacaranda Wood Planks
|
||||
tile.planks_0.mahogany_planks.name=Mahogany Wood Planks
|
||||
tile.planks_0.ebony_planks.name=Ebony Wood Planks
|
||||
tile.planks_0.eucalyptus_planks.name=Eucalyptus Wood Planks
|
||||
tile.plant_0.shortgrass.name=Short Grass
|
||||
tile.plant_0.mediumgrass.name=Medium Grass
|
||||
tile.plant_0.bush.name=Bush
|
||||
tile.plant_0.sprout.name=Sprou
|
||||
ttile.plant_0.poisonivy.name=Poison Ivy
|
||||
tile.plant_0.berrybush.name=Berry Bush
|
||||
tile.plant_0.shrub.name=Shrub
|
||||
tile.plant_0.wheatgrass.name=Wheat Grass
|
||||
tile.plant_0.dampgrass.name=Damp Grass
|
||||
tile.plant_0.koru.name=Koru
|
||||
tile.plant_0.cloverpatch.name=Clover Patch
|
||||
tile.plant_0.leafpile.name=Leaf Pile
|
||||
tile.plant_0.deadleafpile.name=Dead Leaf Pile
|
||||
tile.plant_0.deadgrass.name=Dead Grass
|
||||
tile.plant_0.desertgrass.name=Desert Grass
|
||||
tile.plant_0.desertsprouts.name=Desert Sprouts
|
||||
tile.plant_1.dunegrass.name=Dune Grass
|
||||
tile.plant_1.spectralfern.name=Spectral Fern
|
||||
tile.plant_1.thorn.name=Thorns
|
||||
tile.plant_1.wildrice.name=Wild Rice
|
||||
tile.plant_1.cattail.name=Cattail
|
||||
tile.plant_1.rivercane.name=River Cane
|
||||
tile.plant_1.tinycactus.name=Tiny Cactus
|
||||
tile.plant_1.witherwart.name=Wither Wart
|
||||
tile.plant_1.reed.name=Reed
|
||||
tile.plant_1.root.name=Root
|
||||
tile.plant_1.rafflesia.name=Rafflesia
|
||||
tile.redwood_fence.name=Redwood Fence
|
||||
tile.redwood_fence_gate.name=Redwood Fence Gate
|
||||
tile.redwood_wood_slab.name=Redwood Wood Slab
|
||||
tile.redwood_stairs.name=Redwood Wood Stairs
|
||||
tile.sacred_oak_fence.name=Sacred Oak Fence
|
||||
tile.sacred_oak_fence_gate.name=Sacred Oak Fence Gate
|
||||
tile.sacred_oak_wood_slab.name=Sacred Oak Wood Slab
|
||||
tile.sacred_oak_stairs.name=Sacred Oak Wood Stairs
|
||||
tile.sapling_0.yellow_autumn_sapling.name=Yellow Autumn Sapling
|
||||
tile.sapling_0.orange_autumn_sapling.name=Orange Autumn Sapling
|
||||
tile.sapling_0.bamboo_sapling.name=Bamboo Sapling
|
||||
tile.sapling_0.magic_sapling.name=Magic Sapling
|
||||
tile.sapling_0.umbran_sapling.name=Umbran Sapling
|
||||
tile.sapling_0.dead_sapling.name=Dead Sapling
|
||||
tile.sapling_0.fir_sapling.name=Fir Sapling
|
||||
tile.sapling_0.ethereal_sapling.name=Ethereal Sapling
|
||||
tile.sapling_1.origin_sapling.name=Origin Sapling
|
||||
tile.sapling_1.pink_cherry_sapling.name=Pink Cherry Sapling
|
||||
tile.sapling_1.white_cherry_sapling.name=White Cherry Sapling
|
||||
tile.sapling_1.maple_sapling.name=Maple Sapling
|
||||
tile.sapling_1.hellbark_sapling.name=Hellbark Sapling
|
||||
tile.sapling_1.flowering_sapling.name=Flowering Oak Sapling
|
||||
tile.sapling_1.jacaranda_sapling.name=Jacaranda Sapling
|
||||
tile.sapling_1.sacred_oak_sapling.name=Sacred Oak Sapling
|
||||
tile.sapling_2.mangrove_sapling.name=Mangrove Sapling
|
||||
tile.sapling_2.palm_sapling.name=Palm Sapling
|
||||
tile.sapling_2.redwood_sapling.name=Redwood Sapling
|
||||
tile.sapling_2.willow_sapling.name=Willow Sapling
|
||||
tile.sapling_2.pine_sapling.name=Pine Sapling
|
||||
tile.sapling_2.mahogany_sapling.name=Mahogany Sapling
|
||||
tile.sapling_2.ebony_sapling.name=Ebony Sapling
|
||||
tile.sapling_2.eucalyptus_sapling.name=Eucalyptus Sapling
|
||||
tile.seaweed.kelp.name=Kelp
|
||||
tile.stone.limestone.name=Limestone
|
||||
tile.stone.polished_limestone.name=Polished Limestone
|
||||
tile.stone.siltstone.name=Siltstone
|
||||
tile.stone.polished_siltstone.name=Polished Siltstone
|
||||
tile.stone.shale.name=Shale
|
||||
tile.stone.polished_shale.name=Polished Shale
|
||||
tile.stone_formations.stone_formation.name=Rock Formation
|
||||
tile.terrarium.terrarium_fern.name=Fern Terrarium
|
||||
tile.terrarium.terrarium_mushroom.name=Mushroom Terrarium
|
||||
tile.terrarium.terrarium_cactus.name=Cactus Terrarium
|
||||
tile.terrarium.terrarium_flax.name=Flax Terrarium
|
||||
tile.terrarium.terrarium_flower.name=Flower Terrarium
|
||||
tile.terrarium.terrarium_koru.name=Koru Terrarium
|
||||
tile.terrarium.terrarium_bamboo.name=Bamboo Terrarium
|
||||
tile.terrarium.terrarium_sapling.name=Sapling Terrarium
|
||||
tile.terrarium.terrarium_glowshroom.name=Glowshroom Terrarium
|
||||
tile.terrarium.terrarium_dead.name=Dead Terrarium
|
||||
tile.terrarium.terrarium_mystic.name=Mystic Terrarium
|
||||
tile.terrarium.terrarium_ominous.name=Ominous Terrarium
|
||||
tile.terrarium.terrarium_wasteland.name=Wasteland Terrarium
|
||||
tile.terrarium.terrarium_origin.name=Origin Terrarium
|
||||
tile.terrarium.terrarium_nether.name=Nether Terrarium
|
||||
tile.terrarium.terrarium_ender.name=Ender Terrarium
|
||||
tile.tree_moss.name=Tree Moss
|
||||
tile.turnip_block.name=Turnip
|
||||
tile.umbran_fence.name=Umbran Fence
|
||||
tile.umbran_fence_gate.name=Umbran Fence Gate
|
||||
tile.umbran_wood_slab.name=Umbran Wood Slab
|
||||
tile.umbran_stairs.name=Umbran Wood Stairs
|
||||
tile.waterlily.lily_medium.name=Medium Lily Pad
|
||||
tile.waterlily.lily_small.name=Small Lily Pad
|
||||
tile.waterlily.lily_tiny.name=Tiny Lily Pad
|
||||
tile.waterlily.lily_flower.name=Flowered Lily Pad
|
||||
tile.willow_fence.name=Willow Fence
|
||||
tile.willow_fence_gate.name=Willow Fence Gate
|
||||
tile.willow_wood_slab.name=Willow Wood Slab
|
||||
tile.willow_stairs.name=Willow Wood Stairs
|
||||
tile.hard_ice.name=Hardened Ice
|
||||
tile.dried_sand.name=Dried Sand
|
||||
tile.crag_rock.name=Crag Rock
|
||||
tile.mud_brick.name=Mud Bricks
|
||||
tile.crystal.name=Celestial Crystal
|
||||
entity.BiomesOPlenty.butterfly.name=Butterfly
|
||||
entity.BiomesOPlenty.pixie.name=Pixie
|
||||
entity.BiomesOPlenty.snail.name=Snail
|
||||
entity.BiomesOPlenty.wasp.name=Wasp
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/leaves",
|
||||
"textures": {
|
||||
"all": "biomesoplenty:blocks/leaves_flowering_fast"
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 632 B |
Loading…
Reference in New Issue