Release 1.7.0 (#91)
* Version 1.6.1 * Version 1.6.1 * Added Blue Orchids spawning in the Swamp biome * Version 1.7.0 1.18.1 update * German translation (#86) * Translate de.yml via GitLocalize * Translate de.yml via GitLocalize Co-authored-by: mt-gitlocalize <mt@gitlocalize.com> Co-authored-by: xXjojojXx <sven.f92@gmx.de> * Translate hu.yml via GitLocalize (#87) Co-authored-by: driverdakid <tamascsiszar99@icloud.com> * Translate ja.yml via GitLocalize (#88) Co-authored-by: tastybento <tastybento@wasteofplastic.com> * Translate zh-CN.yml via GitLocalize (#89) Co-authored-by: tastybento <tastybento@wasteofplastic.com> * Code refactoring around BoundingBox * Fix test. * Remove saving of greenhouses on exit. https://github.com/BentoBoxWorld/Greenhouses/issues/85 * Add Pladdon Class (#90) * Add Pladdon Class Add Greenhouses Pladdon class. * Add Spigot Annotations API * Fix test. Avoid ambiguity. * Add natural spawn protection listener. Fixes #84 * Update gitignore for Eclipse * Remove some code smells. Co-authored-by: tastybento <tastybento@wasteofplastic.com> Co-authored-by: Florian CUNY <poslovitch@bentobox.world> Co-authored-by: gitlocalize-app[bot] <55277160+gitlocalize-app[bot]@users.noreply.github.com> Co-authored-by: mt-gitlocalize <mt@gitlocalize.com> Co-authored-by: xXjojojXx <sven.f92@gmx.de> Co-authored-by: driverdakid <tamascsiszar99@icloud.com>
This commit is contained in:
parent
4aec983c81
commit
a96d4d4c67
|
@ -0,0 +1,3 @@
|
||||||
|
/target/
|
||||||
|
/.classpath
|
||||||
|
/.project
|
14
pom.xml
14
pom.xml
|
@ -46,12 +46,12 @@
|
||||||
<java.version>16</java.version>
|
<java.version>16</java.version>
|
||||||
<powermock.version>2.0.9</powermock.version>
|
<powermock.version>2.0.9</powermock.version>
|
||||||
<!-- More visible way how to change dependency versions -->
|
<!-- More visible way how to change dependency versions -->
|
||||||
<spigot.version>1.17.1-R0.1-SNAPSHOT</spigot.version>
|
<spigot.version>1.18.1-R0.1-SNAPSHOT</spigot.version>
|
||||||
<bentobox.version>1.16.0</bentobox.version>
|
<bentobox.version>1.18.1</bentobox.version>
|
||||||
<!-- Revision variable removes warning about dynamic version -->
|
<!-- Revision variable removes warning about dynamic version -->
|
||||||
<revision>${build.version}-SNAPSHOT</revision>
|
<revision>${build.version}-SNAPSHOT</revision>
|
||||||
<!-- This allows to change between versions and snapshots. -->
|
<!-- This allows to change between versions and snapshots. -->
|
||||||
<build.version>1.6.0</build.version>
|
<build.version>1.7.0</build.version>
|
||||||
<build.number>-LOCAL</build.number>
|
<build.number>-LOCAL</build.number>
|
||||||
<sonar.projectKey>BentoBoxWorld_Greenhouses</sonar.projectKey>
|
<sonar.projectKey>BentoBoxWorld_Greenhouses</sonar.projectKey>
|
||||||
<sonar.organization>bentobox-world</sonar.organization>
|
<sonar.organization>bentobox-world</sonar.organization>
|
||||||
|
@ -116,6 +116,12 @@
|
||||||
<version>${spigot.version}</version>
|
<version>${spigot.version}</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.spigotmc</groupId>
|
||||||
|
<artifactId>plugin-annotations</artifactId>
|
||||||
|
<version>1.2.3-SNAPSHOT</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>world.bentobox</groupId>
|
<groupId>world.bentobox</groupId>
|
||||||
<artifactId>bentobox</artifactId>
|
<artifactId>bentobox</artifactId>
|
||||||
|
@ -277,4 +283,4 @@
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
</project>
|
</project>
|
||||||
|
|
|
@ -92,9 +92,8 @@ public class Greenhouses extends Addon {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
if (manager != null) {
|
if (manager != null && manager.getEcoMgr() != null) {
|
||||||
manager.saveGreenhouses();
|
manager.getEcoMgr().cancel();
|
||||||
if (manager.getEcoMgr() != null) manager.getEcoMgr().cancel();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
package world.bentobox.greenhouses;
|
||||||
|
|
||||||
|
|
||||||
|
import org.bukkit.plugin.java.annotation.dependency.Dependency;
|
||||||
|
import org.bukkit.plugin.java.annotation.plugin.ApiVersion;
|
||||||
|
import org.bukkit.plugin.java.annotation.plugin.Plugin;
|
||||||
|
|
||||||
|
import world.bentobox.bentobox.api.addons.Addon;
|
||||||
|
import world.bentobox.bentobox.api.addons.Pladdon;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tastybento
|
||||||
|
*/
|
||||||
|
@Plugin(name = "Pladdon", version = "1.0")
|
||||||
|
@ApiVersion(ApiVersion.Target.v1_18)
|
||||||
|
@Dependency(value = "BentoBox")
|
||||||
|
public class GreenhousesPladdon extends Pladdon
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public Addon getAddon()
|
||||||
|
{
|
||||||
|
return new Greenhouses();
|
||||||
|
}
|
||||||
|
}
|
|
@ -171,7 +171,7 @@ public class Greenhouse implements DataObject {
|
||||||
*/
|
*/
|
||||||
@NonNull
|
@NonNull
|
||||||
public BoundingBox getBoundingBox() {
|
public BoundingBox getBoundingBox() {
|
||||||
return Objects.requireNonNullElseGet(boundingBox, BoundingBox::new);
|
return Objects.requireNonNull(boundingBox);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -220,7 +220,9 @@ public class Greenhouse implements DataObject {
|
||||||
* @return true if inside the greenhouse
|
* @return true if inside the greenhouse
|
||||||
*/
|
*/
|
||||||
public boolean contains(Location location2) {
|
public boolean contains(Location location2) {
|
||||||
return location.getWorld() != null && location.getWorld().equals(location2.getWorld()) && boundingBox.contains(location2.toVector());
|
return getLocation().getWorld() != null
|
||||||
|
&& getLocation().getWorld().equals(location2.getWorld())
|
||||||
|
&& getBoundingBox().contains(location2.toVector());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -262,12 +264,13 @@ public class Greenhouse implements DataObject {
|
||||||
* @return true if wall or roof block
|
* @return true if wall or roof block
|
||||||
*/
|
*/
|
||||||
public boolean isRoofOrWallBlock(Location l) {
|
public boolean isRoofOrWallBlock(Location l) {
|
||||||
|
final BoundingBox bb = getBoundingBox();
|
||||||
return (l.getBlockY() > this.getFloorHeight()
|
return (l.getBlockY() > this.getFloorHeight()
|
||||||
&& ((l.getBlockY() == getCeilingHeight() - 1)
|
&& ((l.getBlockY() == getCeilingHeight() - 1)
|
||||||
|| l.getBlockX() == (int)getBoundingBox().getMinX()
|
|| l.getBlockX() == (int)bb.getMinX()
|
||||||
|| l.getBlockX() == (int)getBoundingBox().getMaxX() - 1
|
|| l.getBlockX() == (int)bb.getMaxX() - 1
|
||||||
|| l.getBlockZ() == (int)getBoundingBox().getMinZ()
|
|| l.getBlockZ() == (int)bb.getMinZ()
|
||||||
|| l.getBlockZ() == (int)getBoundingBox().getMaxZ() - 1
|
|| l.getBlockZ() == (int)bb.getMaxZ() - 1
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,6 @@ import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.Hoglin;
|
import org.bukkit.entity.Hoglin;
|
||||||
import org.bukkit.entity.Piglin;
|
import org.bukkit.entity.Piglin;
|
||||||
import org.bukkit.util.BoundingBox;
|
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import com.google.common.base.Enums;
|
import com.google.common.base.Enums;
|
||||||
|
@ -367,9 +366,7 @@ public class BiomeRecipe implements Comparable<BiomeRecipe> {
|
||||||
.getManager()
|
.getManager()
|
||||||
.getMap()
|
.getMap()
|
||||||
.getGreenhouse(b.getLocation()).map(gh -> {
|
.getGreenhouse(b.getLocation()).map(gh -> {
|
||||||
BoundingBox interior = gh.getBoundingBox().clone();
|
if (!gh.getInternalBoundingBox().contains(entity.getBoundingBox())) {
|
||||||
interior.expand(-1, -1, -1);
|
|
||||||
if (!interior.contains(entity.getBoundingBox())) {
|
|
||||||
entity.remove();
|
entity.remove();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -422,7 +419,7 @@ public class BiomeRecipe implements Comparable<BiomeRecipe> {
|
||||||
* @return a list of blocks that are required for this recipe
|
* @return a list of blocks that are required for this recipe
|
||||||
*/
|
*/
|
||||||
public List<String> getRecipeBlocks() {
|
public List<String> getRecipeBlocks() {
|
||||||
return requiredBlocks.entrySet().stream().map(en -> Util.prettifyText(en.getKey().toString()) + " x " + en.getValue()).collect(Collectors.toList());
|
return requiredBlocks.entrySet().stream().map(en -> Util.prettifyText(en.getKey().toString()) + " x " + en.getValue()).toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -474,10 +471,10 @@ public class BiomeRecipe implements Comparable<BiomeRecipe> {
|
||||||
|
|
||||||
private boolean canGrowOn(GrowthBlock block, GreenhousePlant p) {
|
private boolean canGrowOn(GrowthBlock block, GreenhousePlant p) {
|
||||||
// Ceiling plants can only grow on ceiling blocks
|
// Ceiling plants can only grow on ceiling blocks
|
||||||
if (CEILING_PLANTS.contains(p.plantMaterial()) && block.floor()) {
|
if (CEILING_PLANTS.contains(p.plantMaterial()) && Boolean.TRUE.equals(block.floor())) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return p.plantGrownOn().equals(block.block().getRelative(block.floor() ? BlockFace.DOWN : BlockFace.UP).getType());
|
return p.plantGrownOn().equals(block.block().getRelative(Boolean.TRUE.equals(block.floor()) ? BlockFace.DOWN : BlockFace.UP).getType());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -10,6 +10,7 @@ import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.block.BlockFromToEvent;
|
import org.bukkit.event.block.BlockFromToEvent;
|
||||||
import org.bukkit.event.block.BlockPistonExtendEvent;
|
import org.bukkit.event.block.BlockPistonExtendEvent;
|
||||||
import org.bukkit.event.block.BlockPistonRetractEvent;
|
import org.bukkit.event.block.BlockPistonRetractEvent;
|
||||||
|
import org.bukkit.event.entity.CreatureSpawnEvent;
|
||||||
|
|
||||||
import world.bentobox.greenhouses.Greenhouses;
|
import world.bentobox.greenhouses.Greenhouses;
|
||||||
import world.bentobox.greenhouses.data.Greenhouse;
|
import world.bentobox.greenhouses.data.Greenhouse;
|
||||||
|
@ -78,6 +79,23 @@ public class GreenhouseGuard implements Listener {
|
||||||
.anyMatch(this::inGreenhouse));
|
.anyMatch(this::inGreenhouse));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Guard Greenhouse from natural entity spawning.
|
||||||
|
*
|
||||||
|
* @param spawnEvent the spawn event
|
||||||
|
*/
|
||||||
|
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
|
||||||
|
public void onCreatureSpawn(CreatureSpawnEvent spawnEvent)
|
||||||
|
{
|
||||||
|
if (CreatureSpawnEvent.SpawnReason.NATURAL == spawnEvent.getSpawnReason())
|
||||||
|
{
|
||||||
|
// Natural spawn events should be cancelled. Greenhouse spawns its own mobs.
|
||||||
|
spawnEvent.setCancelled(this.inGreenhouse(spawnEvent.getLocation()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private boolean inGreenhouse(Location l) {
|
private boolean inGreenhouse(Location l) {
|
||||||
return addon.getManager().getMap().getGreenhouse(l).map(g -> g.isRoofOrWallBlock(l)).orElse(false);
|
return addon.getManager().getMap().getGreenhouse(l).map(g -> g.isRoofOrWallBlock(l)).orElse(false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
@ -21,9 +22,9 @@ import org.bukkit.event.block.BlockFormEvent;
|
||||||
import org.bukkit.event.weather.WeatherChangeEvent;
|
import org.bukkit.event.weather.WeatherChangeEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.scheduler.BukkitTask;
|
import org.bukkit.scheduler.BukkitTask;
|
||||||
|
import org.bukkit.util.BoundingBox;
|
||||||
|
|
||||||
import com.google.common.base.Enums;
|
import com.google.common.base.Enums;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
|
|
||||||
import world.bentobox.bentobox.util.Util;
|
import world.bentobox.bentobox.util.Util;
|
||||||
import world.bentobox.greenhouses.Greenhouses;
|
import world.bentobox.greenhouses.Greenhouses;
|
||||||
|
@ -58,9 +59,10 @@ public class SnowTracker implements Listener {
|
||||||
}
|
}
|
||||||
boolean createdSnow = false;
|
boolean createdSnow = false;
|
||||||
List<Block> waterBlocks = new ArrayList<>();
|
List<Block> waterBlocks = new ArrayList<>();
|
||||||
for (int x = (int)gh.getBoundingBox().getMinX() + 1; x < (int)gh.getBoundingBox().getMaxX() -1; x++) {
|
final BoundingBox bb = gh.getBoundingBox();
|
||||||
for (int z = (int)gh.getBoundingBox().getMinZ() + 1; z < (int)gh.getBoundingBox().getMaxZ() - 1; z++) {
|
for (int x = (int)bb.getMinX() + 1; x < (int)bb.getMaxX() -1; x++) {
|
||||||
for (int y = (int)gh.getBoundingBox().getMaxY() - 2; y >= (int)gh.getBoundingBox().getMinY(); y--) {
|
for (int z = (int)bb.getMinZ() + 1; z < (int)bb.getMaxZ() - 1; z++) {
|
||||||
|
for (int y = (int)bb.getMaxY() - 2; y >= (int)bb.getMinY(); y--) {
|
||||||
Block b = Objects.requireNonNull(gh.getLocation().getWorld()).getBlockAt(x, y, z);
|
Block b = Objects.requireNonNull(gh.getLocation().getWorld()).getBlockAt(x, y, z);
|
||||||
Material type = b.getType();
|
Material type = b.getType();
|
||||||
if (type.equals(Material.AIR) || type.equals(Material.SNOW)) {
|
if (type.equals(Material.AIR) || type.equals(Material.SNOW)) {
|
||||||
|
@ -98,7 +100,7 @@ public class SnowTracker implements Listener {
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean placeSnow(Block b) {
|
private boolean placeSnow(Block b) {
|
||||||
Optional<Material> snowCauldron = Enums.getIfPresent(Material.class, "POWDER_SNOW_CAULDRON");
|
Optional<Material> snowCauldron = Enums.getIfPresent(Material.class, "POWDER_SNOW_CAULDRON").toJavaUtil();
|
||||||
if (snowCauldron.isPresent()) {
|
if (snowCauldron.isPresent()) {
|
||||||
if (b.getType().equals(Material.CAULDRON)) {
|
if (b.getType().equals(Material.CAULDRON)) {
|
||||||
b.setType(snowCauldron.get());
|
b.setType(snowCauldron.get());
|
||||||
|
|
|
@ -15,6 +15,7 @@ import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.block.Hopper;
|
import org.bukkit.block.Hopper;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.scheduler.BukkitTask;
|
import org.bukkit.scheduler.BukkitTask;
|
||||||
|
import org.bukkit.util.BoundingBox;
|
||||||
import org.bukkit.util.NumberConversions;
|
import org.bukkit.util.NumberConversions;
|
||||||
|
|
||||||
import world.bentobox.greenhouses.Greenhouses;
|
import world.bentobox.greenhouses.Greenhouses;
|
||||||
|
@ -85,18 +86,20 @@ public class EcoSystemManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void convertBlocks(Greenhouse gh) {
|
private void convertBlocks(Greenhouse gh) {
|
||||||
World world = gh.getWorld();
|
final World world = gh.getWorld();
|
||||||
|
final BoundingBox bb = gh.getBoundingBox();
|
||||||
if(world == null || gh.getLocation() == null || gh.getLocation().getWorld() == null
|
if(world == null || gh.getLocation() == null || gh.getLocation().getWorld() == null
|
||||||
|| !gh.getLocation().getWorld().isChunkLoaded(((int) gh.getBoundingBox().getMaxX()) >> 4, ((int) gh.getBoundingBox().getMaxZ()) >> 4)
|
|| !gh.getLocation().getWorld().isChunkLoaded(((int) bb.getMaxX()) >> 4, ((int) bb.getMaxZ()) >> 4)
|
||||||
|| !gh.getLocation().getWorld().isChunkLoaded(((int) gh.getBoundingBox().getMinX()) >> 4, ((int) gh.getBoundingBox().getMinZ()) >> 4)){
|
|| !gh.getLocation().getWorld().isChunkLoaded(((int) bb.getMinX()) >> 4, ((int) bb.getMinZ()) >> 4)){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int gh_min_x = NumberConversions.floor(gh.getInternalBoundingBox().getMinX());
|
final BoundingBox ibb = gh.getInternalBoundingBox();
|
||||||
int gh_max_x = NumberConversions.floor(gh.getInternalBoundingBox().getMaxX());
|
int gh_min_x = NumberConversions.floor(ibb.getMinX());
|
||||||
|
int gh_max_x = NumberConversions.floor(ibb.getMaxX());
|
||||||
int gh_min_y = NumberConversions.floor(gh.getBoundingBox().getMinY()); // Note: this gets the floor
|
int gh_min_y = NumberConversions.floor(gh.getBoundingBox().getMinY()); // Note: this gets the floor
|
||||||
int gh_max_y = NumberConversions.floor(gh.getInternalBoundingBox().getMaxY());
|
int gh_max_y = NumberConversions.floor(ibb.getMaxY());
|
||||||
int gh_min_z = NumberConversions.floor(gh.getInternalBoundingBox().getMinZ());
|
int gh_min_z = NumberConversions.floor(ibb.getMinZ());
|
||||||
int gh_max_z = NumberConversions.floor(gh.getInternalBoundingBox().getMaxZ());
|
int gh_max_z = NumberConversions.floor(ibb.getMaxZ());
|
||||||
BiomeRecipe biomeRecipe = gh.getBiomeRecipe();
|
BiomeRecipe biomeRecipe = gh.getBiomeRecipe();
|
||||||
|
|
||||||
for (int x = gh_min_x; x < gh_max_x; x++) {
|
for (int x = gh_min_x; x < gh_max_x; x++) {
|
||||||
|
@ -129,8 +132,9 @@ public class EcoSystemManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addMobs(Greenhouse gh) {
|
private void addMobs(Greenhouse gh) {
|
||||||
|
final BoundingBox bb = gh.getBoundingBox();
|
||||||
if(gh.getLocation() == null || gh.getLocation().getWorld() == null || gh.getWorld() == null
|
if(gh.getLocation() == null || gh.getLocation().getWorld() == null || gh.getWorld() == null
|
||||||
|| !gh.getLocation().getWorld().isChunkLoaded(((int) gh.getBoundingBox().getMaxX()) >> 4, ((int) gh.getBoundingBox().getMaxZ()) >> 4) || !gh.getLocation().getWorld().isChunkLoaded(((int) gh.getBoundingBox().getMinX()) >> 4, ((int) gh.getBoundingBox().getMinZ()) >> 4)){
|
|| !gh.getLocation().getWorld().isChunkLoaded(((int) bb.getMaxX()) >> 4, ((int) bb.getMaxZ()) >> 4) || !gh.getLocation().getWorld().isChunkLoaded(((int) bb.getMinX()) >> 4, ((int) bb.getMinZ()) >> 4)){
|
||||||
// Skipping addmobs for unloaded greenhouse
|
// Skipping addmobs for unloaded greenhouse
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -138,8 +142,8 @@ public class EcoSystemManager {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Check greenhouse chunks are loaded
|
// Check greenhouse chunks are loaded
|
||||||
for (double blockX = gh.getBoundingBox().getMinX(); blockX < gh.getBoundingBox().getMaxX(); blockX+=16) {
|
for (double blockX = bb.getMinX(); blockX < bb.getMaxX(); blockX+=16) {
|
||||||
for (double blockZ = gh.getBoundingBox().getMinZ(); blockZ < gh.getBoundingBox().getMaxZ(); blockZ+=16) {
|
for (double blockZ = bb.getMinZ(); blockZ < bb.getMaxZ(); blockZ+=16) {
|
||||||
int chunkX = (int)(blockX / 16);
|
int chunkX = (int)(blockX / 16);
|
||||||
int chunkZ = (int)(blockZ / 16);
|
int chunkZ = (int)(blockZ / 16);
|
||||||
if (!gh.getWorld().isChunkLoaded(chunkX, chunkZ)) {
|
if (!gh.getWorld().isChunkLoaded(chunkX, chunkZ)) {
|
||||||
|
@ -170,8 +174,9 @@ public class EcoSystemManager {
|
||||||
* @param gh - greenhouse
|
* @param gh - greenhouse
|
||||||
*/
|
*/
|
||||||
private void growPlants(Greenhouse gh) {
|
private void growPlants(Greenhouse gh) {
|
||||||
|
final BoundingBox bb = gh.getBoundingBox();
|
||||||
if (gh.getLocation() == null || gh.getLocation().getWorld() == null
|
if (gh.getLocation() == null || gh.getLocation().getWorld() == null
|
||||||
|| !gh.getLocation().getWorld().isChunkLoaded(((int) gh.getBoundingBox().getMaxX()) >> 4, ((int) gh.getBoundingBox().getMaxZ()) >> 4) || !gh.getLocation().getWorld().isChunkLoaded(((int) gh.getBoundingBox().getMinX()) >> 4, ((int) gh.getBoundingBox().getMinZ()) >> 4)){
|
|| !gh.getLocation().getWorld().isChunkLoaded(((int) bb.getMaxX()) >> 4, ((int) bb.getMaxZ()) >> 4) || !gh.getLocation().getWorld().isChunkLoaded(((int) bb.getMinX()) >> 4, ((int) bb.getMinZ()) >> 4)){
|
||||||
//Skipping growplants for unloaded greenhouse
|
//Skipping growplants for unloaded greenhouse
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -212,11 +217,13 @@ public class EcoSystemManager {
|
||||||
* @return List of blocks
|
* @return List of blocks
|
||||||
*/
|
*/
|
||||||
protected List<GrowthBlock> getAvailableBlocks(Greenhouse gh, boolean ignoreLiquid) {
|
protected List<GrowthBlock> getAvailableBlocks(Greenhouse gh, boolean ignoreLiquid) {
|
||||||
|
final BoundingBox bb = gh.getBoundingBox();
|
||||||
|
final BoundingBox ibb = gh.getInternalBoundingBox();
|
||||||
List<GrowthBlock> result = new ArrayList<>();
|
List<GrowthBlock> result = new ArrayList<>();
|
||||||
if (gh.getWorld() == null) return result;
|
if (gh.getWorld() == null) return result;
|
||||||
for (double x = gh.getInternalBoundingBox().getMinX(); x < gh.getInternalBoundingBox().getMaxX(); x++) {
|
for (double x = ibb.getMinX(); x < ibb.getMaxX(); x++) {
|
||||||
for (double z = gh.getInternalBoundingBox().getMinZ(); z < gh.getInternalBoundingBox().getMaxZ(); z++) {
|
for (double z = ibb.getMinZ(); z < ibb.getMaxZ(); z++) {
|
||||||
for (double y = gh.getInternalBoundingBox().getMaxY() - 1; y >= gh.getBoundingBox().getMinY(); y--) {
|
for (double y = ibb.getMaxY() - 1; y >= bb.getMinY(); y--) {
|
||||||
Block b = gh.getWorld().getBlockAt(NumberConversions.floor(x), NumberConversions.floor(y), NumberConversions.floor(z));
|
Block b = gh.getWorld().getBlockAt(NumberConversions.floor(x), NumberConversions.floor(y), NumberConversions.floor(z));
|
||||||
// Check ceiling blocks
|
// Check ceiling blocks
|
||||||
if (b.isEmpty() && !b.getRelative(BlockFace.UP).isEmpty()) {
|
if (b.isEmpty() && !b.getRelative(BlockFace.UP).isEmpty()) {
|
||||||
|
|
|
@ -12,6 +12,7 @@ import org.bukkit.Location;
|
||||||
import org.bukkit.block.Biome;
|
import org.bukkit.block.Biome;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.util.BoundingBox;
|
||||||
|
|
||||||
import world.bentobox.bentobox.api.events.BentoBoxReadyEvent;
|
import world.bentobox.bentobox.api.events.BentoBoxReadyEvent;
|
||||||
import world.bentobox.bentobox.database.Database;
|
import world.bentobox.bentobox.database.Database;
|
||||||
|
@ -125,35 +126,28 @@ public class GreenhouseManager implements Listener {
|
||||||
toBeRemoved.forEach(handler::deleteObject);
|
toBeRemoved.forEach(handler::deleteObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Saves all the greenhouses to database
|
|
||||||
*/
|
|
||||||
public void saveGreenhouses() {
|
|
||||||
addon.log("Saving greenhouses...");
|
|
||||||
map.getGreenhouses().forEach(handler::saveObjectAsync);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes the greenhouse from the world and resets biomes
|
* Removes the greenhouse from the world and resets biomes
|
||||||
* @param g - greenhouse
|
* @param gh - greenhouse
|
||||||
*/
|
*/
|
||||||
public void removeGreenhouse(Greenhouse g) {
|
public void removeGreenhouse(Greenhouse gh) {
|
||||||
handler.deleteObject(g);
|
handler.deleteObject(gh);
|
||||||
map.removeGreenhouse(g);
|
map.removeGreenhouse(gh);
|
||||||
if (g.getOriginalBiome() == null) {
|
if (gh.getOriginalBiome() == null) {
|
||||||
addon.logError("Greenhouse had no original biome: " + g.getLocation());
|
addon.logError("Greenhouse had no original biome: " + gh.getLocation());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (g.getLocation() == null || g.getLocation().getWorld() == null) {
|
if (gh.getLocation() == null || gh.getLocation().getWorld() == null) {
|
||||||
// Greenhouse is messed up. It's being deleted anyway.
|
// Greenhouse is messed up. It's being deleted anyway.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
addon.log("Returning biome to original state: " + g.getOriginalBiome().toString());
|
addon.log("Returning biome to original state: " + gh.getOriginalBiome().toString());
|
||||||
for (int x = (int)g.getBoundingBox().getMinX(); x<= (int)g.getBoundingBox().getMaxX(); x+=4) {
|
final BoundingBox bb = gh.getBoundingBox();
|
||||||
for (int z = (int)g.getBoundingBox().getMinZ(); z<= (int)g.getBoundingBox().getMaxZ(); z+=4) {
|
for (int x = (int)bb.getMinX(); x<= (int)bb.getMaxX(); x+=4) {
|
||||||
for (int y = (int)g.getBoundingBox().getMinY(); y<= (int)g.getBoundingBox().getMaxY(); y+=4) {
|
for (int z = (int)bb.getMinZ(); z<= (int)bb.getMaxZ(); z+=4) {
|
||||||
|
for (int y = (int)bb.getMinY(); y<= (int)bb.getMaxY(); y+=4) {
|
||||||
// Set back to the original biome
|
// Set back to the original biome
|
||||||
g.getLocation().getWorld().setBiome(x, y, z, g.getOriginalBiome());
|
gh.getLocation().getWorld().setBiome(x, y, z, gh.getOriginalBiome());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -250,9 +244,10 @@ public class GreenhouseManager implements Listener {
|
||||||
addon.logError("Biome recipe error - no such biome for " + gh.getBiomeRecipe().getName());
|
addon.logError("Biome recipe error - no such biome for " + gh.getBiomeRecipe().getName());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (int x = (int)gh.getBoundingBox().getMinX(); x < gh.getBoundingBox().getMaxX(); x+=4) {
|
final BoundingBox bb = gh.getBoundingBox();
|
||||||
for (int z = (int)gh.getBoundingBox().getMinZ(); z < gh.getBoundingBox().getMaxZ(); z+=4) {
|
for (int x = (int)bb.getMinX(); x < bb.getMaxX(); x+=4) {
|
||||||
for (int y = (int)gh.getBoundingBox().getMinY(); y < gh.getBoundingBox().getMaxY(); y+=4) {
|
for (int z = (int)bb.getMinZ(); z < bb.getMaxZ(); z+=4) {
|
||||||
|
for (int y = (int)bb.getMinY(); y < bb.getMaxY(); y+=4) {
|
||||||
Objects.requireNonNull(gh.getWorld()).setBiome(x, y, z, ghBiome);
|
Objects.requireNonNull(gh.getWorld()).setBiome(x, y, z, ghBiome);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,7 +67,7 @@ biomes:
|
||||||
moblimit: 9
|
moblimit: 9
|
||||||
Cold_Rabbit:
|
Cold_Rabbit:
|
||||||
friendlyname: "Cold Taiga Forest"
|
friendlyname: "Cold Taiga Forest"
|
||||||
biome: TAIGA_HILLS
|
biome: OLD_GROWTH_SPRUCE_TAIGA
|
||||||
icon: SPRUCE_SAPLING
|
icon: SPRUCE_SAPLING
|
||||||
priority: 20
|
priority: 20
|
||||||
contents:
|
contents:
|
||||||
|
@ -280,6 +280,7 @@ biomes:
|
||||||
plants:
|
plants:
|
||||||
RED_MUSHROOM: 20:GRASS_BLOCK
|
RED_MUSHROOM: 20:GRASS_BLOCK
|
||||||
BROWN_MUSHROOM: 20:GRASS_BLOCK
|
BROWN_MUSHROOM: 20:GRASS_BLOCK
|
||||||
|
BLUE_ORCHID: 10:GRASS_BLOCK
|
||||||
LILY_PAD: 5:WATER
|
LILY_PAD: 5:WATER
|
||||||
mobs:
|
mobs:
|
||||||
SLIME: 5:WATER
|
SLIME: 5:WATER
|
||||||
|
|
|
@ -0,0 +1,163 @@
|
||||||
|
---
|
||||||
|
protection:
|
||||||
|
flags:
|
||||||
|
GREENHOUSE:
|
||||||
|
name: Gewächshäuser
|
||||||
|
description: |-
|
||||||
|
&bUmschalten, wer
|
||||||
|
&bdie Gewächshäuser kontrollieren kann
|
||||||
|
greenhouses:
|
||||||
|
general:
|
||||||
|
greenhouses: Gewächshäuser
|
||||||
|
errors:
|
||||||
|
move: Gehe zuerst in ein Gewächshaus, das dir gehört.
|
||||||
|
no-rank: "& cDu hast keinen Rang, um das zu tun."
|
||||||
|
notyours: Das ist nicht dein Gewächshaus!
|
||||||
|
not-inside: "& cDu bist nicht in einem Gewächshaus!"
|
||||||
|
tooexpensive: Du kannst dir das nicht leisten [price]
|
||||||
|
alreadyexists: Gewächshaus existiert bereits!
|
||||||
|
norecipe: Kann kein Gewächshaus bauen!
|
||||||
|
event:
|
||||||
|
broke: Du hast das Gewächshaus kaputt gemacht! Biome auf [biome] umstellen!
|
||||||
|
entering: Betreten des Gewächshauses [biome]
|
||||||
|
leaving: Das Gewächshaus verlassen [biome]
|
||||||
|
recipe:
|
||||||
|
blockscolor: "&f"
|
||||||
|
title: "[[biome] recipe]"
|
||||||
|
watermustbe: Wasser > [coverage]% der Bodenfläche.
|
||||||
|
icemustbe: Eisblöcke > [coverage]% der Bodenfläche.
|
||||||
|
lavamustbe: Lava > [coverage]% der Bodenfläche.
|
||||||
|
minimumblockstitle: "[Minimum blocks required]"
|
||||||
|
nootherblocks: Keine weiteren Blöcke erforderlich.
|
||||||
|
missing: Gewächshaus fehlt
|
||||||
|
commands:
|
||||||
|
user:
|
||||||
|
remove:
|
||||||
|
description: Entfernt ein Gewächshaus, in dem Sie stehen, wenn Sie der Eigentümer
|
||||||
|
sind
|
||||||
|
make:
|
||||||
|
description: Versuche ein Gewächshaus zu bauen
|
||||||
|
parameters: "<recipe>"
|
||||||
|
error:
|
||||||
|
already: "&cEs gibt hier schon ein Gewächshaus!"
|
||||||
|
FAIL_BAD_ROOF_BLOCKS: "&cDach enthält unzulässige Blöcke!"
|
||||||
|
FAIL_BAD_WALL_BLOCKS: "&cWand enthält unzulässige Blöcke!"
|
||||||
|
FAIL_BELOW: "&cDu musst im Gewächshaus sein, um es zu versuchen."
|
||||||
|
FAIL_BLOCKS_ABOVE: "&cEs dürfen keine Blöcke über dem Gewächshaus sein!
|
||||||
|
Rote Glasblöcke sollten die Problemblöcke anzeigen."
|
||||||
|
FAIL_HOLE_IN_ROOF: "&cIn dem Dach ist ein Loch oder es ist nicht flach!
|
||||||
|
Rote Glasblöcke sollten das Problem anzeigen."
|
||||||
|
FAIL_HOLE_IN_WALL: "&cIn der Wand ist ein Loch!"
|
||||||
|
FAIL_NO_ROOF: "&cEs scheint kein Dach zu geben!"
|
||||||
|
FAIL_TOO_MANY_DOORS: "&cEs dürfen nicht mehr als 4 Türen im Gewächshaus
|
||||||
|
sein!"
|
||||||
|
FAIL_TOO_MANY_HOPPERS: "&cIn den Wänden oder im Dach ist nur ein Trichter
|
||||||
|
zulässig."
|
||||||
|
FAIL_UNEVEN_WALLS: "&cDie Wände sind uneben. Rote Glasblöcke sollten die
|
||||||
|
Problemblöcke anzeigen."
|
||||||
|
FAIL_INSUFFICIENT_ICE: "&cZu wenig Eis für dieses Rezept"
|
||||||
|
FAIL_INSUFFICIENT_LAVA: "&cZu wenig Lava für dieses Rezept"
|
||||||
|
FAIL_INSUFFICIENT_WATER: "&cZu wenig Wasser für dieses Rezept"
|
||||||
|
FAIL_NO_ICE: "&cFür dieses Rezept wird Eis benötigt"
|
||||||
|
FAIL_NO_LAVA: "&cFür dieses Rezept wird Lava benötigt"
|
||||||
|
FAIL_NO_WATER: "&cFür dieses Rezept wird Wasser benötigt"
|
||||||
|
FAIL_NO_RECIPE_FOUND: "&c Zu diesem Gewächshaus konnte kein passendes Rezept
|
||||||
|
gefunden werden"
|
||||||
|
FAIL_INSUFFICIENT_BLOCKS: "&cWeitere Blöcke sind erforderlich, um dieses
|
||||||
|
Rezept zu erstellen!"
|
||||||
|
FAIL_OVERLAPPING: "&cGewächshäuser können sich keine Wände teilen, sorry."
|
||||||
|
success: "&2Du hast erfolgreich ein [biome] Biom Gewächshaus gebaut! Beim
|
||||||
|
nächsten Teleport oder Login wird Biom synchronisiert."
|
||||||
|
missing-blocks: "[material] x [number] &cFehlt"
|
||||||
|
unknown-recipe: "&Unbekanntes Rezept"
|
||||||
|
try-these: "&cVersuche einen von diesen:"
|
||||||
|
recipe-format: "&3[name]"
|
||||||
|
info:
|
||||||
|
title: "&A[Wie man ein Gewächshaus baut]"
|
||||||
|
instructions: "&EStelle einen Kasten aus Glas mit 4 Wänden und einem flachen
|
||||||
|
&EGlasdach her und füge bis zu &F4 Türen &Ein den Wänden hinzu. &EPlatziere
|
||||||
|
&F1 Trichter &Ein eine Wand oder ein Dach und füge Wassereimer hinzu. &EUm
|
||||||
|
Schnee und/oder Knochenmehl herzustellen, um Pflanzen automatisch wachsen
|
||||||
|
zu lassen. &EPrüfe die Biom-Rezepte, welche Blöcke in einem Gewächshaus
|
||||||
|
sein müssen, um ein &EGewächshaus erfolgreich zu machen."
|
||||||
|
help:
|
||||||
|
help: Hilfe
|
||||||
|
make: Versucht ein Gewächshaus zu bauen
|
||||||
|
remove: Entfernt ein Gewächshaus, in dem du stehst, wenn du der Besitzer bist
|
||||||
|
info: Wie man ein Gewächshaus baut
|
||||||
|
list: Listet alle Gewächshausbiome auf, die hergestellt werden können
|
||||||
|
recipe: Erklärt dir, wie man das Gewächshaus biome macht
|
||||||
|
opengui: Öffnet die Gewächshaus-GUI
|
||||||
|
list:
|
||||||
|
title: "[Gewächshaus-Biom-Rezepte]"
|
||||||
|
info: Benutze /greenhouse recipe <number> um Details über die Herstellung jedes
|
||||||
|
Gewächshauses zu sehen
|
||||||
|
error:
|
||||||
|
greenhouseProtected: Gewächshaus geschützt
|
||||||
|
move: Gehe zuerst in ein Gewächshaus, das dir gehört.
|
||||||
|
notowner: Du musst der Besitzer dieses Gewächshauses sein, um das zu tun.
|
||||||
|
removing: Gewächshaus entfernen!
|
||||||
|
notyours: Das ist nicht dein Gewächshaus!
|
||||||
|
notinside: Du bist nicht in einem Gewächshaus!
|
||||||
|
tooexpensive: du kannst dir das nicht leisten [price]
|
||||||
|
alreadyexists: Gewächshaus existiert bereits!
|
||||||
|
norecipe: Kann kein Gewächshaus bauen!
|
||||||
|
messages:
|
||||||
|
enter: Betreten des [biome] Gewächshauses von [owner]!
|
||||||
|
leave: Verlässt jetzt das Gewächshaus von [owner].
|
||||||
|
youarein: Du bist jetzt in [owner]'s [biome] Gewächshaus!
|
||||||
|
removed: Dieses Gewächshaus ist nicht mehr ...
|
||||||
|
removedmessage: Ein [biome] Gewächshaus von dir ist nicht mehr!
|
||||||
|
ecolost: Dein Gewächshaus in [location] hat sein Ökosystem verloren und wurde entfernt.
|
||||||
|
info:
|
||||||
|
title: "&A [Gewächshaus bauen]"
|
||||||
|
instructions: "&EStelle einen Kasten aus Glas mit 4 Wänden und einem flachen &EGlasdach
|
||||||
|
her und füge bis zu &F4 Türen &Ein den Wänden hinzu. &EPlatziere &F1 Trichter
|
||||||
|
&Ein eine Wand oder ein Dach und füge Wassereimer hinzu. &EUm Schnee und/oder
|
||||||
|
Knochenmehl herzustellen, um Pflanzen automatisch wachsen zu lassen. &EPrüfe die
|
||||||
|
\ Biom-Rezepte, welche Blöcke in einem Gewächshaus sein müssen, um ein &EGewächshaus
|
||||||
|
erfolgreich zu machen."
|
||||||
|
info: "[Gewächshaus Info]"
|
||||||
|
none: Keiner
|
||||||
|
nomore: "&4Du kannst keine Gewächshäuser mehr bauen!"
|
||||||
|
onemore: "&6Du kannst noch ein weiteres Gewächshaus bauen."
|
||||||
|
youcanbuild: "&ADu kannst bis zu [number] mehr Gewächshäuser bauen!"
|
||||||
|
unlimited: "&ADu kannst eine unbegrenzte Anzahl von Gewächshäusern bauen!"
|
||||||
|
welcome: "&BHerzlich willkommen! Klicken Sie hier für Anweisungen"
|
||||||
|
recipe:
|
||||||
|
blockscolor: "&f"
|
||||||
|
hint: benutze /greenhouse list, um eine Liste von Rezeptnummern zu sehen!
|
||||||
|
wrongnumber: Die Rezeptnummer muss zwischen 1 und [size] liegen
|
||||||
|
title: "[[biome] recipe]"
|
||||||
|
nowater: Kein Wasser erlaubt.
|
||||||
|
noice: Kein Eis erlaubt.
|
||||||
|
nolava: Keine Lava erlaubt.
|
||||||
|
watermustbe: Wasser > [coverage]% der Bodenfläche.
|
||||||
|
icemustbe: Eisblöcke > [coverage]% der Bodenfläche.
|
||||||
|
lavamustbe: Lava > [coverage]% der Bodenfläche.
|
||||||
|
minimumblockstitle: "[Minimum blocks required]"
|
||||||
|
nootherblocks: Keine weiteren Blöcke erforderlich.
|
||||||
|
missing: Gewächshaus fehlt
|
||||||
|
event:
|
||||||
|
broke: Du hast das Gewächshaus kaputt gemacht! Biome auf [biome] umstellen!
|
||||||
|
fix: repariere das Gewächshaus und baue es dann wieder auf
|
||||||
|
cannotplace: Blöcke können nicht über einem Gewächshaus platziert werden!
|
||||||
|
pistonerror: Kolben können keine Blöcke über ein Gewächshaus schieben!
|
||||||
|
limits:
|
||||||
|
noneallowed: Die Berechtigungen erlauben dir keine Gewächshäuser, deshalb wurden
|
||||||
|
[nummer] entfernt.
|
||||||
|
limitedto: Die Berechtigungen beschränken dich auf [limit] Gewächshäuser, so dass
|
||||||
|
[number] entfernt wurden.
|
||||||
|
adminHelp:
|
||||||
|
reload: Konfiguration aus Datei neu laden.
|
||||||
|
info: Liefert Informationen über das Gewächshaus, in dem du dich befindest
|
||||||
|
reload:
|
||||||
|
configReloaded: Konfiguration aus Datei neu geladen.
|
||||||
|
admininfo:
|
||||||
|
error: Gewächshaus-Info nur im Spiel verfügbar
|
||||||
|
error2: Versetzt dich in ein Gewächshaus, um Infos zu sehen.
|
||||||
|
flags: "[Greenhouse Flags]"
|
||||||
|
news:
|
||||||
|
headline: "[Greenhouse News]"
|
||||||
|
controlpanel:
|
||||||
|
title: "&AGewächshäuser"
|
|
@ -1,189 +1,153 @@
|
||||||
###########################################################################################
|
---
|
||||||
# This is a YML file. Be careful when editing. Check your edits in a YAML checker like #
|
|
||||||
# the one at http://yaml-online-parser.appspot.com #
|
|
||||||
# If this file is deleted, then it will be recreate at the next reload. #
|
|
||||||
###########################################################################################
|
|
||||||
protection:
|
protection:
|
||||||
flags:
|
flags:
|
||||||
GREENHOUSE:
|
GREENHOUSE:
|
||||||
name: Greenhouses
|
name: Greenhouses
|
||||||
description: |
|
description: "&bÁllítsd be, hogy ki\n&bkezelheti az üvegházat \n"
|
||||||
&bÁllítsd be, hogy ki
|
|
||||||
&bkezelheti az üvegházat
|
|
||||||
|
|
||||||
greenhouses:
|
greenhouses:
|
||||||
general:
|
general:
|
||||||
greenhouses: "Üvegházak"
|
greenhouses: Üvegházak
|
||||||
|
|
||||||
errors:
|
errors:
|
||||||
move: "Menj a saját üvegházadhoz."
|
move: Menj a saját üvegházadhoz.
|
||||||
no-rank: "&cNincs rangod ehhez."
|
no-rank: "&cNincs rangod ehhez."
|
||||||
notyours: "Ez nem a te üvegházad!"
|
notyours: Ez nem a te üvegházad!
|
||||||
not-inside: "&cNem vagy üvegházban!"
|
not-inside: "&cNem vagy üvegházban!"
|
||||||
tooexpensive: "Ehhez nincs elég pénzed, ennyi szükséges: [price]"
|
tooexpensive: 'Ehhez nincs elég pénzed, ennyi szükséges: [price]'
|
||||||
alreadyexists: "Az üvegház már létezik!"
|
alreadyexists: Az üvegház már létezik!
|
||||||
norecipe: "Nem tudsz üvegházat csinálni!"
|
norecipe: Nem tudsz üvegházat csinálni!
|
||||||
|
|
||||||
event:
|
event:
|
||||||
broke: "Összetörted az üvegházad! Visszaállítjuk a biome-ot [biome]-ra/re!"
|
broke: Összetörted az üvegházad! Visszaállítjuk a biome-ot [biome]-ra/re!
|
||||||
entering: "Belépés a(z) [biome] üvegházba."
|
entering: Belépés a(z) [biome] üvegházba.
|
||||||
leaving: "Kilépés a(z) [biome] üvegházból."
|
leaving: Kilépés a(z) [biome] üvegházból.
|
||||||
|
|
||||||
recipe:
|
recipe:
|
||||||
blockscolor: "&f"
|
blockscolor: "&f"
|
||||||
title: "[[biome] recept]"
|
title: "[[biome] recept]"
|
||||||
watermustbe: "Víz > [coverage]% kell, hogy legyen az alapterületen."
|
watermustbe: Víz > [coverage]% kell, hogy legyen az alapterületen.
|
||||||
icemustbe: "Jég blokk > [coverage]% kell, hogy legyen az alapterületen."
|
icemustbe: Jég blokk > [coverage]% kell, hogy legyen az alapterületen.
|
||||||
lavamustbe: "Láva > [coverage]% kell, hogy legyen az alapterületen."
|
lavamustbe: Láva > [coverage]% kell, hogy legyen az alapterületen.
|
||||||
minimumblockstitle: "[Minimum blokkmennyiség]"
|
minimumblockstitle: "[Minimum blokkmennyiség]"
|
||||||
nootherblocks: "Nem szükséges több blokk."
|
nootherblocks: Nem szükséges több blokk.
|
||||||
missing: "Hiányzó üvegház."
|
missing: Hiányzó üvegház.
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
user:
|
user:
|
||||||
remove:
|
remove:
|
||||||
description: "Ha az üvegházadban állsz és te vagy a tulaja, akkor törli azt."
|
description: Ha az üvegházadban állsz és te vagy a tulaja, akkor törli azt.
|
||||||
make:
|
make:
|
||||||
description: "Megpróbál készíteni egy üvegházat."
|
description: Megpróbál készíteni egy üvegházat.
|
||||||
parameters: "<recipe>"
|
parameters: "<recipe>"
|
||||||
error:
|
error:
|
||||||
already: "Az üvegház már létezik!"
|
already: Az üvegház már létezik!
|
||||||
FAIL_BAD_ROOF_BLOCKS: "&cA tető nem engedélyezett blokkokat tartalmaz!"
|
FAIL_BAD_ROOF_BLOCKS: "&cA tető nem engedélyezett blokkokat tartalmaz!"
|
||||||
FAIL_BAD_WALL_BLOCKS: "&cA fal nem engedélyezett blokkokat tartalmaz!"
|
FAIL_BAD_WALL_BLOCKS: "&cA fal nem engedélyezett blokkokat tartalmaz!"
|
||||||
FAIL_BELOW: "&cAz üvegházban kell lenned, hogy megpróbáld elkészíteni"
|
FAIL_BELOW: "&cAz üvegházban kell lenned, hogy megpróbáld elkészíteni"
|
||||||
FAIL_BLOCKS_ABOVE: "&cAz üvegház felett nem lehetnek blokkok! A piros üvegblokkoknak meg kell mutatniuk a problémás blokkokat."
|
FAIL_BLOCKS_ABOVE: "&cAz üvegház felett nem lehetnek blokkok! A piros üvegblokkoknak
|
||||||
FAIL_HOLE_IN_ROOF: "&cVan egy lyuk a tetőn, vagy nem sík! A piros üvegblokkoknak meg kell mutatniuk a problémát."
|
meg kell mutatniuk a problémás blokkokat."
|
||||||
|
FAIL_HOLE_IN_ROOF: "&cVan egy lyuk a tetőn, vagy nem sík! A piros üvegblokkoknak
|
||||||
|
meg kell mutatniuk a problémát."
|
||||||
FAIL_HOLE_IN_WALL: "&cVan egy lyuk a falban!"
|
FAIL_HOLE_IN_WALL: "&cVan egy lyuk a falban!"
|
||||||
FAIL_NO_ROOF: "&cÚgy tűnik, nincs tető!"
|
FAIL_NO_ROOF: "&cÚgy tűnik, nincs tető!"
|
||||||
FAIL_TOO_MANY_DOORS: "&cAz üvegházban nem lehet négynél több ajtó!"
|
FAIL_TOO_MANY_DOORS: "&cAz üvegházban nem lehet négynél több ajtó!"
|
||||||
FAIL_TOO_MANY_HOPPERS: "&cCsak egy tölcsér megengedett a falakban vagy a tetőben."
|
FAIL_TOO_MANY_HOPPERS: "&cCsak egy tölcsér megengedett a falakban vagy a
|
||||||
FAIL_UNEVEN_WALLS: "&cA falak egyenetlenek. A piros üvegblokkoknak meg kell mutatniuk a problémás blokkokat."
|
tetőben."
|
||||||
|
FAIL_UNEVEN_WALLS: "&cA falak egyenetlenek. A piros üvegblokkoknak meg kell
|
||||||
|
mutatniuk a problémás blokkokat."
|
||||||
FAIL_INSUFFICIENT_ICE: "&cNem elegendő a jég ehhez a recept elkészítéséhez."
|
FAIL_INSUFFICIENT_ICE: "&cNem elegendő a jég ehhez a recept elkészítéséhez."
|
||||||
FAIL_INSUFFICIENT_LAVA: "&cNem elegendő a láva ehhez a recept elkészítéséhez."
|
FAIL_INSUFFICIENT_LAVA: "&cNem elegendő a láva ehhez a recept elkészítéséhez."
|
||||||
FAIL_INSUFFICIENT_WATER: "&cNem elegendő a víz ehhez a recept elkészítéséhez."
|
FAIL_INSUFFICIENT_WATER: "&cNem elegendő a víz ehhez a recept elkészítéséhez."
|
||||||
FAIL_NO_ICE: "&cA jég szükséges ehhez a recepthez."
|
FAIL_NO_ICE: "&cA jég szükséges ehhez a recepthez."
|
||||||
FAIL_NO_LAVA: "&cA láva szükséges ehhez a recepthez."
|
FAIL_NO_LAVA: "&cA láva szükséges ehhez a recepthez."
|
||||||
FAIL_NO_WATER: "&cA víz szükséges ehhez a recepthez."
|
FAIL_NO_WATER: "&cA víz szükséges ehhez a recepthez."
|
||||||
|
FAIL_NO_RECIPE_FOUND: "&c Nem található ilyen recept ebben a melegházban."
|
||||||
FAIL_INSUFFICIENT_BLOCKS: "&cTovábbi blokkokra van szükség a recept elkészítéséhez!"
|
FAIL_INSUFFICIENT_BLOCKS: "&cTovábbi blokkokra van szükség a recept elkészítéséhez!"
|
||||||
FAIL_OVERLAPPING: "&cAz üvegházak nem oszthatják meg a falakat, bocs."
|
FAIL_OVERLAPPING: "&cAz üvegházak nem oszthatják meg a falakat, bocs."
|
||||||
success: "Sikeresen elkészítettél egy [biome] üvegházat! Az éghajlat szinkronizálódik a következő teleportálásnál, vagy belépésnél."
|
success: Sikeresen elkészítettél egy [biome] üvegházat! Az éghajlat szinkronizálódik
|
||||||
|
a következő teleportálásnál, vagy belépésnél.
|
||||||
missing-blocks: "&cHiányzik [material] x [number]"
|
missing-blocks: "&cHiányzik [material] x [number]"
|
||||||
unknown-recipe: "&cIsmeretlen recept"
|
unknown-recipe: "&cIsmeretlen recept"
|
||||||
try-these: "&cPróbálj meg egyet az alábbiak közül:"
|
try-these: "&cPróbálj meg egyet az alábbiak közül:"
|
||||||
recipe-format: "&3[name]"
|
recipe-format: "&3[name]"
|
||||||
info:
|
info:
|
||||||
title: "&A[Hogyan Készíts Üvegházat]"
|
title: "&A[Hogyan Készíts Üvegházat]"
|
||||||
instructions: |
|
instructions: "&EKészíts egy üvegdobozt 4 fallal, egy üvegtetővel,\n&Eés akár
|
||||||
&EKészíts egy üvegdobozt 4 fallal, egy üvegtetővel,
|
4 ajtót is tehetsz a falba.\n&ERakj a falba vagy a tetőbe &F1 tölcsért,
|
||||||
&Eés akár 4 ajtót is tehetsz a falba.
|
&Eés helyezz bele vizes vödröket,\n&Ehogy havat és/vagy csontlisztet készíts,
|
||||||
&ERakj a falba vagy a tetőbe &F1 tölcsért, &Eés helyezz bele vizes vödröket,
|
mellyel automatikusan tudod növeszteni a növényeidet.\n&ENézd meg az éghajlatokhoz
|
||||||
&Ehogy havat és/vagy csontlisztet készíts, mellyel automatikusan tudod növeszteni a növényeidet.
|
tartozó recepteket, hogy megtudd milyen blokkok legyenek feltétlenül\n&Eaz
|
||||||
&ENézd meg az éghajlatokhoz tartozó recepteket, hogy megtudd milyen blokkok legyenek feltétlenül
|
üvegházban ahhoz, hogy sikeresen elkészítsd. \n"
|
||||||
&Eaz üvegházban ahhoz, hogy sikeresen elkészítsd.
|
|
||||||
|
|
||||||
|
|
||||||
######### Old locale for reference
|
|
||||||
help:
|
help:
|
||||||
help: "help"
|
help: help
|
||||||
make: "Tries to make a greenhouse"
|
make: Tries to make a greenhouse
|
||||||
remove: "Removes a greenhouse that you are standing in if you are the owner"
|
remove: Removes a greenhouse that you are standing in if you are the owner
|
||||||
info: "How to make a greenhouse"
|
info: How to make a greenhouse
|
||||||
list: "Lists all the greenhouse biomes that can be made"
|
list: Lists all the greenhouse biomes that can be made
|
||||||
recipe: "Tells you how to make greenhouse biome"
|
recipe: Tells you how to make greenhouse biome
|
||||||
opengui: "Opens the Greenhouse GUI"
|
opengui: Opens the Greenhouse GUI
|
||||||
|
|
||||||
list:
|
list:
|
||||||
title: "[Greenhouse Biome Recipes]"
|
title: "[Greenhouse Biome Recipes]"
|
||||||
info: "Use /greenhouse recipe <number> to see details on how to make each greenhouse"
|
info: Use /greenhouse recipe <number> to see details on how to make each greenhouse
|
||||||
|
|
||||||
|
|
||||||
################
|
|
||||||
#General Errors#
|
|
||||||
################
|
|
||||||
error:
|
error:
|
||||||
greenhouseProtected: "Greenhouse protected"
|
greenhouseProtected: Greenhouse protected
|
||||||
move: "Move to a greenhouse you own first."
|
move: Move to a greenhouse you own first.
|
||||||
notowner: "You must be the owner of this greenhouse to do that."
|
notowner: You must be the owner of this greenhouse to do that.
|
||||||
removing: "Removing greenhouse!"
|
removing: Removing greenhouse!
|
||||||
notyours: "This is not your greenhouse!"
|
notyours: This is not your greenhouse!
|
||||||
notinside: "You are not in a greenhouse!"
|
notinside: You are not in a greenhouse!
|
||||||
tooexpensive: "You cannot afford [price]"
|
tooexpensive: You cannot afford [price]
|
||||||
alreadyexists: "Greenhouse already exists!"
|
alreadyexists: Greenhouse already exists!
|
||||||
norecipe: "Cannot make a greenhouse!"
|
norecipe: Cannot make a greenhouse!
|
||||||
|
|
||||||
messages:
|
messages:
|
||||||
enter: "Entering [owner]'s [biome] greenhouse!"
|
enter: Entering [owner]'s [biome] greenhouse!
|
||||||
leave: "Now leaving [owner]'s greenhouse."
|
leave: Now leaving [owner]'s greenhouse.
|
||||||
youarein: "You are now in [owner]'s [biome] greenhouse!"
|
youarein: You are now in [owner]'s [biome] greenhouse!
|
||||||
removed: "This greenhouse is no more..."
|
removed: This greenhouse is no more...
|
||||||
removedmessage: "A [biome] greenhouse of yours is no more!"
|
removedmessage: A [biome] greenhouse of yours is no more!
|
||||||
ecolost: "Your greenhouse at [location] lost its eco system and was removed."
|
ecolost: Your greenhouse at [location] lost its eco system and was removed.
|
||||||
|
|
||||||
info:
|
info:
|
||||||
title: "&A[How To Build A Greenhouse]"
|
title: "&A[How To Build A Greenhouse]"
|
||||||
instructions: |
|
instructions: "&EMake a box out of out of glass with 4 walls and a flat glass\n&Eroof
|
||||||
&EMake a box out of out of glass with 4 walls and a flat glass
|
and add up to &F4 doors &Ein the walls.\n&EPlace &F1 hopper &Ein a wall or roof
|
||||||
&Eroof and add up to &F4 doors &Ein the walls.
|
and add water buckets.\n&Eto make snow and/or bonemeal to grow plants automatically.\n&ECheck
|
||||||
&EPlace &F1 hopper &Ein a wall or roof and add water buckets.
|
the biome recipes for what blocks must be inside a\n&Egreenhouse to make one successfully.
|
||||||
&Eto make snow and/or bonemeal to grow plants automatically.
|
\n"
|
||||||
&ECheck the biome recipes for what blocks must be inside a
|
info: "[Greenhouse Info]"
|
||||||
&Egreenhouse to make one successfully.
|
none: None
|
||||||
info: "[Greenhouse Info]"
|
nomore: "&4You cannot build any more greenhouses!"
|
||||||
none: "None"
|
onemore: "&6You can build one more greenhouse."
|
||||||
nomore: "&4You cannot build any more greenhouses!"
|
youcanbuild: "&AYou can build up to [number] more greenhouses!"
|
||||||
onemore: "&6You can build one more greenhouse."
|
unlimited: "&AYou can build an unlimited number of greenhouses!"
|
||||||
youcanbuild: "&AYou can build up to [number] more greenhouses!"
|
welcome: "&BWelcome! Click here for instructions"
|
||||||
unlimited: "&AYou can build an unlimited number of greenhouses!"
|
|
||||||
welcome: "&BWelcome! Click here for instructions"
|
|
||||||
|
|
||||||
recipe:
|
recipe:
|
||||||
blockscolor: "&f"
|
blockscolor: "&f"
|
||||||
hint: "Use /greenhouse list to see a list of recipe numbers!"
|
hint: Use /greenhouse list to see a list of recipe numbers!
|
||||||
wrongnumber: "Recipe number must be between 1 and [size]"
|
wrongnumber: Recipe number must be between 1 and [size]
|
||||||
title: "[[biome] recipe]"
|
title: "[[biome] recipe]"
|
||||||
nowater: "No water allowed."
|
nowater: No water allowed.
|
||||||
noice: "No ice allowed."
|
noice: No ice allowed.
|
||||||
nolava: "No lava allowed."
|
nolava: No lava allowed.
|
||||||
watermustbe: "Water > [coverage]% of floor area."
|
watermustbe: Water > [coverage]% of floor area.
|
||||||
icemustbe: "Ice blocks > [coverage]% of floor area."
|
icemustbe: Ice blocks > [coverage]% of floor area.
|
||||||
lavamustbe: "Lava > [coverage]% of floor area."
|
lavamustbe: Lava > [coverage]% of floor area.
|
||||||
minimumblockstitle: "[Minimum blocks required]"
|
minimumblockstitle: "[Minimum blocks required]"
|
||||||
nootherblocks: "No other blocks required."
|
nootherblocks: No other blocks required.
|
||||||
missing: "Greenhouse is missing"
|
missing: Greenhouse is missing
|
||||||
|
|
||||||
event:
|
event:
|
||||||
broke: "You broke this greenhouse! Reverting biome to [biome]!"
|
broke: You broke this greenhouse! Reverting biome to [biome]!
|
||||||
fix: "Fix the greenhouse and then make it again."
|
fix: Fix the greenhouse and then make it again.
|
||||||
cannotplace: "Blocks cannot be placed above a greenhouse!"
|
cannotplace: Blocks cannot be placed above a greenhouse!
|
||||||
pistonerror: "Pistons cannot push blocks over a greenhouse!"
|
pistonerror: Pistons cannot push blocks over a greenhouse!
|
||||||
|
|
||||||
|
|
||||||
limits:
|
limits:
|
||||||
noneallowed: "Permissions do not allow you any greenhouses so [number] were removed."
|
noneallowed: Permissions do not allow you any greenhouses so [number] were removed.
|
||||||
limitedto: "Permissions limit you to [limit] greenhouses so [number] were removed."
|
limitedto: Permissions limit you to [limit] greenhouses so [number] were removed.
|
||||||
|
|
||||||
|
|
||||||
##################################
|
|
||||||
#Admin commands that use /gadmin #
|
|
||||||
##################################
|
|
||||||
|
|
||||||
#Help
|
|
||||||
adminHelp:
|
adminHelp:
|
||||||
reload: "reload configuration from file."
|
reload: reload configuration from file.
|
||||||
info: "provides info on the greenhouse you are in"
|
info: provides info on the greenhouse you are in
|
||||||
|
|
||||||
#reload
|
|
||||||
reload:
|
reload:
|
||||||
configReloaded: "Configuration reloaded from file."
|
configReloaded: Configuration reloaded from file.
|
||||||
|
|
||||||
admininfo:
|
admininfo:
|
||||||
error: "Greenhouse info only available in-game"
|
error: Greenhouse info only available in-game
|
||||||
error2: "Put yourself in a greenhouse to see info."
|
error2: Put yourself in a greenhouse to see info.
|
||||||
flags: "[Greenhouse Flags]"
|
flags: "[Greenhouse Flags]"
|
||||||
|
|
||||||
news:
|
news:
|
||||||
headline: "[Greenhouse News]"
|
headline: "[Greenhouse News]"
|
||||||
|
|
||||||
controlpanel:
|
controlpanel:
|
||||||
title: "&AGreenhouses"
|
title: "&AGreenhouses"
|
||||||
|
|
||||||
|
|
|
@ -1,37 +1,42 @@
|
||||||
---
|
---
|
||||||
adminHelp:
|
protection:
|
||||||
info: あなたがいる温室に関する情報を提供します
|
flags:
|
||||||
reload: ファイルから設定をリロードします。
|
GREENHOUSE:
|
||||||
admininfo:
|
name: 温室
|
||||||
error: ゲーム内でのみ利用可能な温室情報
|
description: |-
|
||||||
error2: 温室で情報を確認してください。
|
&b誰が温室を制御できるかを
|
||||||
flags: "[温室旗]"
|
&b設定する
|
||||||
controlpanel:
|
|
||||||
title: "&A温室"
|
|
||||||
error:
|
|
||||||
alreadyexists: 温室はすでに存在します!
|
|
||||||
greenhouseProtected: 温室保護
|
|
||||||
move: 最初に所有する温室に移動します。
|
|
||||||
norecipe: 温室を作ることができません!
|
|
||||||
notinside: あなたは温室の中にいません!
|
|
||||||
notowner: それを行うには、この温室の所有者でなければなりません。
|
|
||||||
notyours: これはあなたの温室ではありません!
|
|
||||||
removing: 温室を撤去!
|
|
||||||
tooexpensive: あなたは余裕がない[price]
|
|
||||||
event:
|
|
||||||
broke: あなたはこの温室を壊しました!バイオームを[biome]に戻しています!
|
|
||||||
cannotplace: ブロックを温室の上に置くことはできません!
|
|
||||||
fix: 温室を修理してから、もう一度作ります。
|
|
||||||
pistonerror: ピストンは温室の上でブロックを押すことができません!
|
|
||||||
greenhouses:
|
greenhouses:
|
||||||
|
general:
|
||||||
|
greenhouses: 温室
|
||||||
|
errors:
|
||||||
|
move: 最初に所有する温室に移動します。
|
||||||
|
no-rank: "&cあなたにはそれをするランクがありません。"
|
||||||
|
notyours: これはあなたの温室ではありません!
|
||||||
|
not-inside: "&cあなたは温室の中にいません!"
|
||||||
|
tooexpensive: あなたは余裕がない[price]
|
||||||
|
alreadyexists: 温室はすでに存在します!
|
||||||
|
norecipe: 温室を作ることができません!
|
||||||
|
event:
|
||||||
|
broke: "&c温室を壊しました!バイオームを [biome]に戻しています!"
|
||||||
|
entering: "[biome]の温室に入る"
|
||||||
|
leaving: "[biome]の温室を離れる"
|
||||||
|
recipe:
|
||||||
|
blockscolor: "&f"
|
||||||
|
title: "[[biome]レシピ]"
|
||||||
|
watermustbe: 水>[coverage]床面積の%。
|
||||||
|
icemustbe: 氷のブロック>床面積の[coverage]%。
|
||||||
|
lavamustbe: 溶岩> [coverage]床面積の%。
|
||||||
|
minimumblockstitle: "[必要な最小ブロック]"
|
||||||
|
nootherblocks: 他のブロックは必要ありません。
|
||||||
|
missing: 温室がありません
|
||||||
commands:
|
commands:
|
||||||
user:
|
user:
|
||||||
info:
|
remove:
|
||||||
title: "&A [温室の作り方]"
|
description: あなたが所有者である場合、あなたが立っている温室を取り除きます
|
||||||
instructions: 4つの壁と平らなガラス屋根でガラスから箱を作り、壁に最大4つのドアを追加します。 1つのホッパーを壁または屋根に置き、水バケツを追加します。
|
|
||||||
雪や骨粉を作り、植物を自動的に育てます。 バイオームレシピを確認して、温室内で正常にブロックするために必要なブロックを確認してください。
|
|
||||||
make:
|
make:
|
||||||
description: 温室を作ってみる
|
description: 温室を作ってみる
|
||||||
|
parameters: "<レシピ>"
|
||||||
error:
|
error:
|
||||||
already: "&cここには温室がすでにあります!"
|
already: "&cここには温室がすでにあります!"
|
||||||
FAIL_BAD_ROOF_BLOCKS: "&c屋根には許可されていないブロックが含まれています!"
|
FAIL_BAD_ROOF_BLOCKS: "&c屋根には許可されていないブロックが含まれています!"
|
||||||
|
@ -40,97 +45,99 @@ greenhouses:
|
||||||
FAIL_BLOCKS_ABOVE: "&c温室の上にブロックを置くことはできません!赤いガラスブロックに問題のあるブロックが表示されます。"
|
FAIL_BLOCKS_ABOVE: "&c温室の上にブロックを置くことはできません!赤いガラスブロックに問題のあるブロックが表示されます。"
|
||||||
FAIL_HOLE_IN_ROOF: "&c屋根に穴があるか、平らではありません!赤いガラスブロックが問題を示しているはずです。"
|
FAIL_HOLE_IN_ROOF: "&c屋根に穴があるか、平らではありません!赤いガラスブロックが問題を示しているはずです。"
|
||||||
FAIL_HOLE_IN_WALL: "&c壁に穴が開いています!"
|
FAIL_HOLE_IN_WALL: "&c壁に穴が開いています!"
|
||||||
FAIL_INSUFFICIENT_ICE: "&cこのレシピを作成するには氷が足りません"
|
|
||||||
FAIL_INSUFFICIENT_LAVA: "&cこのレシピを作るには溶岩が足りません"
|
|
||||||
FAIL_INSUFFICIENT_WATER: "&cこのレシピを作るのに水が足りません"
|
|
||||||
FAIL_NO_ROOF: "&c屋根がないようです!"
|
FAIL_NO_ROOF: "&c屋根がないようです!"
|
||||||
FAIL_TOO_MANY_DOORS: "&c温室には4つ以上のドアを置くことはできません!"
|
FAIL_TOO_MANY_DOORS: "&c温室には4つ以上のドアを置くことはできません!"
|
||||||
FAIL_TOO_MANY_HOPPERS: "&c壁または屋根に使用できるホッパーは1つだけです。"
|
FAIL_TOO_MANY_HOPPERS: "&c壁または屋根に使用できるホッパーは1つだけです。"
|
||||||
FAIL_UNEVEN_WALLS: "&c壁が不均一です。赤いガラスブロックに問題のあるブロックが表示されます。"
|
FAIL_UNEVEN_WALLS: "&c壁が不均一です。赤いガラスブロックに問題のあるブロックが表示されます。"
|
||||||
|
FAIL_INSUFFICIENT_ICE: "&cこのレシピを作成するには氷が足りません"
|
||||||
|
FAIL_INSUFFICIENT_LAVA: "&cこのレシピを作るには溶岩が足りません"
|
||||||
|
FAIL_INSUFFICIENT_WATER: "&cこのレシピを作るのに水が足りません"
|
||||||
FAIL_NO_ICE: このレシピを作成するには&c氷が必要です
|
FAIL_NO_ICE: このレシピを作成するには&c氷が必要です
|
||||||
FAIL_NO_LAVA: このレシピを作成するには&c溶岩が必要です
|
FAIL_NO_LAVA: このレシピを作成するには&c溶岩が必要です
|
||||||
FAIL_NO_WATER: このレシピを作成するには&c水が必要です
|
FAIL_NO_WATER: このレシピを作成するには&c水が必要です
|
||||||
parameters: "<レシピ>"
|
FAIL_NO_RECIPE_FOUND: "&cこの温室に一致するレシピが見つかりませんでした"
|
||||||
|
FAIL_INSUFFICIENT_BLOCKS: "&cこのレシピを作成するには、さらに多くのブロックが必要です。"
|
||||||
|
FAIL_OVERLAPPING: "&c温室は壁を共有できません。申し訳ありません。"
|
||||||
success: "&2あなたは[biome]バイオーム温室を無事に作成しました!バイオームは次のテレポートまたはログインで同期します。"
|
success: "&2あなたは[biome]バイオーム温室を無事に作成しました!バイオームは次のテレポートまたはログインで同期します。"
|
||||||
remove:
|
missing-blocks: "&c欠落[material] x [number]"
|
||||||
description: あなたが所有者である場合、あなたが立っている温室を取り除きます
|
unknown-recipe: "&c不明なレシピ"
|
||||||
errors:
|
try-these: "&c次のいずれかを試してください。"
|
||||||
alreadyexists: 温室はすでに存在します!
|
recipe-format: "&3[name]"
|
||||||
move: 最初に所有する温室に移動します。
|
info:
|
||||||
no-rank: "&cあなたにはそれをするランクがありません。"
|
title: "&A [温室の作り方]"
|
||||||
norecipe: 温室を作ることができません!
|
instructions: 4つの壁と平らなガラス屋根でガラスから箱を作り、壁に最大4つのドアを追加します。 1つのホッパーを壁または屋根に置き、水バケツを追加します。
|
||||||
not-inside: "&cあなたは温室の中にいません!"
|
雪や骨粉を作り、植物を自動的に育てます。 バイオームレシピを確認して、温室内で正常にブロックするために必要なブロックを確認してください。
|
||||||
notyours: これはあなたの温室ではありません!
|
|
||||||
tooexpensive: あなたは余裕がない[price]
|
|
||||||
general:
|
|
||||||
greenhouses: 温室
|
|
||||||
recipe:
|
|
||||||
blockscolor: "&f"
|
|
||||||
minimumblockstitle: "[必要な最小ブロック]"
|
|
||||||
missing: 温室がありません
|
|
||||||
nootherblocks: 他のブロックは必要ありません。
|
|
||||||
title: "[[biome]レシピ]"
|
|
||||||
watermustbe: 水>[coverage]床面積の%。
|
|
||||||
icemustbe: 氷のブロック>床面積の[coverage]%。
|
|
||||||
lavamustbe: 溶岩> [coverage]床面積の%。
|
|
||||||
event:
|
|
||||||
broke: "&c温室を壊しました!バイオームを [biome]に戻しています!"
|
|
||||||
entering: "[biome]の温室に入る"
|
|
||||||
leaving: "[biome]の温室を離れる"
|
|
||||||
help:
|
help:
|
||||||
help: 手助け
|
help: 手助け
|
||||||
|
make: 温室を作ろうとする
|
||||||
|
remove: あなたが所有者である場合、あなたが立っている温室を取り除きます
|
||||||
info: 温室の作り方
|
info: 温室の作り方
|
||||||
list: 作成可能なすべての温室バイオームをリストします
|
list: 作成可能なすべての温室バイオームをリストします
|
||||||
make: 温室を作ろうとする
|
|
||||||
recipe: 温室バイオームの作り方を説明します
|
recipe: 温室バイオームの作り方を説明します
|
||||||
remove: あなたが所有者である場合、あなたが立っている温室を取り除きます
|
|
||||||
opengui: 温室のGUI
|
opengui: 温室のGUI
|
||||||
info:
|
|
||||||
info: "[温室情報]"
|
|
||||||
instructions: "&E 4つの壁と平らなガラスの&E屋根でガラスから箱を作り、壁に&F 4のドア&Eを追加します。 &E壁と屋根に&F 1ホッパー&Eを配置し、ウォーターバケツ&Eを追加して雪や骨粉を作り、植物を自動的に成長させます。
|
|
||||||
&Eバイオームレシピを確認して、&E温室内で正常にブロックを作成するために必要なブロックを確認します。"
|
|
||||||
nomore: "&4これ以上温室を建設することはできません!"
|
|
||||||
none: 無し
|
|
||||||
onemore: "&6温室をもう1つ構築できます。"
|
|
||||||
title: "&A [温室の作り方]"
|
|
||||||
unlimited: "&A温室を無制限に構築できます!"
|
|
||||||
welcome: "&B ようこそ!手順についてはここをクリックしてください"
|
|
||||||
youcanbuild: "&A温室を最大[number]個まで構築できます!"
|
|
||||||
limits:
|
|
||||||
limitedto: 許可により温室が[limit]に制限されるため、[number]が削除されました。
|
|
||||||
noneallowed: 許可により温室が許可されないため、[number]は削除されました。
|
|
||||||
list:
|
list:
|
||||||
title: "[温室効果バイオームのレシピ]"
|
title: "[温室効果バイオームのレシピ]"
|
||||||
info: "/greenhouse recipe <番号>を使用する各温室の作り方の詳細を見る"
|
info: "/greenhouse recipe <番号>を使用する各温室の作り方の詳細を見る"
|
||||||
|
error:
|
||||||
|
greenhouseProtected: 温室保護
|
||||||
|
move: 最初に所有する温室に移動します。
|
||||||
|
notowner: それを行うには、この温室の所有者でなければなりません。
|
||||||
|
removing: 温室を撤去!
|
||||||
|
notyours: これはあなたの温室ではありません!
|
||||||
|
notinside: あなたは温室の中にいません!
|
||||||
|
tooexpensive: あなたは余裕がない[price]
|
||||||
|
alreadyexists: 温室はすでに存在します!
|
||||||
|
norecipe: 温室を作ることができません!
|
||||||
messages:
|
messages:
|
||||||
ecolost: "[location]の温室はエコシステムを失い、撤去されました。"
|
|
||||||
leave: "[owner]の温室を離れます。"
|
|
||||||
removed: この温室はもうありません...
|
|
||||||
enter: "[owner]の[biome]の温室に入る!"
|
enter: "[owner]の[biome]の温室に入る!"
|
||||||
|
leave: "[owner]の温室を離れます。"
|
||||||
youarein: あなたは今[owner]の[biome]の温室にいます!
|
youarein: あなたは今[owner]の[biome]の温室にいます!
|
||||||
|
removed: この温室はもうありません...
|
||||||
removedmessage: あなたの[biome]の温室はもうありません!
|
removedmessage: あなたの[biome]の温室はもうありません!
|
||||||
news:
|
ecolost: "[location]の温室はエコシステムを失い、撤去されました。"
|
||||||
headline: "[温室ニュース]"
|
info:
|
||||||
protection:
|
title: "&A [温室の作り方]"
|
||||||
flags:
|
instructions: "&E 4つの壁と平らなガラスの&E屋根でガラスから箱を作り、壁に&F 4のドア&Eを追加します。 &E壁と屋根に&F 1ホッパー&Eを配置し、ウォーターバケツ&Eを追加して雪や骨粉を作り、植物を自動的に成長させます。
|
||||||
GREENHOUSE:
|
&Eバイオームレシピを確認して、&E温室内で正常にブロックを作成するために必要なブロックを確認します。"
|
||||||
name: 温室
|
info: "[温室情報]"
|
||||||
description: |-
|
none: 無し
|
||||||
&b誰が温室を制御できるかを
|
nomore: "&4これ以上温室を建設することはできません!"
|
||||||
&b設定する
|
onemore: "&6温室をもう1つ構築できます。"
|
||||||
|
youcanbuild: "&A温室を最大[number]個まで構築できます!"
|
||||||
|
unlimited: "&A温室を無制限に構築できます!"
|
||||||
|
welcome: "&B ようこそ!手順についてはここをクリックしてください"
|
||||||
recipe:
|
recipe:
|
||||||
blockscolor: "&f"
|
blockscolor: "&f"
|
||||||
hint: "/ greenhouse listを使用して、レシピ番号のリストを表示します!"
|
hint: "/ greenhouse listを使用して、レシピ番号のリストを表示します!"
|
||||||
|
wrongnumber: レシピ番号は1から[size]の間でなければなりません
|
||||||
|
title: "[[biome]レシピ]"
|
||||||
|
nowater: 水は許可されません。
|
||||||
|
noice: 氷は許可されていません。
|
||||||
|
nolava: 溶岩は許可されていません。
|
||||||
|
watermustbe: 水> [coverage]床面積の%。
|
||||||
icemustbe: 氷のブロック>床面積の[coverage]%。
|
icemustbe: 氷のブロック>床面積の[coverage]%。
|
||||||
lavamustbe: 溶岩> [coverage]床面積の%。
|
lavamustbe: 溶岩> [coverage]床面積の%。
|
||||||
minimumblockstitle: "[必要な最小ブロック]"
|
minimumblockstitle: "[必要な最小ブロック]"
|
||||||
missing: 温室がありません
|
|
||||||
noice: 氷は許可されていません。
|
|
||||||
nolava: 溶岩は許可されていません。
|
|
||||||
nootherblocks: 他のブロックは必要ありません。
|
nootherblocks: 他のブロックは必要ありません。
|
||||||
nowater: 水は許可されません。
|
missing: 温室がありません
|
||||||
title: "[[biome]レシピ]"
|
event:
|
||||||
watermustbe: 水> [coverage]床面積の%。
|
broke: あなたはこの温室を壊しました!バイオームを[biome]に戻しています!
|
||||||
wrongnumber: レシピ番号は1から[size]の間でなければなりません
|
fix: 温室を修理してから、もう一度作ります。
|
||||||
|
cannotplace: ブロックを温室の上に置くことはできません!
|
||||||
|
pistonerror: ピストンは温室の上でブロックを押すことができません!
|
||||||
|
limits:
|
||||||
|
noneallowed: 許可により温室が許可されないため、[number]は削除されました。
|
||||||
|
limitedto: 許可により温室が[limit]に制限されるため、[number]が削除されました。
|
||||||
|
adminHelp:
|
||||||
|
reload: ファイルから設定をリロードします。
|
||||||
|
info: あなたがいる温室に関する情報を提供します
|
||||||
reload:
|
reload:
|
||||||
configReloaded: ファイルから構成が再ロードされました。
|
configReloaded: ファイルから構成が再ロードされました。
|
||||||
|
admininfo:
|
||||||
|
error: ゲーム内でのみ利用可能な温室情報
|
||||||
|
error2: 温室で情報を確認してください。
|
||||||
|
flags: "[温室旗]"
|
||||||
|
news:
|
||||||
|
headline: "[温室ニュース]"
|
||||||
|
controlpanel:
|
||||||
|
title: "&A温室"
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
#
|
---
|
||||||
# This is a YML file. Be careful when editing. Check your edits in a YAML checker like #
|
|
||||||
# the one at http://yaml-online-parser.appspot.com #
|
|
||||||
# If this file is deleted, then it will be recreate at the next reload. #
|
|
||||||
protection:
|
protection:
|
||||||
flags:
|
flags:
|
||||||
GREENHOUSE:
|
GREENHOUSE:
|
||||||
|
@ -12,9 +9,9 @@ greenhouses:
|
||||||
greenhouses: 温室
|
greenhouses: 温室
|
||||||
errors:
|
errors:
|
||||||
move: 移动到你拥有的第一个温室.
|
move: 移动到你拥有的第一个温室.
|
||||||
no-rank: '&c你没有足够的阶级去做这个.'
|
no-rank: "&c你没有足够的阶级去做这个."
|
||||||
notyours: 这不是你的温室!
|
notyours: 这不是你的温室!
|
||||||
not-inside: '&c你并不处于一个温室之中!'
|
not-inside: "&c你并不处于一个温室之中!"
|
||||||
tooexpensive: 你的钱不足以支付 [price]
|
tooexpensive: 你的钱不足以支付 [price]
|
||||||
alreadyexists: 温室已经存在!
|
alreadyexists: 温室已经存在!
|
||||||
norecipe: 无法创建一个温室!
|
norecipe: 无法创建一个温室!
|
||||||
|
@ -23,12 +20,12 @@ greenhouses:
|
||||||
entering: 你进入一个 [biome] 温室
|
entering: 你进入一个 [biome] 温室
|
||||||
leaving: 你离开了 [biome] 温室
|
leaving: 你离开了 [biome] 温室
|
||||||
recipe:
|
recipe:
|
||||||
blockscolor: '&f'
|
blockscolor: "&f"
|
||||||
title: '[[biome] 配方]'
|
title: "[[biome] 配方]"
|
||||||
watermustbe: 水在地面上的占比需要大于[coverage]%.
|
watermustbe: 水在地面上的占比需要大于[coverage]%.
|
||||||
icemustbe: 冰在地面上的占比需要大于[coverage]%.
|
icemustbe: 冰在地面上的占比需要大于[coverage]%.
|
||||||
lavamustbe: 岩浆在地面上的占比需要大于[coverage]%.
|
lavamustbe: 岩浆在地面上的占比需要大于[coverage]%.
|
||||||
minimumblockstitle: '[最少所需的方块数目]'
|
minimumblockstitle: "[最少所需的方块数目]"
|
||||||
nootherblocks: 没有其它需要的方块了.
|
nootherblocks: 没有其它需要的方块了.
|
||||||
missing: 温室缺失了
|
missing: 温室缺失了
|
||||||
commands:
|
commands:
|
||||||
|
@ -37,39 +34,37 @@ greenhouses:
|
||||||
description: 如果你是你现在所处的温室的主人则移除这个温室
|
description: 如果你是你现在所处的温室的主人则移除这个温室
|
||||||
make:
|
make:
|
||||||
description: 尝试建造一个温室
|
description: 尝试建造一个温室
|
||||||
parameters: <recipe>
|
parameters: "<recipe>"
|
||||||
error:
|
error:
|
||||||
already: '&c这已经有一个温室了!'
|
already: "&c这已经有一个温室了!"
|
||||||
FAIL_BAD_ROOF_BLOCKS: '&c屋顶包含了不被允许的方块!'
|
FAIL_BAD_ROOF_BLOCKS: "&c屋顶包含了不被允许的方块!"
|
||||||
FAIL_BAD_WALL_BLOCKS: '&c墙壁包含了不被允许的方块!'
|
FAIL_BAD_WALL_BLOCKS: "&c墙壁包含了不被允许的方块!"
|
||||||
FAIL_BELOW: '&c你必须处于温室结构内才能尝试建造它'
|
FAIL_BELOW: "&c你必须处于温室结构内才能尝试建造它"
|
||||||
FAIL_BLOCKS_ABOVE: '&c温室的上方不能有方块,违规方块已被标红.'
|
FAIL_BLOCKS_ABOVE: "&c温室的上方不能有方块,违规方块已被标红."
|
||||||
FAIL_HOLE_IN_ROOF: '&c屋顶上有一个洞或者屋顶并不平整,违规方块已被标红.'
|
FAIL_HOLE_IN_ROOF: "&c屋顶上有一个洞或者屋顶并不平整,违规方块已被标红."
|
||||||
FAIL_HOLE_IN_WALL: '&c墙上有一个洞!'
|
FAIL_HOLE_IN_WALL: "&c墙上有一个洞!"
|
||||||
FAIL_NO_ROOF: '&c这儿看起来没有屋顶!'
|
FAIL_NO_ROOF: "&c这儿看起来没有屋顶!"
|
||||||
FAIL_TOO_MANY_DOORS: '&c你的温室最多只能有四个门!'
|
FAIL_TOO_MANY_DOORS: "&c你的温室最多只能有四个门!"
|
||||||
FAIL_TOO_MANY_HOPPERS: '&c墙或屋顶上至多有一个漏斗.'
|
FAIL_TOO_MANY_HOPPERS: "&c墙或屋顶上至多有一个漏斗."
|
||||||
FAIL_UNEVEN_WALLS: '&c墙壁不平坦,违规方块已被标红.'
|
FAIL_UNEVEN_WALLS: "&c墙壁不平坦,违规方块已被标红."
|
||||||
FAIL_INSUFFICIENT_ICE: '&c冰的数目不足以建造这个温室'
|
FAIL_INSUFFICIENT_ICE: "&c冰的数目不足以建造这个温室"
|
||||||
FAIL_INSUFFICIENT_LAVA: '&c岩浆的数目不足以建造这个温室'
|
FAIL_INSUFFICIENT_LAVA: "&c岩浆的数目不足以建造这个温室"
|
||||||
FAIL_INSUFFICIENT_WATER: '&c水的数目不足以建造这个温室'
|
FAIL_INSUFFICIENT_WATER: "&c水的数目不足以建造这个温室"
|
||||||
FAIL_NO_ICE: '&c对于这个温室来说冰是必须的'
|
FAIL_NO_ICE: "&c对于这个温室来说冰是必须的"
|
||||||
FAIL_NO_LAVA: '&c对于这个温室来说岩浆是必须的'
|
FAIL_NO_LAVA: "&c对于这个温室来说岩浆是必须的"
|
||||||
FAIL_NO_WATER: '&c对于这个温室来说水是必须的'
|
FAIL_NO_WATER: "&c对于这个温室来说水是必须的"
|
||||||
FAIL_INSUFFICIENT_BLOCKS: '&c你所用的方块数目不足!'
|
FAIL_NO_RECIPE_FOUND: "&c 找不到与此温室相匹配的配方"
|
||||||
FAIL_OVERLAPPING: '&c温室间不能共享墙壁.'
|
FAIL_INSUFFICIENT_BLOCKS: "&c你所用的方块数目不足!"
|
||||||
success: '&2你成功的建造了一个 [biome] 群系温室! 在你下次登陆时生物群系将会刷新.'
|
FAIL_OVERLAPPING: "&c温室间不能共享墙壁."
|
||||||
missing-blocks: '&c缺少了 [material] x [number]'
|
success: "&2你成功的建造了一个 [biome] 群系温室! 在你下次登陆时生物群系将会刷新."
|
||||||
unknown-recipe: '&c未知的温室配方'
|
missing-blocks: "&c缺少了 [material] x [number]"
|
||||||
try-these: '&c尝试以下操作:'
|
unknown-recipe: "&c未知的温室配方"
|
||||||
recipe-format: '&3[name]'
|
try-these: "&c尝试以下操作:"
|
||||||
|
recipe-format: "&3[name]"
|
||||||
info:
|
info:
|
||||||
title: '&A[温室建造指南]'
|
title: "&A[温室建造指南]"
|
||||||
instructions: "&E用玻璃建造一个有四面墙和屋顶的平整的立方体\n\
|
instructions: "&E用玻璃建造一个有四面墙和屋顶的平整的立方体\n&E最多只能有 &F4 扇门. &E\n在墙壁或屋顶内&E放置 &F一个漏斗
|
||||||
&E最多只能有 &F4 扇门. &E\n在墙壁或屋顶内&E放置 &F一个漏斗\
|
\n&E来放置骨粉或雪 来让作物自动生长.\n&E检查温室配方确保 你的温室包含足够的必要方块\n&E温室就顺利建造了. \n"
|
||||||
\ \n&E来放置骨粉或雪\
|
|
||||||
\ 来让作物自动生长.\n&E检查温室配方确保\
|
|
||||||
\ 你的温室包含足够的必要方块\n&E温室就顺利建造了. \n"
|
|
||||||
help:
|
help:
|
||||||
help: 帮助
|
help: 帮助
|
||||||
make: 尝试建造一个温室
|
make: 尝试建造一个温室
|
||||||
|
@ -79,7 +74,7 @@ help:
|
||||||
recipe: 告知你如何制造一个温室
|
recipe: 告知你如何制造一个温室
|
||||||
opengui: 打开温室GUI
|
opengui: 打开温室GUI
|
||||||
list:
|
list:
|
||||||
title: '[温室建造指南]'
|
title: "[温室建造指南]"
|
||||||
info: 使用指令 /greenhouse recipe <number> 来查看建造每一个温室的细节
|
info: 使用指令 /greenhouse recipe <number> 来查看建造每一个温室的细节
|
||||||
error:
|
error:
|
||||||
greenhouseProtected: 温室已被保护
|
greenhouseProtected: 温室已被保护
|
||||||
|
@ -99,31 +94,28 @@ messages:
|
||||||
removedmessage: 你的 [biome] 温室已经被移除!
|
removedmessage: 你的 [biome] 温室已经被移除!
|
||||||
ecolost: 你位于 [location] 的温室生态环境遭到破坏,它已经不再是温室了.
|
ecolost: 你位于 [location] 的温室生态环境遭到破坏,它已经不再是温室了.
|
||||||
info:
|
info:
|
||||||
title: '&A[如何建造一个温室]'
|
title: "&A[如何建造一个温室]"
|
||||||
instructions: "&E用玻璃建造一个有四面墙和屋顶的平整的立方体\n\
|
instructions: "&E用玻璃建造一个有四面墙和屋顶的平整的立方体\n&E最多只能有 &F4 扇门. &E\n在墙壁或屋顶内&E放置 &F一个漏斗 \n&E来放置骨粉或雪
|
||||||
&E最多只能有 &F4 扇门. &E\n在墙壁或屋顶内&E放置 &F一个漏斗\
|
来让作物自动生长.\n&E检查温室配方确保 你的温室包含足够的必要方块\n&E温室就顺利建造了. \n"
|
||||||
\ \n&E来放置骨粉或雪\
|
info: "[温室信息]"
|
||||||
\ 来让作物自动生长.\n&E检查温室配方确保\
|
|
||||||
\ 你的温室包含足够的必要方块\n&E温室就顺利建造了. \n"
|
|
||||||
info: '[温室信息]'
|
|
||||||
none: 无
|
none: 无
|
||||||
nomore: '&4你无法建造更多的温室了!'
|
nomore: "&4你无法建造更多的温室了!"
|
||||||
onemore: '&6你可以再建造一个温室.'
|
onemore: "&6你可以再建造一个温室."
|
||||||
youcanbuild: '&A你最多能建造 [number] 个温室!'
|
youcanbuild: "&A你最多能建造 [number] 个温室!"
|
||||||
unlimited: '&A你能建造无限多个温室!'
|
unlimited: "&A你能建造无限多个温室!"
|
||||||
welcome: '&B你好! 点击这里获得更多提示'
|
welcome: "&B你好! 点击这里获得更多提示"
|
||||||
recipe:
|
recipe:
|
||||||
blockscolor: '&f'
|
blockscolor: "&f"
|
||||||
hint: 使用 /greenhouse list 来看见所有温室配方的编号!
|
hint: 使用 /greenhouse list 来看见所有温室配方的编号!
|
||||||
wrongnumber: 温室配方编号必须位于 1 与 [size] 之间
|
wrongnumber: 温室配方编号必须位于 1 与 [size] 之间
|
||||||
title: '[[biome] 配方]'
|
title: "[[biome] 配方]"
|
||||||
nowater: 不允许有水.
|
nowater: 不允许有水.
|
||||||
noice: 不允许有冰.
|
noice: 不允许有冰.
|
||||||
nolava: 不允许有岩浆.
|
nolava: 不允许有岩浆.
|
||||||
watermustbe: 水在地面上的占比需要大于 [coverage]%.
|
watermustbe: 水在地面上的占比需要大于 [coverage]%.
|
||||||
icemustbe: 冰在地面上的占比需要大于 [coverage]%.
|
icemustbe: 冰在地面上的占比需要大于 [coverage]%.
|
||||||
lavamustbe: 岩浆在地面上的占比需要大于 [coverage]%.
|
lavamustbe: 岩浆在地面上的占比需要大于 [coverage]%.
|
||||||
minimumblockstitle: '[最少所需的方块]'
|
minimumblockstitle: "[最少所需的方块]"
|
||||||
nootherblocks: 没有其它必要的方块了.
|
nootherblocks: 没有其它必要的方块了.
|
||||||
missing: 温室缺失了
|
missing: 温室缺失了
|
||||||
event:
|
event:
|
||||||
|
@ -142,8 +134,8 @@ reload:
|
||||||
admininfo:
|
admininfo:
|
||||||
error: 查看温室信息功能仅能在游戏中使用
|
error: 查看温室信息功能仅能在游戏中使用
|
||||||
error2: 进入一个温室才能查看其信息.
|
error2: 进入一个温室才能查看其信息.
|
||||||
flags: '[Greenhouse Flags]'
|
flags: "[Greenhouse Flags]"
|
||||||
news:
|
news:
|
||||||
headline: '[温室新闻]'
|
headline: "[温室新闻]"
|
||||||
controlpanel:
|
controlpanel:
|
||||||
title: '&A温室'
|
title: "&A温室"
|
||||||
|
|
|
@ -96,6 +96,8 @@ public class BiomeRecipeTest {
|
||||||
when(gh.getCeilingHeight()).thenReturn(120);
|
when(gh.getCeilingHeight()).thenReturn(120);
|
||||||
bb = new BoundingBox(10, 100, 10, 20, 120, 20);
|
bb = new BoundingBox(10, 100, 10, 20, 120, 20);
|
||||||
when(gh.getBoundingBox()).thenReturn(bb);
|
when(gh.getBoundingBox()).thenReturn(bb);
|
||||||
|
BoundingBox ibb = bb.clone().expand(-1);
|
||||||
|
when(gh.getInternalBoundingBox()).thenReturn(ibb);
|
||||||
when(gh.getWorld()).thenReturn(world);
|
when(gh.getWorld()).thenReturn(world);
|
||||||
when(gh.contains(any())).thenReturn(true);
|
when(gh.contains(any())).thenReturn(true);
|
||||||
when(world.getBlockAt(anyInt(), anyInt(), anyInt())).thenReturn(block);
|
when(world.getBlockAt(anyInt(), anyInt(), anyInt())).thenReturn(block);
|
||||||
|
@ -765,8 +767,8 @@ public class BiomeRecipeTest {
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testSetType() {
|
public void testSetType() {
|
||||||
br.setType(Biome.BADLANDS_PLATEAU);
|
br.setType(Biome.BADLANDS);
|
||||||
assertEquals(Biome.BADLANDS_PLATEAU, br.getBiome());
|
assertEquals(Biome.BADLANDS, br.getBiome());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -296,7 +296,7 @@ public class GreenhouseEventsTest {
|
||||||
ghe.onIceBreak(e);
|
ghe.onIceBreak(e);
|
||||||
verify(block).setType(Material.AIR);
|
verify(block).setType(Material.AIR);
|
||||||
assertTrue(e.isCancelled());
|
assertTrue(e.isCancelled());
|
||||||
verify(world).playSound(any(), eq(Sound.BLOCK_GLASS_BREAK), eq(1F), eq(1F));
|
verify(world).playSound(any(Location.class), eq(Sound.BLOCK_GLASS_BREAK), eq(1F), eq(1F));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue