Merge pull request #1 from Glitchfiend/BOP-1.12.x-7.0.x

Merge
This commit is contained in:
koh 2018-03-05 19:45:56 +09:00 committed by GitHub
commit 55283f6872
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
112 changed files with 2579 additions and 244 deletions

View File

@ -48,6 +48,23 @@ public class BOPItems
public static Item pinecone;
public static Item other_slab;
public static Item boat_sacred_oak;
public static Item boat_cherry;
public static Item boat_umbran;
public static Item boat_fir;
public static Item boat_ethereal;
public static Item boat_magic;
public static Item boat_mangrove;
public static Item boat_palm;
public static Item boat_redwood;
public static Item boat_willow;
public static Item boat_pine;
public static Item boat_hellbark;
public static Item boat_jacaranda;
public static Item boat_mahogany;
public static Item boat_ebony;
public static Item boat_eucalyptus;
public static Item sacred_oak_door;
public static Item cherry_door;
public static Item umbran_door;

View File

@ -82,7 +82,7 @@ public class BOPOverworldBiome extends BOPBiome
IBlockPosQuery suitableStonePosition = BlockQuery.buildAnd().withAltitudeBetween(0, 55).blocks(Blocks.STONE).create();
this.addGenerator("miners_delight", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).generationAttempts(64).with(BOPFlowers.MINERS_DELIGHT).placeOn(suitableStonePosition).scatterYMethod(ScatterYMethod.BELOW_GROUND).create());
this.addGenerator("glowshrooms", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.5F).generationAttempts(64).placeOn(suitableStonePosition).with(BOPBlocks.mushroom.getDefaultState().withProperty(BlockBOPMushroom.VARIANT, BlockBOPMushroom.MushroomType.GLOWSHROOM)).scatterYMethod(ScatterYMethod.BELOW_GROUND).create());
this.addGenerator("stone_formations", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(30.0F).generationAttempts(32).placeOn(suitableStonePosition).with(BOPBlocks.stone_formations.getDefaultState()).minHeight(1).maxHeight(5).randomDirection(true).scatterYMethod(ScatterYMethod.BELOW_GROUND).create());
this.addGenerator("stone_formations", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(30.0F).generationAttempts(16).placeOn(suitableStonePosition).with(BOPBlocks.stone_formations.getDefaultState()).minHeight(1).maxHeight(5).randomDirection(true).scatterYMethod(ScatterYMethod.BELOW_GROUND).create());
}
@Override

View File

@ -97,8 +97,8 @@ public class BiomeGenBog extends BOPOverworldBiome
// other plants
this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.KORU).create());
this.addGenerator("river_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(1.0F).generationAttempts(24).placeOn(BlockQueries.litFertileWaterside).with(BlockBOPPlant.paging.getVariantState(BOPPlants.RIVERCANE)).minHeight(1).maxHeight(3).create());
this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(2.0F).with(BOPPlants.BUSH).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.SHRUB).create());
this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.5F).with(BOPPlants.BUSH).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).with(BOPPlants.SHRUB).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create());
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.6F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create());
this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create());

View File

@ -76,7 +76,7 @@ public class BiomeGenBorealForest extends BOPOverworldBiome
flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create()));
// other plants
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.SHRUB).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SHRUB).create());
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create());
this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create());
this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create());

View File

@ -66,8 +66,8 @@ public class BiomeGenBrushland extends BOPOverworldBiome
grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create());
// other plants
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.SHRUB).create());
this.addGenerator("thorns", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.THORN).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.SHRUB).create());
this.addGenerator("thorns", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.THORN).create());
// gem
this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create());

View File

@ -99,7 +99,7 @@ public class BiomeGenChaparral extends BOPOverworldBiome
// other plants
this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BERRYBUSH).create());
this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BOPPlants.BUSH).create());
this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.75F).with(BOPPlants.BUSH).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SHRUB).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create());
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create());

View File

@ -99,7 +99,7 @@ public class BiomeGenFen extends BOPOverworldBiome
this.addGenerator("double_cattail", GeneratorStage.FLOWERS,(new GeneratorDoubleFlora.Builder()).amountPerChunk(4.0F).with(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL).create());
this.addGenerator("river_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(1.0F).generationAttempts(24).placeOn(BlockQueries.litFertileWaterside).with(BlockBOPPlant.paging.getVariantState(BOPPlants.RIVERCANE)).minHeight(1).maxHeight(3).create());
this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.KORU).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.SHRUB).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create());
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).generationAttempts(64).create());
// water plants

View File

@ -39,7 +39,7 @@ public class BiomeGenFlowerIsland extends BOPOverworldBiome
public BiomeGenFlowerIsland()
{
super("flower_island", new PropsBuilder("Flower Island").withGuiColour(0x74D374).withTemperature(0.6F).withRainfall(0.8F));
super("flower_island", new PropsBuilder("Flower Island").withGuiColour(0x74D374).withTemperature(0.85F).withRainfall(0.8F));
// terrain
this.terrainSettings.avgHeight(70).heightVariation(10, 15).octaves(0, 0, 1, 1, 2, 2);

View File

@ -37,7 +37,7 @@ public class BiomeGenMangrove extends BOPOverworldBiome
{
public BiomeGenMangrove()
{
super("mangrove", new PropsBuilder("Mangrove").withTemperature(0.8F).withRainfall(0.3F).withGuiColour(7251289).withWaterColor(0xCDFF51));
super("mangrove", new PropsBuilder("Mangrove").withTemperature(0.85F).withRainfall(0.3F).withGuiColour(7251289).withWaterColor(0xCDFF51));
// terrain
this.terrainSettings.avgHeight(62).heightVariation(8, 2).octaves(0, 1, 2, 2, 1, 0);

View File

@ -68,7 +68,7 @@ public class BiomeGenMapleWoods extends BOPOverworldBiome
flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create()));
// other plants
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.SHRUB).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create());
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(8.0F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create());
// water plants

View File

@ -82,7 +82,7 @@ public class BiomeGenMeadow extends BOPOverworldBiome
// other plants
this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BUSH).create());
this.addGenerator("flax", GeneratorStage.FLOWERS,(new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).generationAttempts(6).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.SHRUB).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create());
this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create());
this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).with(BOPPlants.SPROUT).create());

View File

@ -126,7 +126,7 @@ public class BiomeGenMountain extends BOPOverworldBiome
grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).generationAttempts(128).create());
// other plants
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BOPPlants.SHRUB).generationAttempts(type == MountainType.MOUNTAIN_FOOTHILLS ? 64 : 32).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).generationAttempts(type == MountainType.MOUNTAIN_FOOTHILLS ? 64 : 32).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.8F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create());
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.2F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create());

View File

@ -113,7 +113,7 @@ public class BiomeGenMysticGrove extends BOPOverworldBiome
//other plants
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create());
this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.SPROUT).create());
this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.SPROUT).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create());
this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create());

View File

@ -68,7 +68,7 @@ public class BiomeGenOutback extends BOPOverworldBiome
grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create());
// other plants
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.SHRUB).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SHRUB).create());
this.addGenerator("tiny_cacti", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BOPPlants.TINYCACTUS).create());
this.addGenerator("dead_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(2.0F).with(Blocks.DEADBUSH.getDefaultState()).create());
this.addGenerator("cacti", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(0.5F).generationAttempts(24).placeOn(this.topBlock).with(Blocks.CACTUS.getDefaultState()).minHeight(1).maxHeight(2).create());

View File

@ -79,8 +79,8 @@ public class BiomeGenOvergrownCliffs extends BOPOverworldBiome
treeGenerator.add("jungle_twiglet", 2, (new GeneratorTwigletTree.Builder()).minHeight(2).maxHeight(2).log(BlockPlanks.EnumType.JUNGLE).leaves(BlockPlanks.EnumType.JUNGLE).trunkFruit(Blocks.COCOA.getDefaultState()).create());
// other plants
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).with(BOPPlants.SHRUB).create());
this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.SPROUT).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.SHRUB).create());
this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.SPROUT).create());
// flowers
GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.5F);

View File

@ -70,7 +70,7 @@ public class BiomeGenPrairie extends BOPOverworldBiome
flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create()));
// other plants
this.addGenerator("berry_bushes", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.4F).with(BOPPlants.BERRYBUSH).generationAttempts(8).create());
this.addGenerator("berry_bushes", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.BERRYBUSH).generationAttempts(8).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create());
this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(1).with(BOPPlants.REED).generationAttempts(32).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(5).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(32).create());

View File

@ -77,10 +77,10 @@ public class BiomeGenRainforest extends BOPOverworldBiome
flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create()));
// other plants
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).with(BOPPlants.SHRUB).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create());
this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create());
this.addGenerator("rafflesia", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.RAFFLESIA).create());
this.addGenerator("rafflesia", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.RAFFLESIA).create());
this.addGenerator("melons", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.015625F).placeOn(this.topBlock).with(Blocks.MELON_BLOCK.getDefaultState()).create());
// water plants

View File

@ -47,9 +47,9 @@ public class BiomeGenRedwoodForest extends BOPOverworldBiome
treeGenerator.add("redwood_thin", 1, (new GeneratorRedwoodTreeThin.Builder()).log(BOPWoods.REDWOOD).leaves(BOPTrees.REDWOOD).create());
// other plants
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.SHRUB).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create());
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create());
this.addGenerator("double_fern", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(8.0F).with(BlockDoublePlant.EnumPlantType.FERN).create());
// shrooms

View File

