Skip to content

Commit ac4d4ad

Browse files
author
mige
committed
trying again with taming
1 parent 35d7fa1 commit ac4d4ad

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+115
-85
lines changed

src/main/java/de/kniffo80/mobplugin/AutoSpawnTask.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
import de.kniffo80.mobplugin.entities.spawners.SpiderSpawner;
5555
import de.kniffo80.mobplugin.entities.spawners.WolfSpawner;
5656
import de.kniffo80.mobplugin.entities.spawners.ZombieSpawner;
57+
import de.kniffo80.mobplugin.entities.utils.Utils;
5758

5859

5960
public class AutoSpawnTask implements Runnable {

src/main/java/de/kniffo80/mobplugin/MobPlugin.java

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
import java.util.ArrayList;
1010
import java.util.List;
1111

12-
import javax.rmi.CORBA.Util;
13-
1412
import cn.nukkit.IPlayer;
1513
import cn.nukkit.OfflinePlayer;
1614
import cn.nukkit.Player;
@@ -28,10 +26,8 @@
2826
import cn.nukkit.event.block.BlockPlaceEvent;
2927
import cn.nukkit.event.entity.EntityDamageByEntityEvent;
3028
import cn.nukkit.event.entity.EntityDeathEvent;
31-
import cn.nukkit.event.entity.EntityInteractEvent;
3229
import cn.nukkit.event.player.PlayerInteractEvent;
3330
import cn.nukkit.event.player.PlayerMouseOverEntityEvent;
34-
import cn.nukkit.event.player.PlayerMouseRightEntityEvent;
3531
import cn.nukkit.item.Item;
3632
import cn.nukkit.item.food.Food;
3733
import cn.nukkit.item.food.FoodNormal;
@@ -45,11 +41,9 @@
4541
import cn.nukkit.nbt.tag.FloatTag;
4642
import cn.nukkit.nbt.tag.ListTag;
4743
import cn.nukkit.network.protocol.EntityEventPacket;
48-
import cn.nukkit.network.protocol.InteractPacket;
49-
import cn.nukkit.network.protocol.MobEffectPacket;
50-
import cn.nukkit.network.protocol.PlayerInputPacket;
5144
import cn.nukkit.plugin.PluginBase;
5245
import cn.nukkit.utils.Config;
46+
import cn.nukkit.utils.DyeColor;
5347
import de.kniffo80.mobplugin.entities.BaseEntity;
5448
import de.kniffo80.mobplugin.entities.animal.flying.Bat;
5549
import de.kniffo80.mobplugin.entities.animal.swimming.Squid;
@@ -82,6 +76,7 @@
8276
import de.kniffo80.mobplugin.entities.monster.walking.Zombie;
8377
import de.kniffo80.mobplugin.entities.monster.walking.ZombieVillager;
8478
import de.kniffo80.mobplugin.entities.projectile.EntityFireBall;
79+
import de.kniffo80.mobplugin.entities.utils.Utils;
8580
import de.kniffo80.mobplugin.items.ItemEnderPearl;
8681
import de.kniffo80.mobplugin.items.ItemInkSac;
8782
import de.kniffo80.mobplugin.items.ItemMuttonCooked;
@@ -450,13 +445,21 @@ public void PlayerMouseOverEntityEvent(PlayerMouseOverEntityEvent ev) {
450445
counter = 0;
451446
FileLogger.debug(String.format("Received PlayerMouseOverEntityEvent [entity:%s]", ev.getEntity()));
452447
// wolves can be tamed using bones
453-
if (ev.getEntity().getNetworkId() == Wolf.NETWORK_ID && ev.getPlayer().getInventory().getItemInHand().getId() == Item.BONE) {
454-
// now try it out ...
455-
EntityEventPacket packet = new EntityEventPacket();
456-
packet.eid = ev.getEntity().getId();
457-
packet.event = EntityEventPacket.TAME_SUCCESS;
458-
Server.broadcastPacket(new Player[] { ev.getPlayer() }, packet);
459-
FileLogger.debug(String.format("Released packet [entity:%s]", ev.getEntity()));
448+
if (ev != null && ev.getEntity() != null && ev.getPlayer() != null && ev.getEntity().getNetworkId() == Wolf.NETWORK_ID && ev.getPlayer().getInventory().getItemInHand().getId() == Item.BONE) {
449+
// check if already owned and tamed ...
450+
Wolf wolf = (Wolf)ev.getEntity();
451+
if (!wolf.isAngry() && wolf.getOwner() == null) {
452+
// now try it out ...
453+
EntityEventPacket packet = new EntityEventPacket();
454+
packet.eid = ev.getEntity().getId();
455+
packet.event = EntityEventPacket.TAME_SUCCESS;
456+
Server.broadcastPacket(new Player[] { ev.getPlayer() }, packet);
457+
458+
// set the owner
459+
wolf.setOwner(ev.getPlayer());
460+
wolf.setCollarColor(DyeColor.BLUE);
461+
wolf.saveNBT();
462+
}
460463
}
461464
} else {
462465
counter++;

src/main/java/de/kniffo80/mobplugin/SpawnTask.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import cn.nukkit.block.Block;
1515
import cn.nukkit.level.Level;
1616
import cn.nukkit.level.Position;
17+
import de.kniffo80.mobplugin.entities.utils.Utils;
1718

1819
/**
1920
* @author <a href="mailto:kniffman@googlemail.com">Michael Gertz (mige)</a>

src/main/java/de/kniffo80/mobplugin/entities/FlyingEntity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
import cn.nukkit.math.Vector3;
88
import cn.nukkit.nbt.tag.CompoundTag;
99
import de.kniffo80.mobplugin.MobPlugin;
10-
import de.kniffo80.mobplugin.Utils;
1110
import de.kniffo80.mobplugin.entities.animal.Animal;
11+
import de.kniffo80.mobplugin.entities.utils.Utils;
1212

1313
public abstract class FlyingEntity extends BaseEntity {
1414

src/main/java/de/kniffo80/mobplugin/entities/Tameable.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,6 @@ public interface Tameable {
2020

2121
public static final String NAMED_TAG_SITTING = "Sitting";
2222

23-
public static final int DATA_TAMED_FLAG = 16;
24-
25-
public static final int DATA_UUID = 17;
26-
2723
Player getOwner();
2824

2925
void setOwner(Player player);

src/main/java/de/kniffo80/mobplugin/entities/WalkingEntity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
import cn.nukkit.math.Vector3;
1313
import cn.nukkit.nbt.tag.CompoundTag;
1414
import de.kniffo80.mobplugin.MobPlugin;
15-
import de.kniffo80.mobplugin.Utils;
1615
import de.kniffo80.mobplugin.entities.animal.Animal;
16+
import de.kniffo80.mobplugin.entities.utils.Utils;
1717

1818
public abstract class WalkingEntity extends BaseEntity {
1919

src/main/java/de/kniffo80/mobplugin/entities/animal/swimming/Squid.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
import cn.nukkit.item.Item;
99
import cn.nukkit.level.format.FullChunk;
1010
import cn.nukkit.nbt.tag.CompoundTag;
11-
import de.kniffo80.mobplugin.Utils;
1211
import de.kniffo80.mobplugin.entities.animal.WalkingAnimal;
12+
import de.kniffo80.mobplugin.entities.utils.Utils;
1313
import de.kniffo80.mobplugin.items.MobPluginItems;
1414

1515
public class Squid extends WalkingAnimal {

src/main/java/de/kniffo80/mobplugin/entities/animal/walking/Chicken.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
import cn.nukkit.item.Item;
1010
import cn.nukkit.level.format.FullChunk;
1111
import cn.nukkit.nbt.tag.CompoundTag;
12-
import de.kniffo80.mobplugin.Utils;
1312
import de.kniffo80.mobplugin.entities.animal.WalkingAnimal;
13+
import de.kniffo80.mobplugin.entities.utils.Utils;
1414

1515
public class Chicken extends WalkingAnimal {
1616

src/main/java/de/kniffo80/mobplugin/entities/animal/walking/Cow.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
import cn.nukkit.item.Item;
1010
import cn.nukkit.level.format.FullChunk;
1111
import cn.nukkit.nbt.tag.CompoundTag;
12-
import de.kniffo80.mobplugin.Utils;
1312
import de.kniffo80.mobplugin.entities.animal.WalkingAnimal;
13+
import de.kniffo80.mobplugin.entities.utils.Utils;
1414

1515
public class Cow extends WalkingAnimal {
1616

src/main/java/de/kniffo80/mobplugin/entities/animal/walking/Donkey.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
import cn.nukkit.item.Item;
1212
import cn.nukkit.level.format.FullChunk;
1313
import cn.nukkit.nbt.tag.CompoundTag;
14-
import de.kniffo80.mobplugin.Utils;
1514
import de.kniffo80.mobplugin.entities.animal.WalkingAnimal;
15+
import de.kniffo80.mobplugin.entities.utils.Utils;
1616

1717
/**
1818
* Implementation of a donkey

0 commit comments

Comments
 (0)