P4RS
Elmas Madencisi
- Mesajlar
- 834
- En iyi cevaplar
- 0
- Beğeniler
- 696
- Puanları
- 0
Evet Arkadaşlar bugün sizlere ÇiftZıpla Pluginini Paylaşacağım Bu pluginin Orjinal ismi DoubleJump dur ben bu plugini Eclipse ile baştan yaptım çalışan ilk pluginim bu plugini hazır source ile yaptım pluginde 1 adet permission vardır. permissions ve config.yml türkçedir. ayrıca bu plugin 2 kere space tuşuna basınca uzun ziplamaya yarar.
ÇiftZıpla Plugini 1.5.1 İndirmek için : http://www.mediafire.com/?q6dmv6wihrlb2tb
Permission:
ciftzipla.zipla = Yetki Verilen grup 2 kere space tuşuna basınca uzun ziplar.
Not: Orjinal Konu: dev.bukkit.org/server-mods/double-jump (Shinxs)
Source
main.java (hepsi küçük harf - src)
Kod:
package me.ahmetmelihtr.ciftzipla;
import java.util.logging.Logger;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPlugin;
import me.ahmetmelihtr.ciftzipla.listeners.ciftzipla;
public class main extends JavaPlugin {
public main plugin;
public Logger log = Logger.getLogger("Minecraft");
public void onEnable() {
logMessage("Aktif");
getConfig().options().copyDefaults(true);
saveConfig();
new ciftzipla(this);
}
public void onDisable() {
logMessage("Pasif");
}
public void logMessage(String msg) {
PluginDescriptionFile pdf = this.getDescription();
this.log.info("[" + pdf.getName() + " V" + pdf.getVersion() + "] " + msg);
}
}
ciftzipla.java (hepsi küçük harf - src/listeners)
Kod:
package me.ahmetmelihtr.ciftzipla.listeners;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Effect;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.event.player.PlayerToggleFlightEvent;
import org.bukkit.util.Vector;
import me.ahmetmelihtr.ciftzipla.main;
public class ciftzipla implements Listener {
private main plugin;
private List<String> justJumped = new ArrayList<String>();
public ciftzipla(main instance) {
Bukkit.getServer().getPluginManager().registerEvents(this, instance);
this.plugin = instance;
}
@EventHandler
public void join(PlayerJoinEvent event) {
Player player = event.getPlayer();
if(player.hasPermission("ciftzipla.zipla")) {
player.setAllowFlight(true);
justJumped.remove(player.getName());
}
}
@EventHandler
public void onRespawn(PlayerRespawnEvent event) {
Player player = event.getPlayer();
if(player.hasPermission("ciftzipla.zipla") || player.isOp()) {
player.setAllowFlight(true);
justJumped.remove(player.getName());
}
}
@EventHandler
public void setFlyOnJump(PlayerToggleFlightEvent event) {
Player player = event.getPlayer();
String name = player.getName();
World world = player.getWorld();
boolean messageOnJump = plugin.getConfig().getBoolean("Ziplama Mesaji");
boolean sound = plugin.getConfig().getBoolean("Ses");
boolean effect = plugin.getConfig().getBoolean("Ziplama Efekti");
boolean wallJump = plugin.getConfig().getBoolean("Ziplama Duvari");
boolean forwardOnJump = plugin.getConfig().getBoolean("Ziplarken Ileri Gitme");
int blocks = plugin.getConfig().getInt("Ziplama Seviyesi");
String message = plugin.getConfig().getString("Ziplarkenki Mesaj");
Vector jump = player.getVelocity().multiply(1).setY(0.17 * blocks);
Vector look = player.getLocation().getDirection().multiply(0.5);
if(event.isFlying() && event.getPlayer().getGameMode() != GameMode.CREATIVE) {
if(player.hasPermission("ciftzipla.zipla")) {
if(!wallJump) {
if(!justJumped.contains(name)) {
player.setFlying(false);
if(forwardOnJump) {
player.setVelocity(jump.add(look));
} else {
player.setVelocity(jump);
}
player.setAllowFlight(false);
if(messageOnJump) {
player.sendMessage(ChatColor.GREEN + message);
}
if(sound) {
player.playSound(player.getLocation(), Sound.IRONGOLEM_THROW, 10, -10);
}
if(effect) {
for(int i = 0; i <= 10; i++) {
world.playEffect(player.getLocation(), Effect.SMOKE, i);
}
}
} else {
player.setFlying(false);
player.setAllowFlight(false);
}
event.setCancelled(true);
} else {
Block block = player.getTargetBlock(null, 2);
if(block.getType() != Material.AIR) {
if(!justJumped.contains(name)) {
player.setFlying(false);
if(forwardOnJump) {
player.setVelocity(jump.add(look));
} else {
player.setVelocity(jump);
}
player.setAllowFlight(false);
if(messageOnJump) {
player.sendMessage(ChatColor.GREEN + message);
}
if(sound) {
player.playSound(player.getLocation(), Sound.IRONGOLEM_THROW, 10, -10);
}
if(effect) {
for(int i = 0; i <= 10; i++) {
world.playEffect(player.getLocation(), Effect.SMOKE, i);
}
}
} else {
player.setFlying(false);
player.setAllowFlight(false);
}
} else {
player.setFlying(false);
player.setAllowFlight(false);
}
event.setCancelled(true);
}
}
}
}
@EventHandler
public void onMove(PlayerMoveEvent event) {
Player player = event.getPlayer();
Location loc = player.getLocation();
Block block = loc.add(0, -1, 0).getBlock();
if(player.hasPermission("ciftzipla.zipla")) {
if(block.getType() == Material.AIR) {
if(!justJumped.contains(player.getName())) {
justJumped.add(player.getName());
}
} else {
if(justJumped.contains(player.getName())) {
justJumped.remove(player.getName());
player.setAllowFlight(true);
player.setFlying(false);
}
}
} else {
justJumped.remove(player.getName());
player.setAllowFlight(false);
player.setFlying(false);
}
}
}
config.yml (hepsi küçük harf - src)
Kod:
###################################################################################
# CiftZipla Plugini
# ciftzipla.zipla Komutunu verirseniz o kisi 2 kere space basinca yukariya ziplar.
# Asagıdaki Yerlerden Ayarlama Yapabilirsiniz.
# True=Olsun , False=Olmasin
# Forum.minecraftturk.com / ahmetmelihtr
###################################################################################
Ziplama Seviyesi: 2
Ziplama Mesaji: false
Ziplarkenki Mesaj: Zipladin!
Ses: true
Ziplama Efekti: false
Ziplama Duvari: false
Ziplarken Ileri Gitme: false
plugin.yml (hepsi küçük harf - src)
Kod:
name: ciftzipla
version: 1
main: me.ahmetmelihtr.ciftzipla.main
author: [Shinxs,Ceviri AhmetMelihTR]