@ -36,7 +36,7 @@ public class BiomeGenSacredSprings extends BOPOverworldBiome
{
public BiomeGenSacredSprings()
{
super("sacred_springs", new PropsBuilder("Sacred Springs").withGuiColour(39259).withTemperature(0.8F).withRainfall(0.9F));
super("sacred_springs", new PropsBuilder("Sacred Springs").withGuiColour(39259).withTemperature(0.85F).withRainfall(0.9F));
// terrain
this.terrainSettings.avgHeight(64).heightVariation(10, 10);

View File

@ -92,7 +92,7 @@ public class BiomeGenShield extends BOPOverworldBiome
flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create()));
// other plants
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SHRUB).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create());
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create());

View File

@ -54,9 +54,9 @@ public class BiomeGenSnowyConiferousForest extends BOPOverworldBiome
treeGenerator.add("mega_fir", 2, (new GeneratorTaigaTree.Builder()).log(BOPWoods.FIR).leaves(BOPTrees.FIR).minHeight(20).maxHeight(40).trunkWidth(2).create());
// other plants
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.05F).with(BOPPlants.SHRUB).create());
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(2.0F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create());
// shrooms
this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create());

View File

@ -62,8 +62,8 @@ public class BiomeGenSnowyForest extends BOPOverworldBiome
grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create());
// other plants
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.05F).with(BOPPlants.SHRUB).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create());
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create());
// flowers

View File

@ -66,7 +66,7 @@ public class BiomeGenTemperateRainforest extends BOPOverworldBiome
treeGenerator.add("willow", 1, (new GeneratorBasicTree.Builder()).log(BOPWoods.WILLOW).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.WILLOW).withProperty(BlockOldLeaf.CHECK_DECAY, Boolean.valueOf(false))).minHeight(8).maxHeight(12).maxLeavesRadius(2).vine(BOPBlocks.willow_vine.getDefaultState()).leavesOffset(0).create());
// other plants
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.6F).with(BOPPlants.SHRUB).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SHRUB).create());
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create());
this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create());

View File

@ -71,7 +71,7 @@ public class BiomeGenTundra extends BOPOverworldBiome
this.addGenerator("trees", GeneratorStage.TREE, (new GeneratorBush.Builder()).amountPerChunk(0.7F).maxHeight(2).create());
// other plants
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.SHRUB).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create());
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).generationAttempts(64).create());

View File

@ -80,7 +80,7 @@ public class BiomeGenWoodland extends BOPOverworldBiome
// other plants
this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BERRYBUSH).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SHRUB).create());
this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create());
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(2.0F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).generationAttempts(64).create());
this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create());

View File

@ -40,17 +40,17 @@ public class BiomeExtBirchForest extends ExtendedBiomeWrapper
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create());
this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create());
this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create());
this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.05F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create());
this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create());
// shrooms
this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create());
// flowers
GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.15F);
GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.1F);
this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator);
flowerGenerator.add("clover", 1, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create()));
flowerGenerator.add("lily_of_the_valley", 1, (new GeneratorFlora.Builder().with(BOPFlowers.LILY_OF_THE_VALLEY)).generationAttempts(128).create());
flowerGenerator.add("lily_of_the_valley", 1, (new GeneratorFlora.Builder().with(BOPFlowers.LILY_OF_THE_VALLEY)).create());
// gem
this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create());

View File

@ -40,17 +40,17 @@ public class BiomeExtBirchForestHills extends ExtendedBiomeWrapper
this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create());
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create());
this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create());
this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.12F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create());
this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.05F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create());
this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create());
// shrooms
this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create());
// flowers
GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.15F);
GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.1F);
this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator);
flowerGenerator.add("clover", 1, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create()));
flowerGenerator.add("lily_of_the_valley", 1, (new GeneratorFlora.Builder().with(BOPFlowers.LILY_OF_THE_VALLEY)).generationAttempts(128).create());
flowerGenerator.add("lily_of_the_valley", 1, (new GeneratorFlora.Builder().with(BOPFlowers.LILY_OF_THE_VALLEY)).create());
// gem
this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create());

View File

@ -60,7 +60,7 @@ public class BiomeExtForest extends ExtendedBiomeWrapper
this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create());
// flowers
GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.2F);
GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.15F);
this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator);
flowerGenerator.add("white_anemones", 1, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create()));
flowerGenerator.add("blue_hydrangeas", 2, (new GeneratorFlora.Builder().with(BOPFlowers.BLUE_HYDRANGEA).create()));

View File

@ -60,7 +60,7 @@ public class BiomeExtForestHills extends ExtendedBiomeWrapper
this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create());
// flowers
GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.2F);
GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.15F);
this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator);
flowerGenerator.add("white_anemones", 1, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create()));
flowerGenerator.add("blue_hydrangeas", 2, (new GeneratorFlora.Builder().with(BOPFlowers.BLUE_HYDRANGEA).create()));

View File

@ -47,7 +47,7 @@ public class ExtendedBiomeWrapper implements IExtendedBiome
IBlockPosQuery suitableStonePosition = BlockQuery.buildAnd().withAltitudeBetween(0, 55).blocks(Blocks.STONE).create();
this.addGenerator("miners_delight", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).generationAttempts(64).with(BOPFlowers.MINERS_DELIGHT).placeOn(suitableStonePosition).scatterYMethod(ScatterYMethod.BELOW_GROUND).create());
this.addGenerator("glowshrooms", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.5F).generationAttempts(64).placeOn(suitableStonePosition).with(BOPBlocks.mushroom.getDefaultState().withProperty(BlockBOPMushroom.VARIANT, BlockBOPMushroom.MushroomType.GLOWSHROOM)).scatterYMethod(ScatterYMethod.BELOW_GROUND).create());
this.addGenerator("stone_formations", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(30.0F).generationAttempts(32).placeOn(suitableStonePosition).with(BOPBlocks.stone_formations.getDefaultState()).minHeight(1).maxHeight(7).randomDirection(true).scatterYMethod(ScatterYMethod.BELOW_GROUND).create());
this.addGenerator("stone_formations", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(30.0F).generationAttempts(16).placeOn(suitableStonePosition).with(BOPBlocks.stone_formations.getDefaultState()).minHeight(1).maxHeight(7).randomDirection(true).scatterYMethod(ScatterYMethod.BELOW_GROUND).create());
}
@Override

View File

