Last active
February 11, 2018 10:44
-
-
Save Densyakun/6071307d984fc004e9c816fa254efcf1 to your computer and use it in GitHub Desktop.
[BukkitPlugin]自動都市生成・生活プラグイン「MineCity」(開発断念)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package io.github.densyakun.bukkit.minecity; | |
import java.util.LinkedList; | |
import org.bukkit.command.Command; | |
import org.bukkit.command.CommandSender; | |
import org.bukkit.craftbukkit.v1_8_R3.CraftWorld; | |
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer; | |
import org.bukkit.entity.Player; | |
import org.bukkit.plugin.java.JavaPlugin; | |
import net.minecraft.server.v1_8_R3.StructurePiece; | |
import net.minecraft.server.v1_8_R3.WorldGenVillage.WorldGenVillageStart; | |
public class Main extends JavaPlugin { | |
@Override | |
public void onEnable() { | |
} | |
@Override | |
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { | |
if (sender instanceof Player) { | |
CraftPlayer p = (CraftPlayer) sender; | |
CraftWorld w = (CraftWorld) p.getWorld(); | |
/*PersistentVillage pb = w.getHandle().ae(); | |
pb.getClosestVillage(p.getHandle().bx, 0); | |
List<Village> villages = pb.getVillages(); | |
String v_str = ""; | |
for (int a = 0; a < villages.size(); a++) { | |
if (a != 0) { | |
v_str += ", "; | |
} | |
BlockPosition bp = villages.get(a).a(); | |
v_str += "{" + bp.getX() + ", " + bp.getY() + ", " + bp.getZ() + "}"; | |
} | |
sender.sendMessage("villages: " + v_str);*/ | |
/* | |
WorldGenVillage wgv = new WorldGenVillage(); | |
BlockPosition pos = new BlockPosition(p.getHandle()); | |
sender.sendMessage("a: " + wgv.a(w.getHandle(), pos)); //村の敷地内か | |
sender.sendMessage("b: " + wgv.b(pos)); //村の建造物の範囲内か | |
sender.sendMessage("getNearestGeneratedFeature: " + wgv.getNearestGeneratedFeature(w.getHandle(), pos)); //一番近い村の井戸 | |
*/ | |
try { | |
int i = Integer.valueOf(args[0]); | |
int j = Integer.valueOf(args[1]); | |
int k = Integer.valueOf(args[2]); | |
WorldGenVillageStart vs = new WorldGenVillageStart(w.getHandle(), w.getHandle().random, i, j, k); | |
//sender.sendMessage("a: " + vs.a()); //井戸の範囲 | |
LinkedList<StructurePiece> b = vs.b(); | |
String str_a = ""; | |
String str_b = ""; | |
String str_c = ""; | |
String str_d = ""; | |
for (int n = 0; n < b.size(); n++) { | |
if (n != 0) { | |
str_a += ", "; | |
str_b += ", "; | |
str_c += ", "; | |
str_d += ", "; | |
} | |
StructurePiece s = b.get(n); | |
str_a += s.a(); | |
str_b += s.b(); | |
str_c += s.c(); | |
str_d += s.d(); | |
} | |
sender.sendMessage("b.a: " + str_a); | |
sender.sendMessage("b.b: " + str_b); | |
sender.sendMessage("b.c: " + str_c); | |
sender.sendMessage("b.d: " + str_d); | |
sender.sendMessage("d: " + vs.d()); | |
//sender.sendMessage("e: " + vs.e()); //ChunkXを返す | |
//sender.sendMessage("f: " + vs.f()); //ChunkZを返す | |
} catch (ArrayIndexOutOfBoundsException | NumberFormatException e) { | |
sender.sendMessage("/" + label + "ChunkX, ChunkZ, Y"); | |
} | |
} | |
return true; | |
} | |
@Override | |
public void onDisable() { | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment