From 8763c29532afee95bc5d644e5f74d6f3137dbcfa Mon Sep 17 00:00:00 2001
From: AWang05 <awang05@yeah.net>
Date: Sun, 29 Sep 2024 15:47:15 +0800
Subject: [PATCH 1/8] =?UTF-8?q?=E5=9B=9E=E6=94=B6=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../java/org/awang05/ballGame/BallGame.java   |  3 ++
 .../ballGame/events/RecycleListener.java      | 30 +++++++++++++++++++
 2 files changed, 33 insertions(+)
 create mode 100644 src/main/java/org/awang05/ballGame/events/RecycleListener.java

diff --git a/src/main/java/org/awang05/ballGame/BallGame.java b/src/main/java/org/awang05/ballGame/BallGame.java
index ac0f4f2..b0c5819 100644
--- a/src/main/java/org/awang05/ballGame/BallGame.java
+++ b/src/main/java/org/awang05/ballGame/BallGame.java
@@ -1,5 +1,6 @@
 package org.awang05.ballGame;
 
+import org.awang05.ballGame.events.*;
 import org.bukkit.plugin.java.JavaPlugin;
 
 public final class BallGame extends JavaPlugin {
@@ -7,7 +8,9 @@ public final class BallGame extends JavaPlugin {
     @Override
     public void onEnable() {
         // Plugin startup logic
+        getServer().getPluginManager().registerEvents(new RecycleListener(),this);
 
+        getLogger().info("BallGame鍚姩");
     }
 
     @Override
diff --git a/src/main/java/org/awang05/ballGame/events/RecycleListener.java b/src/main/java/org/awang05/ballGame/events/RecycleListener.java
new file mode 100644
index 0000000..29efe3b
--- /dev/null
+++ b/src/main/java/org/awang05/ballGame/events/RecycleListener.java
@@ -0,0 +1,30 @@
+package org.awang05.ballGame.events;
+
+import org.bukkit.Material;
+import org.bukkit.entity.Entity;
+import org.bukkit.entity.EntityType;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.player.PlayerMoveEvent;
+import org.bukkit.inventory.ItemStack;
+
+import java.util.List;
+
+public class RecycleListener implements Listener {
+    @EventHandler
+    public void onPlayerShift(PlayerMoveEvent event){
+        Player player= event.getPlayer();
+        if(player.isSneaking()&&player.getInventory().getItemInOffHand().getType()== Material.AIR){
+            List<Entity> entityList=player.getNearbyEntities(1,1,1);
+            for(Entity e:entityList){
+                if (e.getType()== EntityType.CHICKEN){
+                    ItemStack itemStack=new ItemStack(Material.EGG);
+                    player.getInventory().setItemInOffHand(itemStack);
+                    e.remove();
+                    return;
+                }
+            }
+        }
+    }
+}
-- 
GitLab


From 10785414815d3a26b836ba48fb1ed3acc717f456 Mon Sep 17 00:00:00 2001
From: AWang05 <awang05@yeah.net>
Date: Sun, 29 Sep 2024 17:16:34 +0800
Subject: [PATCH 2/8] =?UTF-8?q?=E6=8A=9B=E5=87=BA=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../java/org/awang05/ballGame/BallGame.java   |  1 +
 .../ballGame/events/ThrowListener.java        | 46 +++++++++++++++++++
 .../{paper-plugin.yml => plugin.yml}          |  0
 3 files changed, 47 insertions(+)
 create mode 100644 src/main/java/org/awang05/ballGame/events/ThrowListener.java
 rename src/main/resources/{paper-plugin.yml => plugin.yml} (100%)

diff --git a/src/main/java/org/awang05/ballGame/BallGame.java b/src/main/java/org/awang05/ballGame/BallGame.java
index b0c5819..b35b772 100644
--- a/src/main/java/org/awang05/ballGame/BallGame.java
+++ b/src/main/java/org/awang05/ballGame/BallGame.java
@@ -9,6 +9,7 @@ public final class BallGame extends JavaPlugin {
     public void onEnable() {
         // Plugin startup logic
         getServer().getPluginManager().registerEvents(new RecycleListener(),this);
+        getServer().getPluginManager().registerEvents(new ThrowListener(),this);
 
         getLogger().info("BallGame鍚姩");
     }
diff --git a/src/main/java/org/awang05/ballGame/events/ThrowListener.java b/src/main/java/org/awang05/ballGame/events/ThrowListener.java
new file mode 100644
index 0000000..7425f0d
--- /dev/null
+++ b/src/main/java/org/awang05/ballGame/events/ThrowListener.java
@@ -0,0 +1,46 @@
+package org.awang05.ballGame.events;
+
+import org.bukkit.Location;
+import org.bukkit.Material;
+import org.bukkit.entity.Chicken;
+import org.bukkit.entity.EntityType;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.player.PlayerInteractEvent;
+import org.bukkit.inventory.ItemStack;
+import org.bukkit.potion.PotionEffect;
+import org.bukkit.potion.PotionEffectType;
+import org.bukkit.util.Vector;
+
+public class ThrowListener implements Listener {
+    @EventHandler
+    public void onPlayerInteract(PlayerInteractEvent event){
+        Player player= event.getPlayer();
+        ItemStack itemStack=player.getInventory().getItemInOffHand();
+        if(itemStack.getType()== Material.EGG&& !player.isSneaking()){
+            event.setCancelled(true);
+            Location eyeLocation=player.getEyeLocation();
+            Vector direction=eyeLocation.getDirection();
+            double x=direction.getX();
+            double z=direction.getZ();
+            final double sqrt = Math.sqrt(x * x + z * z);
+            double dx=x/ sqrt;
+            double dz=z/ sqrt;
+            eyeLocation.add(dx,0,dz);
+            Chicken entity= (Chicken) player.getWorld().spawnEntity(eyeLocation, EntityType.CHICKEN);
+            entity.setVelocity(new Vector(0,0.8,0));
+            entity.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE,1919810,4));
+            entity.addPotionEffect(new PotionEffect(PotionEffectType.SLOW,1919810,114513));
+            entity.addPotionEffect(new PotionEffect(PotionEffectType.JUMP,1919810,-114515));
+
+            int n=itemStack.getAmount();
+            if(n>1) {
+                itemStack.setAmount(n - 1);
+                player.getInventory().setItemInOffHand(itemStack);
+            }
+            else
+                player.getInventory().setItemInOffHand(null);
+        }
+    }
+}
diff --git a/src/main/resources/paper-plugin.yml b/src/main/resources/plugin.yml
similarity index 100%
rename from src/main/resources/paper-plugin.yml
rename to src/main/resources/plugin.yml
-- 
GitLab


From 3c844e46455b75f7c208bcd2b7f5f26f646fb2cb Mon Sep 17 00:00:00 2001
From: AWang05 <awang05@yeah.net>
Date: Sun, 29 Sep 2024 20:16:26 +0800
Subject: [PATCH 3/8] =?UTF-8?q?=E6=89=93=E5=87=BB=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../java/org/awang05/ballGame/BallGame.java   |  1 +
 .../awang05/ballGame/events/HitListener.java  | 32 +++++++++++++++++++
 .../ballGame/events/ThrowListener.java        |  2 +-
 3 files changed, 34 insertions(+), 1 deletion(-)
 create mode 100644 src/main/java/org/awang05/ballGame/events/HitListener.java

diff --git a/src/main/java/org/awang05/ballGame/BallGame.java b/src/main/java/org/awang05/ballGame/BallGame.java
index b35b772..72a63cd 100644
--- a/src/main/java/org/awang05/ballGame/BallGame.java
+++ b/src/main/java/org/awang05/ballGame/BallGame.java
@@ -10,6 +10,7 @@ public final class BallGame extends JavaPlugin {
         // Plugin startup logic
         getServer().getPluginManager().registerEvents(new RecycleListener(),this);
         getServer().getPluginManager().registerEvents(new ThrowListener(),this);
+        getServer().getPluginManager().registerEvents(new HitListener(),this);
 
         getLogger().info("BallGame鍚姩");
     }
diff --git a/src/main/java/org/awang05/ballGame/events/HitListener.java b/src/main/java/org/awang05/ballGame/events/HitListener.java
new file mode 100644
index 0000000..13fb199
--- /dev/null
+++ b/src/main/java/org/awang05/ballGame/events/HitListener.java
@@ -0,0 +1,32 @@
+package org.awang05.ballGame.events;
+
+import org.bukkit.Material;
+import org.bukkit.entity.Chicken;
+import org.bukkit.entity.Entity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.entity.EntityDamageByEntityEvent;
+import org.bukkit.event.player.PlayerInteractEvent;
+
+public class HitListener implements Listener {
+    private double speed=1.6;
+    //private final double min=0.4;
+    //private final double max=3.4;
+
+    @EventHandler
+    public void OnHit(EntityDamageByEntityEvent event){
+        Entity entity= event.getEntity();
+        if(!(entity instanceof Chicken)) return;
+        if(!(event.getDamager() instanceof Player player)) return;
+        event.setCancelled(true);
+        entity.setVelocity(player.getEyeLocation().getDirection().multiply(speed)); //灏嗛浮鍚戦潰鍚戞柟鍚戞墦鍑�
+    }
+
+    @EventHandler
+    public void OnRight(PlayerInteractEvent event){
+        Player player= event.getPlayer();
+        if(player.getInventory().getItemInMainHand().getType()!= Material.STICK) return;
+        speed=1.6;    //鏆傚畾锛屼互鍚庢敼鎴愬姩鎬佺殑[min,max]
+    }
+}
diff --git a/src/main/java/org/awang05/ballGame/events/ThrowListener.java b/src/main/java/org/awang05/ballGame/events/ThrowListener.java
index 7425f0d..b169d3d 100644
--- a/src/main/java/org/awang05/ballGame/events/ThrowListener.java
+++ b/src/main/java/org/awang05/ballGame/events/ThrowListener.java
@@ -29,7 +29,7 @@ public class ThrowListener implements Listener {
             double dz=z/ sqrt;
             eyeLocation.add(dx,0,dz);
             Chicken entity= (Chicken) player.getWorld().spawnEntity(eyeLocation, EntityType.CHICKEN);
-            entity.setVelocity(new Vector(0,0.8,0));
+            entity.setVelocity(new Vector(0,0.7,0));
             entity.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE,1919810,4));
             entity.addPotionEffect(new PotionEffect(PotionEffectType.SLOW,1919810,114513));
             entity.addPotionEffect(new PotionEffect(PotionEffectType.JUMP,1919810,-114515));
-- 
GitLab


From 6f129c5092ad28e12d7eb4e7a2c3731d992feef8 Mon Sep 17 00:00:00 2001
From: AWang05 <awang05@yeah.net>
Date: Mon, 30 Sep 2024 20:42:14 +0800
Subject: [PATCH 4/8] =?UTF-8?q?=E8=93=84=E5=8A=9B=E5=8A=9F=E8=83=BD?=
 =?UTF-8?q?=E5=AE=8C=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../ballGame/controller/ChargeController.java | 68 +++++++++++++++++++
 .../awang05/ballGame/events/HitListener.java  | 20 ++++--
 2 files changed, 84 insertions(+), 4 deletions(-)
 create mode 100644 src/main/java/org/awang05/ballGame/controller/ChargeController.java

diff --git a/src/main/java/org/awang05/ballGame/controller/ChargeController.java b/src/main/java/org/awang05/ballGame/controller/ChargeController.java
new file mode 100644
index 0000000..046daae
--- /dev/null
+++ b/src/main/java/org/awang05/ballGame/controller/ChargeController.java
@@ -0,0 +1,68 @@
+package org.awang05.ballGame.controller;
+
+import org.bukkit.entity.Player;
+import org.bukkit.plugin.Plugin;
+import org.bukkit.scheduler.BukkitRunnable;
+
+public class ChargeController {
+    private static final float min= 0.6F;
+    private static final float max= 3.6F;
+    private static final float dx=0.1F;
+    private float ad=-dx;
+    private float x=-1F;
+
+    private final Player player;
+    private int time=-1;
+    public ChargeController(Player p,Plugin plugin){
+        player=p;
+        new BukkitRunnable() {  //adder
+            @Override
+            public void run() {
+                if(!player.isOnline()){
+                    this.cancel();
+                    return;
+                }
+                if(x<0) return;
+                x+=ad;
+                if(x<0){
+                    player.setExp(0);
+                    x=-1;
+                }
+                else if(x>=1){
+                    x=1;
+                    player.setExp(1);
+                }
+                else {
+                    player.setExp(x);
+                }
+            }
+        }.runTaskTimer(plugin,0,2);
+
+        new BukkitRunnable(){   //timer
+            @Override
+            public void run() {
+                if(time<=0) return;
+                --time;
+                if (time==0){
+                    ad=-dx;
+                }
+            }
+        }.runTaskTimer(plugin,0,2);
+    }
+
+    public float getSpeed(){
+        if(x<=0) return min;
+        return min+x*(max-min);
+    }
+
+    public void press(){
+        ad=dx;
+        time=2;
+        if(x<0) x=0;
+    }
+
+    public void clear(){
+        x=-1;
+        player.setExp(0);
+    }
+}
diff --git a/src/main/java/org/awang05/ballGame/events/HitListener.java b/src/main/java/org/awang05/ballGame/events/HitListener.java
index 13fb199..ef74555 100644
--- a/src/main/java/org/awang05/ballGame/events/HitListener.java
+++ b/src/main/java/org/awang05/ballGame/events/HitListener.java
@@ -1,5 +1,7 @@
 package org.awang05.ballGame.events;
 
+import org.awang05.ballGame.BallGame;
+import org.awang05.ballGame.controller.ChargeController;
 import org.bukkit.Material;
 import org.bukkit.entity.Chicken;
 import org.bukkit.entity.Entity;
@@ -8,11 +10,18 @@ import org.bukkit.event.EventHandler;
 import org.bukkit.event.Listener;
 import org.bukkit.event.entity.EntityDamageByEntityEvent;
 import org.bukkit.event.player.PlayerInteractEvent;
+import org.bukkit.event.player.PlayerJoinEvent;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
 
 public class HitListener implements Listener {
-    private double speed=1.6;
-    //private final double min=0.4;
-    //private final double max=3.4;
+    private final Dictionary<Player, ChargeController> ConDic=new Hashtable<>();
+    @EventHandler
+    public void OnJoin(PlayerJoinEvent event){
+        Player player=event.getPlayer();
+        ConDic.put(player,new ChargeController(player, BallGame.getProvidingPlugin(BallGame.class)));
+    }
 
     @EventHandler
     public void OnHit(EntityDamageByEntityEvent event){
@@ -20,13 +29,16 @@ public class HitListener implements Listener {
         if(!(entity instanceof Chicken)) return;
         if(!(event.getDamager() instanceof Player player)) return;
         event.setCancelled(true);
+        double speed=ConDic.get(player).getSpeed();
         entity.setVelocity(player.getEyeLocation().getDirection().multiply(speed)); //灏嗛浮鍚戦潰鍚戞柟鍚戞墦鍑�
+        ConDic.get(player).clear();
     }
 
     @EventHandler
     public void OnRight(PlayerInteractEvent event){
+        if(!event.getAction().isRightClick())return;
         Player player= event.getPlayer();
         if(player.getInventory().getItemInMainHand().getType()!= Material.STICK) return;
-        speed=1.6;    //鏆傚畾锛屼互鍚庢敼鎴愬姩鎬佺殑[min,max]
+        ConDic.get(player).press();
     }
 }
-- 
GitLab


From 1cb6e29c2c7d6145e8a4b4dd569368f683702d54 Mon Sep 17 00:00:00 2001
From: AWang05 <awang05@yeah.net>
Date: Mon, 30 Sep 2024 21:53:36 +0800
Subject: [PATCH 5/8] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=93=84=E5=8A=9B?=
 =?UTF-8?q?=E5=90=8Epause?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../ballGame/controller/ChargeController.java   | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/awang05/ballGame/controller/ChargeController.java b/src/main/java/org/awang05/ballGame/controller/ChargeController.java
index 046daae..916f3e6 100644
--- a/src/main/java/org/awang05/ballGame/controller/ChargeController.java
+++ b/src/main/java/org/awang05/ballGame/controller/ChargeController.java
@@ -8,11 +8,12 @@ public class ChargeController {
     private static final float min= 0.6F;
     private static final float max= 3.6F;
     private static final float dx=0.1F;
+    private static final int pause=10;
     private float ad=-dx;
     private float x=-1F;
 
     private final Player player;
-    private int time=-1;
+    private int time=-1,time1=-1;
     public ChargeController(Player p,Plugin plugin){
         player=p;
         new BukkitRunnable() {  //adder
@@ -44,10 +45,22 @@ public class ChargeController {
                 if(time<=0) return;
                 --time;
                 if (time==0){
-                    ad=-dx;
+                    ad=0;
+                    time1=pause;
                 }
             }
         }.runTaskTimer(plugin,0,2);
+        new BukkitRunnable() {  //pause timer
+            @Override
+            public void run() {
+                if(ad!=0) return;
+                if(time1>0){
+                    time1-=2;
+                    return;
+                }
+                ad=-dx;
+            }
+        }.runTaskTimer(plugin,2,2);
     }
 
     public float getSpeed(){
-- 
GitLab


From 9798d3fc3fc265aa2cf82c9c6773860240953ad5 Mon Sep 17 00:00:00 2001
From: AWang05 <awang05@yeah.net>
Date: Thu, 3 Oct 2024 21:16:09 +0800
Subject: [PATCH 6/8] new project

---
 pom.xml                                                   | 4 ++--
 .../controller/ChargeController.java                      | 2 +-
 .../{ballGame => nmoFootball}/events/HitListener.java     | 8 ++++----
 .../{ballGame => nmoFootball}/events/RecycleListener.java | 2 +-
 .../{ballGame => nmoFootball}/events/ThrowListener.java   | 2 +-
 .../BallGame.java => nmoFootball/nmoFootball.java}        | 8 ++++----
 src/main/resources/plugin.yml                             | 4 ++--
 7 files changed, 15 insertions(+), 15 deletions(-)
 rename src/main/java/org/awang05/{ballGame => nmoFootball}/controller/ChargeController.java (97%)
 rename src/main/java/org/awang05/{ballGame => nmoFootball}/events/HitListener.java (85%)
 rename src/main/java/org/awang05/{ballGame => nmoFootball}/events/RecycleListener.java (96%)
 rename src/main/java/org/awang05/{ballGame => nmoFootball}/events/ThrowListener.java (97%)
 rename src/main/java/org/awang05/{ballGame/BallGame.java => nmoFootball/nmoFootball.java} (72%)

diff --git a/pom.xml b/pom.xml
index 48ca14e..a9e93fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,11 +5,11 @@
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>org.awang05</groupId>
-    <artifactId>ballgame</artifactId>
+    <artifactId>nmoFootball</artifactId>
     <version>1.0.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
-    <name>ballgame</name>
+    <name>nmoFootball</name>
 
     <properties>
         <java.version>17</java.version>
diff --git a/src/main/java/org/awang05/ballGame/controller/ChargeController.java b/src/main/java/org/awang05/nmoFootball/controller/ChargeController.java
similarity index 97%
rename from src/main/java/org/awang05/ballGame/controller/ChargeController.java
rename to src/main/java/org/awang05/nmoFootball/controller/ChargeController.java
index 916f3e6..e8cab2b 100644
--- a/src/main/java/org/awang05/ballGame/controller/ChargeController.java
+++ b/src/main/java/org/awang05/nmoFootball/controller/ChargeController.java
@@ -1,4 +1,4 @@
-package org.awang05.ballGame.controller;
+package org.awang05.nmoFootball.controller;
 
 import org.bukkit.entity.Player;
 import org.bukkit.plugin.Plugin;
diff --git a/src/main/java/org/awang05/ballGame/events/HitListener.java b/src/main/java/org/awang05/nmoFootball/events/HitListener.java
similarity index 85%
rename from src/main/java/org/awang05/ballGame/events/HitListener.java
rename to src/main/java/org/awang05/nmoFootball/events/HitListener.java
index ef74555..1a2680e 100644
--- a/src/main/java/org/awang05/ballGame/events/HitListener.java
+++ b/src/main/java/org/awang05/nmoFootball/events/HitListener.java
@@ -1,7 +1,7 @@
-package org.awang05.ballGame.events;
+package org.awang05.nmoFootball.events;
 
-import org.awang05.ballGame.BallGame;
-import org.awang05.ballGame.controller.ChargeController;
+import org.awang05.nmoFootball.nmoFootball;
+import org.awang05.nmoFootball.controller.ChargeController;
 import org.bukkit.Material;
 import org.bukkit.entity.Chicken;
 import org.bukkit.entity.Entity;
@@ -20,7 +20,7 @@ public class HitListener implements Listener {
     @EventHandler
     public void OnJoin(PlayerJoinEvent event){
         Player player=event.getPlayer();
-        ConDic.put(player,new ChargeController(player, BallGame.getProvidingPlugin(BallGame.class)));
+        ConDic.put(player,new ChargeController(player, nmoFootball.getProvidingPlugin(nmoFootball.class)));
     }
 
     @EventHandler
diff --git a/src/main/java/org/awang05/ballGame/events/RecycleListener.java b/src/main/java/org/awang05/nmoFootball/events/RecycleListener.java
similarity index 96%
rename from src/main/java/org/awang05/ballGame/events/RecycleListener.java
rename to src/main/java/org/awang05/nmoFootball/events/RecycleListener.java
index 29efe3b..780f3b2 100644
--- a/src/main/java/org/awang05/ballGame/events/RecycleListener.java
+++ b/src/main/java/org/awang05/nmoFootball/events/RecycleListener.java
@@ -1,4 +1,4 @@
-package org.awang05.ballGame.events;
+package org.awang05.nmoFootball.events;
 
 import org.bukkit.Material;
 import org.bukkit.entity.Entity;
diff --git a/src/main/java/org/awang05/ballGame/events/ThrowListener.java b/src/main/java/org/awang05/nmoFootball/events/ThrowListener.java
similarity index 97%
rename from src/main/java/org/awang05/ballGame/events/ThrowListener.java
rename to src/main/java/org/awang05/nmoFootball/events/ThrowListener.java
index b169d3d..d035ac3 100644
--- a/src/main/java/org/awang05/ballGame/events/ThrowListener.java
+++ b/src/main/java/org/awang05/nmoFootball/events/ThrowListener.java
@@ -1,4 +1,4 @@
-package org.awang05.ballGame.events;
+package org.awang05.nmoFootball.events;
 
 import org.bukkit.Location;
 import org.bukkit.Material;
diff --git a/src/main/java/org/awang05/ballGame/BallGame.java b/src/main/java/org/awang05/nmoFootball/nmoFootball.java
similarity index 72%
rename from src/main/java/org/awang05/ballGame/BallGame.java
rename to src/main/java/org/awang05/nmoFootball/nmoFootball.java
index 72a63cd..f84824d 100644
--- a/src/main/java/org/awang05/ballGame/BallGame.java
+++ b/src/main/java/org/awang05/nmoFootball/nmoFootball.java
@@ -1,9 +1,9 @@
-package org.awang05.ballGame;
+package org.awang05.nmoFootball;
 
-import org.awang05.ballGame.events.*;
+import org.awang05.nmoFootball.events.*;
 import org.bukkit.plugin.java.JavaPlugin;
 
-public final class BallGame extends JavaPlugin {
+public final class nmoFootball extends JavaPlugin {
 
     @Override
     public void onEnable() {
@@ -12,7 +12,7 @@ public final class BallGame extends JavaPlugin {
         getServer().getPluginManager().registerEvents(new ThrowListener(),this);
         getServer().getPluginManager().registerEvents(new HitListener(),this);
 
-        getLogger().info("BallGame鍚姩");
+        getLogger().info("nmoFootball鍚姩");
     }
 
     @Override
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index ca6632b..8c420be 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -1,4 +1,4 @@
-name: BallGame
+name: nmoFootball
 version: '1.0.0-SNAPSHOT'
-main: org.awang05.ballGame.BallGame
+main: org.awang05.nmoFootball.nmoFootball
 api-version: '1.20'
-- 
GitLab


From 4d6ec1880a659bc867708a6468b448973744e5e1 Mon Sep 17 00:00:00 2001
From: AWang05 <awang05@yeah.net>
Date: Thu, 3 Oct 2024 21:31:16 +0800
Subject: [PATCH 7/8] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=89=93=E5=87=BB?=
 =?UTF-8?q?=E6=96=B9=E5=90=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/main/java/org/awang05/nmoFootball/events/HitListener.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/awang05/nmoFootball/events/HitListener.java b/src/main/java/org/awang05/nmoFootball/events/HitListener.java
index 1a2680e..b6f255f 100644
--- a/src/main/java/org/awang05/nmoFootball/events/HitListener.java
+++ b/src/main/java/org/awang05/nmoFootball/events/HitListener.java
@@ -30,7 +30,9 @@ public class HitListener implements Listener {
         if(!(event.getDamager() instanceof Player player)) return;
         event.setCancelled(true);
         double speed=ConDic.get(player).getSpeed();
-        entity.setVelocity(player.getEyeLocation().getDirection().multiply(speed)); //灏嗛浮鍚戦潰鍚戞柟鍚戞墦鍑�
+        double x=player.getEyeLocation().getDirection().getX();
+        double z=player.getEyeLocation().getDirection().getZ();
+        entity.setVelocity(player.getEyeLocation().getDirection().setY(0.1).multiply(speed/Math.sqrt(x*x+z*z))); //灏嗛浮鍚戦潰鍚戞柟鍚戞墦鍑�
         ConDic.get(player).clear();
     }
 
-- 
GitLab


From 30f69d65141a4d57982e3c56900c815a93f801f4 Mon Sep 17 00:00:00 2001
From: AWang05 <awang05@yeah.net>
Date: Thu, 3 Oct 2024 21:35:44 +0800
Subject: [PATCH 8/8] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE?=
 =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../controller/ChargeController.java          | 22 +++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/awang05/nmoFootball/controller/ChargeController.java b/src/main/java/org/awang05/nmoFootball/controller/ChargeController.java
index e8cab2b..87c109e 100644
--- a/src/main/java/org/awang05/nmoFootball/controller/ChargeController.java
+++ b/src/main/java/org/awang05/nmoFootball/controller/ChargeController.java
@@ -5,10 +5,24 @@ import org.bukkit.plugin.Plugin;
 import org.bukkit.scheduler.BukkitRunnable;
 
 public class ChargeController {
-    private static final float min= 0.6F;
-    private static final float max= 3.6F;
-    private static final float dx=0.1F;
-    private static final int pause=10;
+    private static float min= 0.6F;
+    private static float max= 3.6F;
+    private static float dx=0.1F;
+    private static int pause=10;
+
+    public static void setMin(float min){
+        ChargeController.min=min;
+    }
+    public static void setMax(float max){
+        ChargeController.max=max;
+    }
+    public static void setDx(float dx){
+        ChargeController.dx=dx;
+    }
+    public static void setPause(int pause){
+        ChargeController.pause=pause;
+    }
+
     private float ad=-dx;
     private float x=-1F;
 
-- 
GitLab