@ -111,7 +111,7 @@ public class EntityAIEatBOPGrass extends EntityAIEatGrass
{
if (this.world.getGameRules().getBoolean("mobGriefing"))
{
this.world.playEvent(2001, posDown, Block.getIdFromBlock(BOPBlocks.grass));
this.world.playEvent(2001, posDown, Block.getIdFromBlock(Blocks.GRASS));
this.world.setBlockState(posDown, BlockBOPGrass.getDirtBlockState(stateDown), 2);
}
@ -119,7 +119,7 @@ public class EntityAIEatBOPGrass extends EntityAIEatGrass
{
if (this.world.getGameRules().getBoolean("mobGriefing"))
{
this.world.playEvent(2001, posDown, Block.getIdFromBlock(BOPBlocks.grass));
this.world.playEvent(2001, posDown, Block.getIdFromBlock(Blocks.GRASS));
this.world.setBlockState(posDown, Blocks.DIRT.getDefaultState(), 2);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,117 @@
/*******************************************************************************
* Copyright 2015-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.entities.item;
import net.minecraft.client.model.IMultipassModel;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.GLAllocation;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.entity.Entity;
import net.minecraft.util.math.MathHelper;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelBOPBoat extends ModelBase implements IMultipassModel
{
public ModelRenderer[] boatSides = new ModelRenderer[5];
public ModelRenderer[] paddles = new ModelRenderer[2];
public ModelRenderer noWater;
private final int patchList = GLAllocation.generateDisplayLists(1);
public ModelBOPBoat()
{
this.boatSides[0] = (new ModelRenderer(this, 0, 0)).setTextureSize(128, 64);
this.boatSides[1] = (new ModelRenderer(this, 0, 19)).setTextureSize(128, 64);
this.boatSides[2] = (new ModelRenderer(this, 0, 27)).setTextureSize(128, 64);
this.boatSides[3] = (new ModelRenderer(this, 0, 35)).setTextureSize(128, 64);
this.boatSides[4] = (new ModelRenderer(this, 0, 43)).setTextureSize(128, 64);
int i = 32;
int j = 6;
int k = 20;
int l = 4;
int i1 = 28;
this.boatSides[0].addBox(-14.0F, -9.0F, -3.0F, 28, 16, 3, 0.0F);
this.boatSides[0].setRotationPoint(0.0F, 3.0F, 1.0F);
this.boatSides[1].addBox(-13.0F, -7.0F, -1.0F, 18, 6, 2, 0.0F);
this.boatSides[1].setRotationPoint(-15.0F, 4.0F, 4.0F);
this.boatSides[2].addBox(-8.0F, -7.0F, -1.0F, 16, 6, 2, 0.0F);
this.boatSides[2].setRotationPoint(15.0F, 4.0F, 0.0F);
this.boatSides[3].addBox(-14.0F, -7.0F, -1.0F, 28, 6, 2, 0.0F);
this.boatSides[3].setRotationPoint(0.0F, 4.0F, -9.0F);
this.boatSides[4].addBox(-14.0F, -7.0F, -1.0F, 28, 6, 2, 0.0F);
this.boatSides[4].setRotationPoint(0.0F, 4.0F, 9.0F);
this.boatSides[0].rotateAngleX = ((float)Math.PI / 2F);
this.boatSides[1].rotateAngleY = ((float)Math.PI * 3F / 2F);
this.boatSides[2].rotateAngleY = ((float)Math.PI / 2F);
this.boatSides[3].rotateAngleY = (float)Math.PI;
this.paddles[0] = this.makePaddle(true);
this.paddles[0].setRotationPoint(3.0F, -5.0F, 9.0F);
this.paddles[1] = this.makePaddle(false);
this.paddles[1].setRotationPoint(3.0F, -5.0F, -9.0F);
this.paddles[1].rotateAngleY = (float)Math.PI;
this.paddles[0].rotateAngleZ = 0.19634955F;
this.paddles[1].rotateAngleZ = 0.19634955F;
this.noWater = (new ModelRenderer(this, 0, 0)).setTextureSize(128, 64);
this.noWater.addBox(-14.0F, -9.0F, -3.0F, 28, 16, 3, 0.0F);
this.noWater.setRotationPoint(0.0F, -3.0F, 1.0F);
this.noWater.rotateAngleX = ((float)Math.PI / 2F);
}
public void render(Entity entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scale)
{
GlStateManager.rotate(90.0F, 0.0F, 1.0F, 0.0F);
EntityBOPBoat entitybopboat = (EntityBOPBoat)entityIn;
this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale, entityIn);
for (int i = 0; i < 5; ++i)
{
this.boatSides[i].render(scale);
}
this.renderPaddle(entitybopboat, 0, scale, limbSwing);
this.renderPaddle(entitybopboat, 1, scale, limbSwing);
}
public void renderMultipass(Entity p_187054_1_, float p_187054_2_, float p_187054_3_, float p_187054_4_, float p_187054_5_, float p_187054_6_, float scale)
{
GlStateManager.rotate(90.0F, 0.0F, 1.0F, 0.0F);
GlStateManager.colorMask(false, false, false, false);
this.noWater.render(scale);
GlStateManager.colorMask(true, true, true, true);
}
protected ModelRenderer makePaddle(boolean p_187056_1_)
{
ModelRenderer modelrenderer = (new ModelRenderer(this, 62, p_187056_1_ ? 0 : 20)).setTextureSize(128, 64);
int i = 20;
int j = 7;
int k = 6;
float f = -5.0F;
modelrenderer.addBox(-1.0F, 0.0F, -5.0F, 2, 2, 18);
modelrenderer.addBox(p_187056_1_ ? -1.001F : 0.001F, -3.0F, 8.0F, 1, 6, 7);
return modelrenderer;
}
protected void renderPaddle(EntityBOPBoat boat, int paddle, float scale, float limbSwing)
{
float f = boat.getRowingTime(paddle, limbSwing);
ModelRenderer modelrenderer = this.paddles[paddle];
modelrenderer.rotateAngleX = (float)MathHelper.clampedLerp(-1.0471975803375244D, -0.2617993950843811D, (double)((MathHelper.sin(-f) + 1.0F) / 2.0F));
modelrenderer.rotateAngleY = (float)MathHelper.clampedLerp(-(Math.PI / 4D), (Math.PI / 4D), (double)((MathHelper.sin(-f + 1.0F) + 1.0F) / 2.0F));
if (paddle == 1)
{
modelrenderer.rotateAngleY = (float)Math.PI - modelrenderer.rotateAngleY;
}
modelrenderer.render(scale);
}
}

View File

@ -0,0 +1,109 @@
/*******************************************************************************
* Copyright 2015-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.entities.item;
import net.minecraft.client.model.IMultipassModel;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.item.EntityBoat;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class RenderBOPBoat extends Render<EntityBOPBoat>
{
private static final ResourceLocation[] BOAT_TEXTURES = new ResourceLocation[] {new ResourceLocation("biomesoplenty:textures/entity/boats/boat_sacred_oak.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_cherry.png"),
new ResourceLocation("biomesoplenty:textures/entity/boats/boat_umbran.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_fir.png"),
new ResourceLocation("biomesoplenty:textures/entity/boats/boat_ethereal.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_magic.png"),
new ResourceLocation("biomesoplenty:textures/entity/boats/boat_mangrove.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_palm.png"),
new ResourceLocation("biomesoplenty:textures/entity/boats/boat_redwood.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_willow.png"),
new ResourceLocation("biomesoplenty:textures/entity/boats/boat_pine.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_hellbark.png"),
new ResourceLocation("biomesoplenty:textures/entity/boats/boat_jacaranda.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_mahogany.png"),
new ResourceLocation("biomesoplenty:textures/entity/boats/boat_ebony.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_eucalyptus.png")};
protected ModelBase modelBOPBoat = new ModelBOPBoat();
public RenderBOPBoat(RenderManager renderManagerIn)
{
super(renderManagerIn);
this.shadowSize = 0.5F;
}
public void doRender(EntityBOPBoat entity, double x, double y, double z, float entityYaw, float partialTicks)
{
GlStateManager.pushMatrix();
this.setupTranslation(x, y, z);
this.setupRotation(entity, entityYaw, partialTicks);
this.bindEntityTexture(entity);
if (this.renderOutlines)
{
GlStateManager.enableColorMaterial();
GlStateManager.enableOutlineMode(this.getTeamColor(entity));
}
this.modelBOPBoat.render(entity, partialTicks, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
if (this.renderOutlines)
{
GlStateManager.disableOutlineMode();
GlStateManager.disableColorMaterial();
}
GlStateManager.popMatrix();
super.doRender(entity, x, y, z, entityYaw, partialTicks);
}
public void setupRotation(EntityBOPBoat p_188311_1_, float p_188311_2_, float p_188311_3_)
{
GlStateManager.rotate(180.0F - p_188311_2_, 0.0F, 1.0F, 0.0F);
float f = (float)p_188311_1_.getTimeSinceHit() - p_188311_3_;
float f1 = p_188311_1_.getDamageTaken() - p_188311_3_;
if (f1 < 0.0F)
{
f1 = 0.0F;
}
if (f > 0.0F)
{
GlStateManager.rotate(MathHelper.sin(f) * f * f1 / 10.0F * (float)p_188311_1_.getForwardDirection(), 1.0F, 0.0F, 0.0F);
}
GlStateManager.scale(-1.0F, -1.0F, 1.0F);
}
public void setupTranslation(double p_188309_1_, double p_188309_3_, double p_188309_5_)
{
GlStateManager.translate((float)p_188309_1_, (float)p_188309_3_ + 0.375F, (float)p_188309_5_);
}
protected ResourceLocation getEntityTexture(EntityBOPBoat entity)
{
return BOAT_TEXTURES[entity.getBOPBoatType().ordinal()];
}
public boolean isMultipass()
{
return true;
}
public void renderMultipass(EntityBOPBoat p_188300_1_, double p_188300_2_, double p_188300_4_, double p_188300_6_, float p_188300_8_, float p_188300_9_)
{
GlStateManager.pushMatrix();
this.setupTranslation(p_188300_2_, p_188300_4_, p_188300_6_);
this.setupRotation(p_188300_1_, p_188300_8_, p_188300_9_);
this.bindEntityTexture(p_188300_1_);
((IMultipassModel)this.modelBOPBoat).renderMultipass(p_188300_1_, p_188300_9_, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
GlStateManager.popMatrix();
}
}

View File

@ -0,0 +1,60 @@
package biomesoplenty.common.entities.projectiles.dispenser;
import biomesoplenty.common.entities.item.EntityBOPBoat;
import net.minecraft.block.BlockDispenser;
import net.minecraft.block.material.Material;
import net.minecraft.dispenser.BehaviorDefaultDispenseItem;
import net.minecraft.dispenser.IBlockSource;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
public class DispenserBehaviorBOPBoat extends BehaviorDefaultDispenseItem
{
private final BehaviorDefaultDispenseItem dispenseBehavior = new BehaviorDefaultDispenseItem();
private final EntityBOPBoat.Type boatType;
public DispenserBehaviorBOPBoat(EntityBOPBoat.Type boatTypeIn)
{
this.boatType = boatTypeIn;
}
public ItemStack dispenseStack(IBlockSource source, ItemStack stack)
{
EnumFacing enumfacing = (EnumFacing)source.getBlockState().getValue(BlockDispenser.FACING);
World world = source.getWorld();
double d0 = source.getX() + (double)((float)enumfacing.getFrontOffsetX() * 1.125F);
double d1 = source.getY() + (double)((float)enumfacing.getFrontOffsetY() * 1.125F);
double d2 = source.getZ() + (double)((float)enumfacing.getFrontOffsetZ() * 1.125F);
BlockPos blockpos = source.getBlockPos().offset(enumfacing);
Material material = world.getBlockState(blockpos).getMaterial();
double d3;
if (Material.WATER.equals(material))
{
d3 = 1.0D;
}
else
{
if (!Material.AIR.equals(material) || !Material.WATER.equals(world.getBlockState(blockpos.down()).getMaterial()))
{
return this.dispenseBehavior.dispense(source, stack);
}
d3 = 0.0D;
}
EntityBOPBoat entitybopboat = new EntityBOPBoat(world, d0, d1 + d3, d2);
entitybopboat.setBoatType(this.boatType);
entitybopboat.rotationYaw = enumfacing.getHorizontalAngle();
world.spawnEntity(entitybopboat);
stack.shrink(1);
return stack;
}
protected void playDispenseSound(IBlockSource source)
{
source.getWorld().playEvent(1000, source.getBlockPos(), 0);
}
}

View File

@ -62,6 +62,11 @@ public class ModCrafting
}
}
for (BOPGems gem : BOPGems.values())
{
GameRegistry.addSmelting(new ItemStack(BOPBlocks.gem_ore, 1, gem.ordinal()), new ItemStack(BOPItems.gem, 1, gem.ordinal()), 1.0F);
}
// Register items which can be used as fuel
FurnaceFuelHandler bopFuel = new FurnaceFuelHandler();
GameRegistry.registerFuelHandler(bopFuel);
@ -73,6 +78,23 @@ public class ModCrafting
bopFuel.addFuel(BOPBlocks.wood_slab_1, 150);
// Note, we don't have to add all the other wood blocks - by default any block with Material = wood burns with value of 300
// See TileEntityFurnace.getItemBurnTime()
bopFuel.addFuel(BOPItems.boat_sacred_oak, 400);
bopFuel.addFuel(BOPItems.boat_cherry, 400);
bopFuel.addFuel(BOPItems.boat_umbran, 400);
bopFuel.addFuel(BOPItems.boat_fir, 400);
bopFuel.addFuel(BOPItems.boat_ethereal, 400);
bopFuel.addFuel(BOPItems.boat_magic, 400);
bopFuel.addFuel(BOPItems.boat_mangrove, 400);
bopFuel.addFuel(BOPItems.boat_palm, 400);
bopFuel.addFuel(BOPItems.boat_redwood, 400);
bopFuel.addFuel(BOPItems.boat_willow, 400);
bopFuel.addFuel(BOPItems.boat_pine, 400);
bopFuel.addFuel(BOPItems.boat_hellbark, 400);
bopFuel.addFuel(BOPItems.boat_jacaranda, 400);
bopFuel.addFuel(BOPItems.boat_mahogany, 400);
bopFuel.addFuel(BOPItems.boat_ebony, 400);
bopFuel.addFuel(BOPItems.boat_eucalyptus, 400);
bopFuel.addFuel(BOPItems.ash, 400); // TODO: really? 400? Ash is already burnt but burns better than wooden planks?

View File

@ -11,6 +11,7 @@ package biomesoplenty.common.init;
import biomesoplenty.common.command.BOPCommand;
import biomesoplenty.common.entities.EntityPixie;
import biomesoplenty.common.entities.EntityWasp;
import biomesoplenty.common.entities.item.EntityBOPBoat;
import biomesoplenty.common.entities.projectiles.EntityMudball;
import biomesoplenty.core.BiomesOPlenty;
import net.minecraft.entity.Entity;
@ -29,6 +30,9 @@ public class ModEntities
{
// projectiles
registerBOPEntity(EntityMudball.class, "mudball", 64, 10, true);
// item entities
registerBOPEntity(EntityBOPBoat.class, "bop_boat", 80, 3, true);
// mobs
registerBOPEntityWithSpawnEgg(EntityWasp.class, "wasp", 80, 3, true, 0xE5B013, 0x333234);

View File

@ -15,6 +15,22 @@ import static biomesoplenty.api.item.BOPItems.biome_essence;
import static biomesoplenty.api.item.BOPItems.biome_finder;
import static biomesoplenty.api.item.BOPItems.black_dye;
import static biomesoplenty.api.item.BOPItems.blue_dye;
import static biomesoplenty.api.item.BOPItems.boat_cherry;
import static biomesoplenty.api.item.BOPItems.boat_ebony;
import static biomesoplenty.api.item.BOPItems.boat_ethereal;
import static biomesoplenty.api.item.BOPItems.boat_eucalyptus;
import static biomesoplenty.api.item.BOPItems.boat_fir;
import static biomesoplenty.api.item.BOPItems.boat_hellbark;
import static biomesoplenty.api.item.BOPItems.boat_jacaranda;
import static biomesoplenty.api.item.BOPItems.boat_magic;
import static biomesoplenty.api.item.BOPItems.boat_mahogany;
import static biomesoplenty.api.item.BOPItems.boat_mangrove;
import static biomesoplenty.api.item.BOPItems.boat_palm;
import static biomesoplenty.api.item.BOPItems.boat_pine;
import static biomesoplenty.api.item.BOPItems.boat_redwood;
import static biomesoplenty.api.item.BOPItems.boat_sacred_oak;
import static biomesoplenty.api.item.BOPItems.boat_umbran;
import static biomesoplenty.api.item.BOPItems.boat_willow;
import static biomesoplenty.api.item.BOPItems.brown_dye;
import static biomesoplenty.api.item.BOPItems.crystal_shard;
import static biomesoplenty.api.item.BOPItems.earth;
@ -47,7 +63,9 @@ import static biomesoplenty.api.item.BOPItems.white_dye;
import biomesoplenty.api.block.BOPBlocks;
import biomesoplenty.api.sound.BOPSounds;
import biomesoplenty.common.command.BOPCommand;
import biomesoplenty.common.entities.item.EntityBOPBoat;
import biomesoplenty.common.item.ItemAmbrosia;
import biomesoplenty.common.item.ItemBOPBoat;
import biomesoplenty.common.item.ItemBOPFood;
import biomesoplenty.common.item.ItemBOPRecord;
import biomesoplenty.common.item.ItemBiomeEssence;
@ -69,7 +87,6 @@ import net.minecraft.item.ItemSoup;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
import net.minecraftforge.fml.common.registry.GameRegistry;
public class ModItems
{
@ -83,6 +100,23 @@ public class ModItems
jar_filled = registerItem(new ItemJarFilled(), "jar_filled");
jar_empty = registerItem(new ItemJarEmpty(), "jar_empty");
boat_sacred_oak = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.SACRED_OAK), "boat_sacred_oak");
boat_cherry = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.CHERRY), "boat_cherry");
boat_umbran = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.UMBRAN), "boat_umbran");
boat_fir = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.FIR), "boat_fir");
boat_ethereal = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.ETHEREAL), "boat_ethereal");
boat_magic = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.MAGIC), "boat_magic");
boat_mangrove = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.MANGROVE), "boat_mangrove");
boat_palm = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.PALM), "boat_palm");
boat_redwood = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.REDWOOD), "boat_redwood");
boat_willow = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.WILLOW), "boat_willow");
boat_pine = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.PINE), "boat_pine");
boat_hellbark = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.HELLBARK), "boat_hellbark");
boat_jacaranda = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.JACARANDA), "boat_jacaranda");
boat_mahogany = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.MAHOGANY), "boat_mahogany");
boat_ebony = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.EBONY), "boat_ebony");
boat_eucalyptus = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.EUCALYPTUS), "boat_eucalyptus");
biome_finder = registerItem(new ItemBiomeFinder(), "biome_finder");
flower_basket = registerItem(new ItemFlowerBasket(), "flower_basket");

View File

@ -1,15 +1,16 @@
package biomesoplenty.common.init;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.google.common.collect.Lists;
import biomesoplenty.api.biome.BOPBiomes;
import biomesoplenty.api.item.BOPItems;
import biomesoplenty.common.entities.item.EntityBOPBoat;
import biomesoplenty.common.entities.projectiles.dispenser.DispenserBehaviorBOPBoat;
import biomesoplenty.common.entities.projectiles.dispenser.DispenserBehaviorMudball;
import biomesoplenty.common.util.biome.BiomeUtils;
import biomesoplenty.common.world.BOPMapGenScatteredFeature;
import com.google.common.collect.Lists;
import net.minecraft.block.BlockDispenser;
import net.minecraft.init.Biomes;
import net.minecraft.world.biome.Biome;
@ -32,6 +33,23 @@ public class ModVanillaCompat
private static void registerDispenserBehaviors()
{
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.mudball, new DispenserBehaviorMudball());
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_sacred_oak, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.SACRED_OAK));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_cherry, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.CHERRY));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_umbran, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.UMBRAN));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_fir, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.FIR));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_ethereal, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.ETHEREAL));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_magic, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.MAGIC));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_mangrove, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.MANGROVE));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_palm, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.PALM));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_redwood, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.REDWOOD));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_willow, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.WILLOW));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_pine, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.PINE));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_hellbark, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.HELLBARK));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_jacaranda, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.JACARANDA));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_mahogany, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.MAHOGANY));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_ebony, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.EBONY));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_eucalyptus, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.EUCALYPTUS));
}
private static void addDungeonLoot()

View File

@ -0,0 +1,125 @@
/*******************************************************************************
* 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.common.item;
import java.util.List;
import biomesoplenty.common.entities.item.EntityBOPBoat;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.StatList;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
public class ItemBOPBoat extends Item
{
private final EntityBOPBoat.Type type;
public ItemBOPBoat(EntityBOPBoat.Type typeIn)
{
this.type = typeIn;
this.maxStackSize = 1;
this.setUnlocalizedName("boat_" + typeIn.getName());
}
@Override
public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn)
{
ItemStack itemstack = playerIn.getHeldItem(handIn);
float f = 1.0F;
float f1 = playerIn.prevRotationPitch + (playerIn.rotationPitch - playerIn.prevRotationPitch) * 1.0F;
float f2 = playerIn.prevRotationYaw + (playerIn.rotationYaw - playerIn.prevRotationYaw) * 1.0F;
double d0 = playerIn.prevPosX + (playerIn.posX - playerIn.prevPosX) * 1.0D;
double d1 = playerIn.prevPosY + (playerIn.posY - playerIn.prevPosY) * 1.0D + (double)playerIn.getEyeHeight();
double d2 = playerIn.prevPosZ + (playerIn.posZ - playerIn.prevPosZ) * 1.0D;
Vec3d vec3d = new Vec3d(d0, d1, d2);
float f3 = MathHelper.cos(-f2 * 0.017453292F - (float)Math.PI);
float f4 = MathHelper.sin(-f2 * 0.017453292F - (float)Math.PI);
float f5 = -MathHelper.cos(-f1 * 0.017453292F);
float f6 = MathHelper.sin(-f1 * 0.017453292F);
float f7 = f4 * f5;
float f8 = f3 * f5;
double d3 = 5.0D;
Vec3d vec3d1 = vec3d.addVector((double)f7 * 5.0D, (double)f6 * 5.0D, (double)f8 * 5.0D);
RayTraceResult raytraceresult = worldIn.rayTraceBlocks(vec3d, vec3d1, true);
if (raytraceresult == null)
{
return new ActionResult<ItemStack>(EnumActionResult.PASS, itemstack);
}
else
{
Vec3d vec3d2 = playerIn.getLook(1.0F);
boolean flag = false;
List<Entity> list = worldIn.getEntitiesWithinAABBExcludingEntity(playerIn, playerIn.getEntityBoundingBox().expand(vec3d2.x * 5.0D, vec3d2.y * 5.0D, vec3d2.z * 5.0D).grow(1.0D));
for (int i = 0; i < list.size(); ++i)
{
Entity entity = list.get(i);
if (entity.canBeCollidedWith())
{
AxisAlignedBB axisalignedbb = entity.getEntityBoundingBox().grow((double)entity.getCollisionBorderSize());
if (axisalignedbb.contains(vec3d))
{
flag = true;
}
}
}
if (flag)
{
return new ActionResult<ItemStack>(EnumActionResult.PASS, itemstack);
}
else if (raytraceresult.typeOfHit != RayTraceResult.Type.BLOCK)
{
return new ActionResult<ItemStack>(EnumActionResult.PASS, itemstack);
}
else
{
Block block = worldIn.getBlockState(raytraceresult.getBlockPos()).getBlock();
boolean flag1 = block == Blocks.WATER || block == Blocks.FLOWING_WATER;
EntityBOPBoat entitybopboat = new EntityBOPBoat(worldIn, raytraceresult.hitVec.x, flag1 ? raytraceresult.hitVec.y - 0.12D : raytraceresult.hitVec.y, raytraceresult.hitVec.z);
entitybopboat.setBoatType(this.type);
entitybopboat.rotationYaw = playerIn.rotationYaw;
if (!worldIn.getCollisionBoxes(entitybopboat, entitybopboat.getEntityBoundingBox().grow(-0.1D)).isEmpty())
{
return new ActionResult<ItemStack>(EnumActionResult.FAIL, itemstack);
}
else
{
if (!worldIn.isRemote)
{
worldIn.spawnEntity(entitybopboat);
}
if (!playerIn.capabilities.isCreativeMode)
{
itemstack.shrink(1);
}
playerIn.addStat(StatList.getObjectUseStats(this));
return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, itemstack);
}
}
}
}
}

View File

@ -25,6 +25,8 @@ import biomesoplenty.common.entities.EntityPixie;
import biomesoplenty.common.entities.EntityWasp;
import biomesoplenty.common.entities.RenderPixie;
import biomesoplenty.common.entities.RenderWasp;
import biomesoplenty.common.entities.item.EntityBOPBoat;
import biomesoplenty.common.entities.item.RenderBOPBoat;
import biomesoplenty.common.entities.projectiles.EntityMudball;
import biomesoplenty.common.entities.projectiles.RenderMudball;
import biomesoplenty.common.fluids.BloodFluid;
@ -88,6 +90,7 @@ public class ClientProxy extends CommonProxy
registerEntityRenderer(EntityWasp.class, RenderWasp.class);
registerEntityRenderer(EntityPixie.class, RenderPixie.class);
registerEntityRenderer(EntityMudball.class, RenderMudball.class);
registerEntityRenderer(EntityBOPBoat.class, RenderBOPBoat.class);
replaceForgeResources();
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_cherry"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_cherry"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_ebony"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_ebony"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_ethereal"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_ethereal"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_eucalyptus"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_eucalyptus"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_fir"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_fir"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_hellbark"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_hellbark"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_jacaranda"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_jacaranda"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_magic"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_magic"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_mahogany"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_mahogany"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_mangrove"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_mangrove"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_palm"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_palm"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_pine"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_pine"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_redwood"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_redwood"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_sacred_oak"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_sacred_oak"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_umbran"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_umbran"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,27 @@
{
"rewards": {
"recipes": [
"biomesoplenty:boat_willow"
]
},
"criteria": {
"entered_water": {
"trigger": "minecraft:enter_block",
"conditions": {
"block": "minecraft:water"
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:boat_willow"
}
}
},
"requirements": [
[
"entered_water",
"has_the_recipe"
]
]
}

View File

@ -66,6 +66,22 @@ 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.boat_cherry.name=Cherry Boat
item.boat_ebony.name=Ebony Boat
item.boat_ethereal.name=Ethereal Boat
item.boat_eucalyptus.name=Eucalyptus Boat
item.boat_fir.name=Fir Boat
item.boat_hellbark.name=Hellbark Boat
item.boat_jacaranda.name=Jacaranda Boat
item.boat_magic.name=Magic Boat
item.boat_mahogany.name=Mahogany Boat
item.boat_mangrove.name=Mangrove Boat
item.boat_palm.name=Palm Boat
item.boat_pine.name=Pine Boat
item.boat_redwood.name=Redwood Boat
item.boat_sacred_oak.name=Sacred Oak Boat
item.boat_umbran.name=Umbran Boat
item.boat_willow.name=Willow Boat
item.brown_dye.name=Brown Dye
item.cherry_door.name=Cherry Door
item.crystal_shard.name=Celestial Crystal Shard
@ -423,4 +439,5 @@ tile.crystal.name=Celestial Crystal
entity.mudball.name=Mudball
entity.pixie.name=Pixie
entity.wasp.name=Nether Wasp
entity.wasp.name=Nether Wasp
entity.bop_boat.name=Boat

View File

@ -1,48 +1,26 @@
#Translate by Lasagnoa
#version 1.11.2-6.0.2.2168-universal
# Translate by koh
# Based on version 1.12.2-7.0.1.2320-universal
achievement.obtain_flowers=お花屋さん
achievement.obtain_flowers.desc=花を見つけよう
achievement.obtain_berry=ベリーグット
achievement.obtain_berry.desc=ベリーの木からベリーを採取
achievement.obtain_coral=素晴らしいサンゴ
achievement.obtain_coral.desc=深海に潜り輝くサンゴを採取
achievement.obtain_miners_delight=生命は必ず道を見つける
achievement.obtain_miners_delight.desc=洞窟内で鉱夫の癒やし花を採取
achievement.eat_shroom_powder=薬物中毒
achievement.eat_shroom_powder.desc=マッシュルームパウダーを摂取する
achievement.obtain_turnip=カブ式市場
achievement.obtain_turnip.desc=カブを採取
achievement.grow_sacred_oak=ユグドラシル
achievement.grow_sacred_oak.desc=神聖なオークの苗木を植える
achievement.craft_flax_string=フラメンコの虜
achievement.craft_flax_string.desc=亜麻から麻紐を作成
achievement.craft_muddy_pickaxe=かちかち山
achievement.craft_muddy_pickaxe.desc=泥状のツルハシを作成
achievement.obtain_thorn=眠れる森の美女
achievement.obtain_thorn.desc=いばらを採取
achievement.obtain_deathbloom=私は死ぬでしょう
achievement.obtain_deathbloom.desc=死の新芽を採取
achievement.obtain_honeycomb=くまのプーさん
achievement.obtain_honeycomb.desc=蜂の巣からハチミツを採取
achievement.obtain_soul=魂の解放
achievement.obtain_soul.desc=霊魂を手に入れる
achievement.obtain_wilted_lily=神様の手助け
achievement.obtain_wilted_lily.desc=萎れたスイレンをお世話する
achievement.obtain_pixie_dust=それを摂取してはなりません
achievement.obtain_pixie_dust.desc=ピクシーを殺しピクシーの粉を取得
achievement.obtain_celestial_crystal=これでおわり
achievement.obtain_celestial_crystal.desc=ジエンドで天界のクリスタルを採取する
achievement.craft_terrestrial_artifact=地上最強
achievement.craft_terrestrial_artifact.desc=追加された8種類の鉱石を組み合わせる
achievement.craft_ambrosia=神のワイン
achievement.craft_ambrosia.desc=砂糖,水,ハチミツ,果実,根っこ,昆布,霊液,ピクシーの粉,天界のクリスタル
achievement.explore_all_biomes=ワンダラー
achievement.explore_all_biomes.desc=追加されたバイオームを含めすべてのバイオームを発見する
achievement.use_enderporter=おうちにかえろう
achievement.use_enderporter.desc=エンダーポーターを使ってホームに戻る
achievement.use_biome_finder=捜索隊
achievement.use_biome_finder.desc=バイオームファインダーを使用してバイオームを発見する
advancements.biomesoplenty.root.title=Biomes O' Plenty
advancements.biomesoplenty.root.description=探検家の夢...
advancements.biomesoplenty.sacred_oak_sapling.title=ユグドラシル
advancements.biomesoplenty.sacred_oak_sapling.description=神聖なオークの苗木を植える
advancements.biomesoplenty.yin_and_yang.title=陰と陽
advancements.biomesoplenty.yin_and_yang.description=Ominous Woods に光る花を植え、 Mystic Grove に死の新芽を植える
advancements.biomesoplenty.miners_delight.title=人生は道を見つける
advancements.biomesoplenty.miners_delight.description=深い洞窟の奥で鉱夫の癒やし花を見つける
advancements.biomesoplenty.harvest_turnip.title=カブ式市場
advancements.biomesoplenty.harvest_turnip.description=カブを収穫する
advancements.biomesoplenty.flesh_and_blood.title=血肉
advancements.biomesoplenty.flesh_and_blood.description=肉のかたまりを入手する
advancements.biomesoplenty.honey_hell.title=ネザーの蜂蜜
advancements.biomesoplenty.honey_hell.description=ネザーのハチの巣から蜂蜜を手に入れる
advancements.biomesoplenty.terrestrial_artifact.title=力を合わせて
advancements.biomesoplenty.terrestrial_artifact.description=Biomes O' Plenty で追加された8種類の宝石を組み合わせる
advancements.biomesoplenty.craft_biome_finder.title=捜索隊
advancements.biomesoplenty.craft_biome_finder.description=バイオームファインダーを作成する
advancements.biomesoplenty.all_biomes.title=ワンダラー
advancements.biomesoplenty.all_biomes.description=Biomes O' Plenty で追加された全てのバイオームを見つける
biome_finder.searching=%sを検索中…
biome_finder.found=%sが見つかりました
@ -53,7 +31,7 @@ config.category.guiSettings.title=GUI設定
config.category.textureSettings.title=テクスチャ設定
config.category.trailSettings.title=足跡設定
config.category.convenienceSettings.tooltip=花を採取するためにははさみが必要です
config.category.guiSettings.tooltip= Biomes O' Plenty を有効化してワールドを生成します
config.category.guiSettings.tooltip=Biomes O' Plenty を有効化してワールドを生成します
config.category.textureSettings.tooltip=Forge bucketのテクスチャーを代わりに使用します
config.category.trailSettings.tooltip=足跡の透明度
@ -69,7 +47,7 @@ commands.biomesoplenty.stats.entities=エンティティ: %s
commands.biomesoplenty.stats.biomes=バイオーム: %s
commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [radius] <include|exclude> [block] [metadata]
container.flower_basket=花の冠
container.flower_basket=フラワーバスケット
generator.BIOMESOP=Biomes O' Plenty
generator.BIOMESOP.info=注意: Biomes O' Plenty 1.8 は発展途上中です
@ -95,18 +73,12 @@ item.brown_dye.name=ブラウンの染料
item.cherry_door.name=桜のドア
item.crystal_shard.name=天界のクリスタルの欠片
item.terrestrial_artifact.name=地上のアーティファクト
item.flax_string.name=麻紐
item.diamond_scythe.name=ダイヤの鎌
item.dull_flower_band.name=単調な花の冠
item.ebony_door.name=エボニーのドア
item.enderporter.name=エンダーポーター
item.ethereal_door.name=エーテルのドア
item.eucalyptus_door.name=ユーカリのドア
item.exotic_flower_band.name=エキゾチックな花の冠
item.filled_honeycomb.name=詰まっているハチの巣の欠片
item.fir_door.name=モミのドア
item.fleshchunk.name=肉のかたまり
item.flippers.name=足ひれ
item.flower_basket.name=フラワーバスケット
item.gem_amber.name=琥珀
item.gem_amethyst.name=アメジスト
@ -117,32 +89,17 @@ item.gem_sapphire.name=サファイア
item.gem_tanzanite.name=タンザナイト
item.gem_topaz.name=トパーズ
item.green_dye.name=緑色の染料
item.gold_scythe.name=金の鎌
item.hellbark_door.name=ヘルバークのドア
item.honeycomb.name=ハチの巣の欠片
item.ichor.name=霊液
item.iron_scythe.name=鉄の鎌
item.jacaranda_door.name=ジャカランダのドア
item.jar_empty.name=空き瓶
item.jar_filled_honey.name=蜂蜜が入った瓶
item.jar_filled_pixie.name=ピクシーが入った瓶
item.jar_filled_butterfly.name=蝶が入った瓶
item.lush_flower_band.name=緑豊かな花の冠
item.magic_door.name=魔法の木のドア
item.mahogany_door.name=マホガニーのドア
item.mangrove_door.name=マングローブのドア
item.mudball.name=泥だんご
item.mud_axe.name=泥の斧
item.mud_boots.name=泥のブーツ
item.mud_brick.name=泥レンガ
item.mud_chestplate.name=泥のチェストプレート
item.mud_helmet.name=泥のヘルメット
item.mud_hoe.name=泥のクワ
item.mud_leggings.name=泥のレギンス
item.mud_pickaxe.name=泥のツルハシ
item.mud_scythe.name=泥の鎌
item.mud_shovel.name=泥のシャベル
item.mud_sword.name=泥の剣
item.palm_door.name=ヤシのドア
item.persimmon.name=柿
item.peach.name=桃
@ -150,9 +107,6 @@ item.pear.name=梨
item.pinecone.name=松ぼっくり
item.pine_door.name=松のドア
item.pixie_dust.name=ピクシーの粉
item.plain_flower_band.name=質素な花の冠
item.record_corruption.name=レコード?
item.record.corruption.desc=
item.record_wanderer.name=レコード
item.record.wanderer.desc=Tim Rurkowski - Wanderer
item.redwood_door.name=セコイアのドア
@ -162,19 +116,11 @@ item.saladfruit.name=フルーツサラダ
item.saladveggie.name=野菜サラダ
item.saladshroom.name=マッシュルームサラダ
item.shroompowder.name=マッシュルームパウダー
item.soul.name=霊魂
item.spawn_egg_pixie.name=スポーン ピクシー
item.spawn_egg_wasp.name=スポーン スズメバチ
item.spawn_egg_snail.name=スポーン カタツムリ
item.spawn_egg_butterfly.name=スポーン 蝶
item.stone_scythe.name=石の鎌
item.turnip.name=カブ
item.turnip_seeds.name=カブの種
item.umbran_door.name=ウンブランのドア
item.wading_boots.name=ぬかるみ用ブーツ
item.white_dye.name=白色の染料
item.willow_door.name=柳のドア
item.wood_scythe.name=木の鎌
tile.ash_block.name=火山灰ブロック
tile.bamboo.name=竹
@ -217,7 +163,7 @@ tile.fir_fence.name=モミのフェンス
tile.fir_fence_gate.name=モミのフェンスゲート
tile.fir_wood_slab.name=モミの木材ハーフブロック
tile.fir_stairs.name=モミの階段
tile.flesh.name=肉のかたまり
tile.flesh.name=肉ブロック
tile.flower_0.clover.name=クローバー
tile.flower_0.swampflower.name=沼の花
tile.flower_0.deathbloom.name=死の新芽
@ -265,6 +211,7 @@ tile.grass.sandy_grass_block.name=砂質草ブロック
tile.grass.silty_grass_block.name=泥質草ブロック
tile.grass.origin_grass_block.name=オリジン草ブロック
tile.grass.overgrown_netherrack.name=成長したネザーラック
tile.grass.mycelial_netherrack.name=菌糸の生えたネザーラック
tile.grass_path.grass_loamy_path.name=壤質草の道
tile.grass_path.grass_sandy_path.name=砂質草の道
tile.grass_path.grass_silty_path.name=泥質草の道
@ -397,7 +344,7 @@ tile.plant_1.wildrice.name=稲
tile.plant_1.cattail.name=ガマ
tile.plant_1.rivercane.name=河サトウキビ
tile.plant_1.tinycactus.name=小さなサボテン
tile.plant_1.witherwart.name=枯れたネザーウォート
tile.plant_1.devilweed.name=デビルウィード
tile.plant_1.reed.name=ヨシ
tile.plant_1.root.name=根っこ
tile.plant_1.rafflesia.name=ラフレシア
@ -434,12 +381,6 @@ tile.sapling_2.mahogany_sapling.name=マホガニーの苗木
tile.sapling_2.ebony_sapling.name=エボニーの苗木
tile.sapling_2.eucalyptus_sapling.name=ユーカリの苗木
tile.seaweed.kelp.name=昆布
tile.stone.limestone.name=石灰岩
tile.stone.polished_limestone.name=磨かれた石灰岩
tile.stone.siltstone.name=泥岩
tile.stone.polished_siltstone.name=磨かれた泥岩
tile.stone.shale.name=頁岩
tile.stone.polished_shale.name=磨かれた頁岩
tile.stone_formations.stone_formation.name=岩石層
tile.terrarium.terrarium_fern.name=シダ栽培槽
tile.terrarium.terrarium_mushroom.name=キノコ栽培槽
@ -467,17 +408,22 @@ tile.waterlily.lily_medium.name=育ってきたスイレン
tile.waterlily.lily_small.name=小さいスイレン
tile.waterlily.lily_tiny.name=とても小さいスイレン
tile.waterlily.lily_flower.name=スイレンの花
tile.white_sand.name=白い砂
tile.white_sandstone.white_sandstone.name=白い砂岩
tile.white_sandstone.chiseled_white_sandstone.name=模様入りの白い砂岩
tile.white_sandstone.smooth_white_sandstone.name=滑らかな白い砂岩
tile.white_sandstone_slab.name=白い砂岩ハーフブロック
tile.white_sandstone_stairs.name=白い砂岩の階段
tile.willow_fence.name=柳のフェンス
tile.willow_fence_gate.name=柳のフェンスゲート
tile.willow_wood_slab.name=柳の木材ハーフブロック
tile.willow_stairs.name=柳の階段
tile.willow_vine.name=柳のつる
tile.hard_ice.name=固い氷
tile.dried_sand.name=乾燥砂
tile.crag_rock.name=ごつごつした岩
tile.mud_brick.name=泥レンガ
tile.crystal.name=天界のクリスタル
entity.BiomesOPlenty.butterfly.name=蝶
entity.BiomesOPlenty.pixie.name=ピクシー
entity.BiomesOPlenty.snail.name=カタツムリ
entity.BiomesOPlenty.wasp.name=スズメバチ
entity.mudball.name=泥だんご
entity.pixie.name=ピクシー
entity.wasp.name=ネザースズメバチ

View File

@ -21,7 +21,7 @@ advancements.biomesoplenty.all_biomes.description=探索完超多生物群系的
biome_finder.searching=寻找 %s
biome_finder.found=找到 %s
biome_finder.not_found=抱歉无法找到,可能是 %s 距离太遥远!
biome_finder.not_found=抱歉无法找到,可能是 %s 距离太遥远!
config.category.convenienceSettings.title=便捷设置
config.category.guiSettings.title=GUI设置
@ -66,6 +66,22 @@ item.biome_essence.name=生物群系精华
item.biome_finder.name=生物群系雷达
item.black_dye.name=黑色染料
item.blue_dye.name=蓝色染料
item.boat_cherry.name=樱花木船
item.boat_ebony.name=檀木船
item.boat_ethereal.name=天域木船
item.boat_eucalyptus.name=桉木船
item.boat_fir.name=杉木船
item.boat_hellbark.name=地狱皮木船
item.boat_jacaranda.name=蓝花楹木船
item.boat_magic.name=魔法木船
item.boat_mahogany.name=桃花心木船
item.boat_mangrove.name=红树木船
item.boat_palm.name=棕榈木船
item.boat_pine.name=松木船
item.boat_redwood.name=红木船
item.boat_sacred_oak.name=神圣橡木船
item.boat_umbran.name=暗影木船
item.boat_willow.name=柳木船
item.brown_dye.name=棕色染料
item.cherry_door.name=樱花树门
item.crystal_shard.name=仙域水晶碎片
@ -424,3 +440,4 @@ tile.crystal.name=仙域水晶
entity.mudball.name=泥巴球
entity.pixie.name=精灵
entity.wasp.name=下界黄蜂
entity.bop_boat.name=船

View File

@ -1,45 +1,23 @@
achievement.obtain_flowers=Flower Child
achievement.obtain_flowers.desc=找到一朵花!
achievement.obtain_berry=Berry Good
achievement.obtain_berry.desc=從莓果叢採一棵莓果
achievement.obtain_coral=Totally Coral!
achievement.obtain_coral.desc=深潛尋找珊瑚
achievement.obtain_miners_delight=Life Finds a Way
achievement.obtain_miners_delight.desc=在洞窟中找到礦工之花
achievement.eat_shroom_powder=Trippin'
achievement.eat_shroom_powder.desc=攝取一些魔法菇粉
achievement.obtain_turnip=Stalk Market
achievement.obtain_turnip.desc=採收蕪菁
achievement.grow_sacred_oak=Yggdrasil
achievement.grow_sacred_oak.desc=種植聖橡樹苗
achievement.craft_flax_string=Flaxen Fun
achievement.craft_flax_string.desc=將亞麻製成麻線
achievement.craft_muddy_pickaxe=Getting a Downgrade
achievement.craft_muddy_pickaxe.desc=製作一把…泥鎬…?
achievement.obtain_thorn=Rather Thorny
achievement.obtain_thorn.desc=撿取荊棘!
achievement.obtain_deathbloom=I am Become Death
achievement.obtain_deathbloom.desc=獲取致命的死亡之花
achievement.obtain_honeycomb=Honeycomb's Big
achievement.obtain_honeycomb.desc=自地獄黃蜂窩偷取填滿的蜂巢
achievement.obtain_soul=Soul Searching
achievement.obtain_soul.desc=取回失落之魂
achievement.obtain_wilted_lily=Godsend
achievement.obtain_wilted_lily.desc=拯救一個枯萎的百合花
achievement.obtain_pixie_dust=Don't Breathe This
achievement.obtain_pixie_dust.desc=殺死小精靈以取得其魔法塵
achievement.obtain_celestial_crystal=Far Out...
achievement.obtain_celestial_crystal.desc=在終界採取星晶
achievement.craft_terrestrial_artifact=Your Powers Combined
achievement.craft_terrestrial_artifact.desc=融合八種生態系的特有寶石
achievement.craft_ambrosia=Nectar of the Gods
achievement.craft_ambrosia.desc=糖、水、蜂蜜、莓果、根、海帶、膿血、小精靈粉塵、以及星晶!
achievement.explore_all_biomes=The Wanderer
achievement.explore_all_biomes.desc=發現所有生態系
achievement.use_enderporter=Gone Home
achievement.use_enderporter.desc=從終界傳送器回到旅行的原點
achievement.use_biome_finder=Search Party
achievement.use_biome_finder.desc=使用生態系雷達定位一個生態系
advancements.biomesoplenty.root.title=多生態系
advancements.biomesoplenty.root.description=探險家之夢…
advancements.biomesoplenty.sacred_oak_sapling.title=聖橡木
advancements.biomesoplenty.sacred_oak_sapling.description=種植一棵大棵聖橡木。
advancements.biomesoplenty.yin_and_yang.title=陰陽
advancements.biomesoplenty.yin_and_yang.description=在不祥之森種植螢光花,在神秘樹林種植死亡之花。
advancements.biomesoplenty.miners_delight.title=生命會自己找到出路
advancements.biomesoplenty.miners_delight.description=在洞窟中找到礦工之花。
advancements.biomesoplenty.harvest_turnip.title=根莖市場
advancements.biomesoplenty.harvest_turnip.description=採收蕪菁。
advancements.biomesoplenty.flesh_and_blood.title=有血有肉
advancements.biomesoplenty.flesh_and_blood.description=在地獄的內藏堆裡取得肉。
advancements.biomesoplenty.honey_hell.title=地獄之蜜
advancements.biomesoplenty.honey_hell.description=從地獄的蜂巢裡偷一些蜂蜜。
advancements.biomesoplenty.terrestrial_artifact.title=請賜於我萬能的神力
advancements.biomesoplenty.terrestrial_artifact.description=獲得每種生態系特有的寶石。
advancements.biomesoplenty.craft_biome_finder.title=探索派對
advancements.biomesoplenty.craft_biome_finder.description=製作生態系雷達來為你導航。
advancements.biomesoplenty.all_biomes.title=探險家
advancements.biomesoplenty.all_biomes.description=發現所有Biomes O' Plenty的生態系
biome_finder.searching=正在尋找%s…
biome_finder.found=找到了%s
@ -54,24 +32,24 @@ config.category.guiSettings.tooltip=生成世界時以 Biomes O' Plenty 世界
config.category.textureSettings.tooltip=覆寫 Forge bucket 材質,使用我們的版本!(It's nicer!)
config.category.trailSettings.tooltip=足跡能見度設定
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]
commands.biomesoplenty.usage=/biomesoplenty <tpbiome|biomename> [生態系ID]
commands.biomesoplenty.biomename.usage=/biomesoplenty biomename [生態系ID]
commands.biomesoplenty.biomename.success=生態系ID%s巳被綁定為: %s
commands.biomesoplenty.tpbiome.usage=/biomesoplenty tpbiome [生態系ID]
commands.biomesoplenty.tpbiome.success=玩家%s傳送到生態系: %s,座標(%s, %s, %s)
commands.biomesoplenty.tpbiome.error=找不到生態系: %s!
commands.biomesoplenty.stats.blocks=方塊: %s
commands.biomesoplenty.stats.items=物品: %s
commands.biomesoplenty.stats.entities=實體: %s
commands.biomesoplenty.stats.biomes=生態系: %s
commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [範圍] <include|exclude> [方塊ID] [方塊屬性]
container.flower_basket=花籃
generator.BIOMESOP=Biomes O' Plenty
generator.BIOMESOP.info=Notice: Biomes O' Plenty 1.8 is in a very early state
generator.BIOMESOP=多生態系
generator.BIOMESOP.info=注意: 多生態系1.8還在非常早期的開發皆段。
itemGroup.tabBiomesOPlenty=Biomes O' Plenty
itemGroup.tabBiomesOPlenty=多生態系
fluid.blood=血
fluid.honey=蜂蜜
@ -88,22 +66,32 @@ item.biome_essence.name=生態系精華
item.biome_finder.name=生態系雷達
item.black_dye.name=黑色染料
item.blue_dye.name=藍色染料
item.boat_cherry.name=櫻木船
item.boat_ebony.name=檀木船
item.boat_ethereal.name=空靈木船
item.boat_eucalyptus.name=尤加利木船
item.boat_fir.name=冷杉木船
item.boat_hellbark.name=獄皮木船
item.boat_jacaranda.name=藍花楹木船
item.boat_magic.name=魔木船
item.boat_mahogany.name=桃花心木船
item.boat_mangrove.name=紅樹林木船
item.boat_palm.name=棕櫚木船
item.boat_pine.name=松木船
item.boat_redwood.name=紅木船
item.boat_sacred_oak.name=聖像樹木船
item.boat_umbran.name=暗影木船
item.boat_willow.name=柳木船
item.brown_dye.name=棕色染料
item.cherry_door.name=櫻木門
item.crystal_shard.name=星晶碎片
item.terrestrial_artifact.name=天地寶晶
item.flax_string.name=麻線
item.diamond_scythe.name=鑽石鐮
item.dull_flower_band.name=單調的花環
item.ebony_door.name=檀木門
item.enderporter.name=終界傳送器
item.ethereal_door.name=空靈木門
item.eucalyptus_door.name=尤加利木門
item.exotic_flower_band.name=異國花環
item.filled_honeycomb.name=填滿的蜂巢
item.fir_door.name=冷杉木門
item.fleshchunk.name=肉片
item.flippers.name=蛙鞋
item.flower_basket.name=花籃
item.gem_amber.name=琥珀
item.gem_amethyst.name=終界紫晶
@ -114,42 +102,24 @@ item.gem_sapphire.name=藍寶石
item.gem_tanzanite.name=坦桑石
item.gem_topaz.name=黃玉
item.green_dye.name=綠色染料
item.gold_scythe.name=黃金鐮
item.hellbark_door.name=獄皮木門
item.honeycomb.name=空的蜂巢
item.ichor.name=膿血
item.iron_scythe.name=鐵鐮
item.jacaranda_door.name=藍花楹門
item.jar_empty.name=空罐
item.jar_filled_honey.name=蜂蜜罐
item.jar_filled_pixie.name=小精靈罐
item.jar_filled_butterfly.name=蝴蝶罐
item.lush_flower_band.name=茂盛的花環
item.magic_door.name=魔木門
item.mahogany_door.name=桃花心木門
item.mangrove_door.name=紅樹林木門
item.mudball.name=泥巴球
item.mud_axe.name=泥斧
item.mud_boots.name=泥靴
item.mud_brick.name=泥磚
item.mud_chestplate.name=泥胸甲
item.mud_helmet.name=泥頭盔
item.mud_hoe.name=泥鋤
item.mud_leggings.name=泥護腿
item.mud_pickaxe.name=泥鎬
item.mud_scythe.name=泥鐮
item.mud_shovel.name=泥鏟
item.mud_sword.name=泥劍
item.palm_door.name=棕梠門
item.palm_door.name=棕櫚門
item.persimmon.name=柿子
item.peach.name=桃子
item.pear.name=梨子
item.pinecone.name=松果
item.pine_door.name=松木門
item.pixie_dust.name=小精靈粉塵
item.plain_flower_band.name=樸素花環
item.record_corruption.name=唱片
item.record.corruption.desc=
item.record_wanderer.name=唱片
item.record.wanderer.desc=Tim Rurkowski - Wanderer
item.redwood_door.name=紅木門
@ -159,19 +129,11 @@ item.saladfruit.name=水果沙拉
item.saladveggie.name=素食沙拉
item.saladshroom.name=蘑菇沙拉
item.shroompowder.name=蘑菇粉末
item.soul.name=靈魂
item.spawn_egg_pixie.name=生成 小精靈
item.spawn_egg_wasp.name=生成 黃蜂
item.spawn_egg_snail.name=生成 蝸牛
item.spawn_egg_butterfly.name=生成 蝴蝶
item.stone_scythe.name=石鐮
item.turnip.name=蕪菁
item.turnip_seeds.name=蕪菁種子
item.umbran_door.name=暗影木門
item.wading_boots.name=涉水靴
item.white_dye.name=白染料
item.willow_door.name=柳木門
item.wood_scythe.name=木鐮
tile.ash_block.name=灰燼方塊
tile.bamboo.name=竹
@ -261,7 +223,8 @@ tile.grass.loamy_grass_block.name=壤質草地
tile.grass.sandy_grass_block.name=砂質草地
tile.grass.silty_grass_block.name=淤泥草地
tile.grass.origin_grass_block.name=源草地
tile.grass.overgrown_netherrack.name=叢生地域石
tile.grass.overgrown_netherrack.name=叢生地獄石
tile.grass.mycelial_netherrack.name=菌絲地獄石
tile.grass_path.grass_loamy_path.name=壤質草徑
tile.grass_path.grass_sandy_path.name=沙質草徑
tile.grass_path.grass_silty_path.name=淤泥草徑
@ -394,7 +357,7 @@ tile.plant_1.wildrice.name=野稻
tile.plant_1.cattail.name=香蒲
tile.plant_1.rivercane.name=箭竹
tile.plant_1.tinycactus.name=迷你仙人掌
tile.plant_1.witherwart.name=凋萎疣
tile.plant_1.devilweed.name=惡魔草
tile.plant_1.reed.name=蘆葦
tile.plant_1.root.name=根
tile.plant_1.rafflesia.name=霸王花
@ -431,12 +394,6 @@ tile.sapling_2.mahogany_sapling.name=桃花心木樹苗
tile.sapling_2.ebony_sapling.name=檀木樹苗
tile.sapling_2.eucalyptus_sapling.name=尤加利樹苗
tile.seaweed.kelp.name=海帶
tile.stone.limestone.name=石灰岩半磚
tile.stone.polished_limestone.name=平滑石灰岩
tile.stone.siltstone.name=泥岩
tile.stone.polished_siltstone.name=平滑泥岩
tile.stone.shale.name=頁岩
tile.stone.polished_shale.name=平滑頁岩
tile.stone_formations.stone_formation.name=Rock Formation
tile.terrarium.terrarium_fern.name=蕨培養罐
tile.terrarium.terrarium_mushroom.name=蘑菇培養罐
@ -449,8 +406,8 @@ tile.terrarium.terrarium_sapling.name=樹苗培養罐
tile.terrarium.terrarium_glowshroom.name=螢光菇培養罐
tile.terrarium.terrarium_dead.name=死亡培養罐
tile.terrarium.terrarium_mystic.name=神秘培養罐
tile.terrarium.terrarium_ominous.name=不培養罐
tile.terrarium.terrarium_wasteland.name=荒蕪培養罐
tile.terrarium.terrarium_ominous.name=不培養罐
tile.terrarium.terrarium_wasteland.name=廢土培養罐
tile.terrarium.terrarium_origin.name=源培養罐
tile.terrarium.terrarium_nether.name=地獄培養罐
tile.terrarium.terrarium_ender.name=終界培養罐
@ -464,17 +421,23 @@ tile.waterlily.lily_medium.name=中荷葉
tile.waterlily.lily_small.name=小荷葉
tile.waterlily.lily_tiny.name=迷你荷葉
tile.waterlily.lily_flower.name=荷花
tile.white_sand.name=白沙
tile.white_sandstone.white_sandstone.name=白沙石
tile.white_sandstone.chiseled_white_sandstone.name=雕花白沙石
tile.white_sandstone.smooth_white_sandstone.name=平滑白沙石
tile.white_sandstone_slab.name=白沙石半磚
tile.white_sandstone_stairs.name=白沙石階梯
tile.willow_fence.name=柳木柵欄
tile.willow_fence_gate.name=柳木柵欄門
tile.willow_wood_slab.name=柳木半磚
tile.willow_stairs.name=柳木樓梯
tile.willow_vine.name=柳木藤
tile.hard_ice.name=硬質冰
tile.dried_sand.name=乾沙
tile.crag_rock.name=峭岩
tile.mud_brick.name=泥磚
tile.crystal.name=星晶
entity.BiomesOPlenty.butterfly.name=蝴蝶
entity.BiomesOPlenty.pixie.name=小精靈
entity.BiomesOPlenty.snail.name=蝸牛
entity.BiomesOPlenty.wasp.name=大黃蜂
entity.mudball.name=泥巴球
entity.pixie.name=小精靈
entity.wasp.name=大黃蜂
entity.bop_boat.name=船

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_cherry"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_ebony"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_ethereal"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_eucalyptus"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_fir"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_hellbark"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_jacaranda"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_magic"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_mahogany"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_mangrove"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_palm"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_pine"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_redwood"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_sacred_oak"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_umbran"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/boat_willow"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 1
}
},
"result": {
"item": "biomesoplenty:boat_cherry"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 14
}
},
"result": {
"item": "biomesoplenty:boat_ebony"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 4
}
},
"result": {
"item": "biomesoplenty:boat_ethereal"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 15
}
},
"result": {
"item": "biomesoplenty:boat_eucalyptus"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 3
}
},
"result": {
"item": "biomesoplenty:boat_fir"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 11
}
},
"result": {
"item": "biomesoplenty:boat_hellbark"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 12
}
},
"result": {
"item": "biomesoplenty:boat_jacaranda"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 5
}
},
"result": {
"item": "biomesoplenty:boat_magic"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 13
}
},
"result": {
"item": "biomesoplenty:boat_mahogany"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 6
}
},
"result": {
"item": "biomesoplenty:boat_mangrove"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 7
}
},
"result": {
"item": "biomesoplenty:boat_palm"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 10
}
},
"result": {
"item": "biomesoplenty:boat_pine"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 8
}
},
"result": {
"item": "biomesoplenty:boat_redwood"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 0
}
},
"result": {
"item": "biomesoplenty:boat_sacred_oak"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 2
}
},
"result": {
"item": "biomesoplenty:boat_umbran"
}
}

View File

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"group": "boat",
"pattern": [
"# #",
"###"
],
"key": {
"#": {
"item": "biomesoplenty:planks_0",
"data": 9
}
},
"result": {
"item": "biomesoplenty:boat_willow"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 496 B

After

Width:  |  Height:  |  Size: 493 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

Before

Width:  |  Height:  |  Size: 364 B

After

Width:  |  Height:  |  Size: 364 B

Some files were not shown because too many files have changed in this diff Show More