Signed-off-by: yoyosource <yoyosource@nidido.de>
Dieser Commit ist enthalten in:
Ursprung
28bb95f000
Commit
4ee537e017
@ -50,7 +50,8 @@ dependencies {
|
|||||||
|
|
||||||
implementation project(":BauSystem_Main")
|
implementation project(":BauSystem_Main")
|
||||||
|
|
||||||
|
compileOnly 'org.spigotmc:spigot-api:1.18-R0.1-SNAPSHOT'
|
||||||
compileOnly files("${projectDir}/../lib/Spigot-1.18.jar")
|
compileOnly files("${projectDir}/../lib/Spigot-1.18.jar")
|
||||||
compileOnly files("${projectDir}/../lib/WorldEdit-1.18.jar")
|
compileOnly files("${projectDir}/../lib/WorldEdit-1.15.jar")
|
||||||
compileOnly files("${projectDir}/../lib/SpigotCore.jar")
|
compileOnly files("${projectDir}/../lib/SpigotCore.jar")
|
||||||
}
|
}
|
@ -0,0 +1,89 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.steamwar.bausystem.entities;
|
||||||
|
|
||||||
|
import com.sk89q.worldedit.blocks.Blocks;
|
||||||
|
import com.sk89q.worldedit.world.entity.EntityTypes;
|
||||||
|
import de.steamwar.bausystem.features.detonator.AbstractDetonatorEntity;
|
||||||
|
import net.minecraft.network.protocol.game.PacketPlayOutEntityDestroy;
|
||||||
|
import net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata;
|
||||||
|
import net.minecraft.network.protocol.game.PacketPlayOutSpawnEntity;
|
||||||
|
import net.minecraft.server.network.PlayerConnection;
|
||||||
|
import net.minecraft.world.entity.item.EntityFallingBlock;
|
||||||
|
import net.minecraft.world.phys.Vec3D;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.craftbukkit.v1_18_R1.CraftWorld;
|
||||||
|
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
public class DetonatorEntity18 extends EntityFallingBlock implements AbstractDetonatorEntity {
|
||||||
|
|
||||||
|
private static final Vec3D ZERO = new Vec3D(0, 0, 0);
|
||||||
|
private final Vector position;
|
||||||
|
private int references = 0;
|
||||||
|
|
||||||
|
public DetonatorEntity18(World world, Vector position) {
|
||||||
|
super(((CraftWorld) world).getHandle(), position.getX(), position.getY(), position.getZ(), Blocks.RED_STAINED_GLASS.getBlockData());
|
||||||
|
this.position = position;
|
||||||
|
|
||||||
|
this.h(true);
|
||||||
|
this.setNoGravity(true);
|
||||||
|
this.ticksLived = -12000;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void display(Player player) {
|
||||||
|
if (references++ > 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
PacketPlayOutSpawnEntity packetPlayOutSpawnEntity = new PacketPlayOutSpawnEntity(getId(), getUniqueID(), position.getX(), position.getY(), position.getZ(), 0, 0, EntityTypes.FALLING_BLOCK, Block.getCombinedId(Blocks.RED_STAINED_GLASS.getBlockData()), ZERO);
|
||||||
|
PlayerConnection playerConnection = ((CraftPlayer) player).getHandle().playerConnection;
|
||||||
|
playerConnection.sendPacket(packetPlayOutSpawnEntity);
|
||||||
|
|
||||||
|
PacketPlayOutEntityMetadata packetPlayOutEntityMetadata = new PacketPlayOutEntityMetadata(getId(), datawatcher, true);
|
||||||
|
playerConnection.sendPacket(packetPlayOutEntityMetadata);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hide(Player player, boolean force) {
|
||||||
|
if (!force && --references > 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
sendDestroy(player);
|
||||||
|
die();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendDestroy(Player player) {
|
||||||
|
PacketPlayOutEntityDestroy packetPlayOutEntityDestroy = new PacketPlayOutEntityDestroy(getId());
|
||||||
|
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packetPlayOutEntityDestroy);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendEntity(Player player) {
|
||||||
|
display(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendEntityDestroy(Player player) {
|
||||||
|
hide(player, false);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,66 @@
|
|||||||
|
/*
|
||||||
|
This file is a part of the SteamWar software.
|
||||||
|
|
||||||
|
Copyright (C) 2020 SteamWar.de-Serverteam
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU Affero General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU Affero General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Affero General Public License
|
||||||
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.steamwar.bausystem.entities;
|
||||||
|
|
||||||
|
import de.steamwar.bausystem.features.simulator.AbstractSimulatorEntity;
|
||||||
|
import de.steamwar.bausystem.shared.BaseEntity18;
|
||||||
|
import de.steamwar.bausystem.shared.ReferenceCounter;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
public class SimulatorEntity18 extends BaseEntity18 implements AbstractSimulatorEntity {
|
||||||
|
|
||||||
|
private ReferenceCounter referenceCounter = new ReferenceCounter();
|
||||||
|
|
||||||
|
public SimulatorEntity18(World world, Vector position, boolean highlight) {
|
||||||
|
super(world, position, highlight ? Material.WHITE_STAINED_GLASS : Material.TNT);
|
||||||
|
|
||||||
|
this.setNoGravity(true);
|
||||||
|
this.ticksLived = -12000;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void display(Player player) {
|
||||||
|
if (referenceCounter.increment() > 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
sendEntity(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPosition(Vector position) {
|
||||||
|
this.position = position;
|
||||||
|
setPosition(position.getX(), position.getY(), position.getZ());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hide(Player player, boolean force) {
|
||||||
|
if (!force && referenceCounter.decrement() > 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
sendEntityDestroy(player);
|
||||||
|
die();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
73
BauSystem_18/src/de/steamwar/bausystem/entities/TraceEntity18.java
Normale Datei
73
BauSystem_18/src/de/steamwar/bausystem/entities/TraceEntity18.java
Normale Datei
@ -0,0 +1,73 @@
|
|||||||
|
/*
|
||||||
|
This file is a part of the SteamWar software.
|
||||||
|
|
||||||
|
Copyright (C) 2020 SteamWar.de-Serverteam
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU Affero General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU Affero General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Affero General Public License
|
||||||
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.steamwar.bausystem.entities;
|
||||||
|
|
||||||
|
import de.steamwar.bausystem.features.tracer.AbstractTraceEntity;
|
||||||
|
import de.steamwar.bausystem.shared.BaseEntity18;
|
||||||
|
import de.steamwar.bausystem.shared.ReferenceCounter;
|
||||||
|
import net.minecraft.server.v1_15_R1.ChatComponentText;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
public class TraceEntity18 extends BaseEntity18 implements AbstractTraceEntity {
|
||||||
|
|
||||||
|
private boolean exploded = false;
|
||||||
|
private ReferenceCounter referenceCounter = new ReferenceCounter();
|
||||||
|
|
||||||
|
public TraceEntity18(World world, Vector position, boolean tnt) {
|
||||||
|
super(world, position, tnt ? Material.TNT : Material.WHITE_STAINED_GLASS);
|
||||||
|
|
||||||
|
this.setNoGravity(true);
|
||||||
|
this.ticksLived = -12000;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void display(Player player, boolean exploded, int ticks) {
|
||||||
|
if (ticks != -1) {
|
||||||
|
this.setCustomNameVisible(true);
|
||||||
|
this.setCustomName(new ChatComponentText(ticks + ""));
|
||||||
|
}
|
||||||
|
if (!this.exploded && exploded) {
|
||||||
|
this.setCustomNameVisible(true);
|
||||||
|
this.setCustomName(new ChatComponentText("Bumm"));
|
||||||
|
this.exploded = true;
|
||||||
|
if (referenceCounter.increment() > 0) {
|
||||||
|
sendEntityDestroy(player);
|
||||||
|
}
|
||||||
|
} else if (referenceCounter.increment() > 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
sendEntity(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hide(Player player, boolean force) {
|
||||||
|
if (!force && referenceCounter.decrement() > 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
sendEntityDestroy(player);
|
||||||
|
die();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
60
BauSystem_18/src/de/steamwar/bausystem/entities/WarpEntity18.java
Normale Datei
60
BauSystem_18/src/de/steamwar/bausystem/entities/WarpEntity18.java
Normale Datei
@ -0,0 +1,60 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.steamwar.bausystem.entities;
|
||||||
|
|
||||||
|
import de.steamwar.bausystem.features.warp.AbstractWarpEntity;
|
||||||
|
import de.steamwar.bausystem.shared.BaseArmorStand18;
|
||||||
|
import net.minecraft.server.v1_15_R1.ChatComponentText;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
public class WarpEntity18 extends BaseArmorStand18 implements AbstractWarpEntity {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
public WarpEntity18(World world, Vector position, String name) {
|
||||||
|
super(world, position);
|
||||||
|
setInvisible(true);
|
||||||
|
setSmall(true);
|
||||||
|
this.name = name;
|
||||||
|
this.setNoGravity(true);
|
||||||
|
this.ticksLived = -12000;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void display(Player player) {
|
||||||
|
this.setCustomNameVisible(true);
|
||||||
|
this.setCustomName(new ChatComponentText(name));
|
||||||
|
sendEntity(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hide(Player player) {
|
||||||
|
sendEntityDestroy(player);
|
||||||
|
die();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
62
BauSystem_18/src/de/steamwar/bausystem/shared/BaseArmorStand18.java
Normale Datei
62
BauSystem_18/src/de/steamwar/bausystem/shared/BaseArmorStand18.java
Normale Datei
@ -0,0 +1,62 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.steamwar.bausystem.shared;
|
||||||
|
|
||||||
|
import com.sk89q.worldedit.world.entity.EntityTypes;
|
||||||
|
import net.minecraft.network.protocol.game.PacketPlayOutEntityDestroy;
|
||||||
|
import net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata;
|
||||||
|
import net.minecraft.network.protocol.game.PacketPlayOutSpawnEntity;
|
||||||
|
import net.minecraft.server.network.PlayerConnection;
|
||||||
|
import net.minecraft.world.entity.decoration.EntityArmorStand;
|
||||||
|
import net.minecraft.world.phys.Vec3D;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.craftbukkit.v1_18_R1.CraftWorld;
|
||||||
|
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
public class BaseArmorStand18 extends EntityArmorStand implements AbstractEntity {
|
||||||
|
|
||||||
|
private static final Vec3D ZERO = new Vec3D(0, 0, 0);
|
||||||
|
|
||||||
|
protected Vector position;
|
||||||
|
|
||||||
|
public BaseArmorStand18(World world, Vector position) {
|
||||||
|
super(((CraftWorld) world).getHandle(), position.getX(), position.getY(), position.getZ());
|
||||||
|
|
||||||
|
this.position = position;
|
||||||
|
setNoGravity(true);
|
||||||
|
ticksLived = -12000;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendEntity(Player player) {
|
||||||
|
PacketPlayOutSpawnEntity packetPlayOutSpawnEntity = new PacketPlayOutSpawnEntity(getId(), getUniqueID(), position.getX(), position.getY(), position.getZ(), 0, 0, EntityTypes.ARMOR_STAND, 0, ZERO);
|
||||||
|
PlayerConnection playerConnection = ((CraftPlayer) player).getHandle().playerConnection;
|
||||||
|
playerConnection.sendPacket(packetPlayOutSpawnEntity);
|
||||||
|
|
||||||
|
PacketPlayOutEntityMetadata packetPlayOutEntityMetadata = new PacketPlayOutEntityMetadata(getId(), datawatcher, true);
|
||||||
|
playerConnection.sendPacket(packetPlayOutEntityMetadata);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendEntityDestroy(Player player) {
|
||||||
|
PacketPlayOutEntityDestroy packetPlayOutEntityDestroy = new PacketPlayOutEntityDestroy(getId());
|
||||||
|
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packetPlayOutEntityDestroy);
|
||||||
|
}
|
||||||
|
}
|
67
BauSystem_18/src/de/steamwar/bausystem/shared/BaseEntity18.java
Normale Datei
67
BauSystem_18/src/de/steamwar/bausystem/shared/BaseEntity18.java
Normale Datei
@ -0,0 +1,67 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.steamwar.bausystem.shared;
|
||||||
|
|
||||||
|
import com.sk89q.worldedit.world.entity.EntityTypes;
|
||||||
|
import net.minecraft.network.protocol.game.PacketPlayOutEntityDestroy;
|
||||||
|
import net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata;
|
||||||
|
import net.minecraft.network.protocol.game.PacketPlayOutSpawnEntity;
|
||||||
|
import net.minecraft.server.network.PlayerConnection;
|
||||||
|
import net.minecraft.world.entity.item.EntityFallingBlock;
|
||||||
|
import net.minecraft.world.level.block.state.IBlockData;
|
||||||
|
import net.minecraft.world.phys.Vec3D;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.craftbukkit.v1_18_R1.CraftWorld;
|
||||||
|
import org.bukkit.craftbukkit.v1_18_R1.block.data.CraftBlockData;
|
||||||
|
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
public class BaseEntity18 extends EntityFallingBlock implements AbstractEntity {
|
||||||
|
|
||||||
|
private static final Vec3D ZERO = new Vec3D(0, 0, 0);
|
||||||
|
|
||||||
|
private final IBlockData iBlockData;
|
||||||
|
protected Vector position;
|
||||||
|
|
||||||
|
public BaseEntity18(World world, Vector position, Material blockType) {
|
||||||
|
super(((CraftWorld) world).getHandle(), position.getX(), position.getY(), position.getZ(), ((CraftBlockData) blockType.createBlockData()).getState());
|
||||||
|
this.iBlockData = ((CraftBlockData) blockType.createBlockData()).getState();
|
||||||
|
this.position = position;
|
||||||
|
|
||||||
|
this.setNoGravity(true);
|
||||||
|
this.ticksLived = -12000;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendEntity(Player player) {
|
||||||
|
PacketPlayOutSpawnEntity packetPlayOutSpawnEntity = new PacketPlayOutSpawnEntity(getId(), getUniqueID(), position.getX(), position.getY(), position.getZ(), 0, 0, EntityTypes.FALLING_BLOCK, Block.getCombinedId(iBlockData), ZERO);
|
||||||
|
PlayerConnection playerConnection = ((CraftPlayer) player).getHandle().playerConnection;
|
||||||
|
playerConnection.sendPacket(packetPlayOutSpawnEntity);
|
||||||
|
|
||||||
|
PacketPlayOutEntityMetadata packetPlayOutEntityMetadata = new PacketPlayOutEntityMetadata(getId(), datawatcher, true);
|
||||||
|
playerConnection.sendPacket(packetPlayOutEntityMetadata);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendEntityDestroy(Player player) {
|
||||||
|
PacketPlayOutEntityDestroy packetPlayOutEntityDestroy = new PacketPlayOutEntityDestroy(getId());
|
||||||
|
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packetPlayOutEntityDestroy);
|
||||||
|
}
|
||||||
|
}
|
102
BauSystem_18/src/de/steamwar/bausystem/utils/FlatteningWrapper18.java
Normale Datei
102
BauSystem_18/src/de/steamwar/bausystem/utils/FlatteningWrapper18.java
Normale Datei
@ -0,0 +1,102 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2022 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.steamwar.bausystem.utils;
|
||||||
|
|
||||||
|
import com.sk89q.worldedit.EditSession;
|
||||||
|
import com.sk89q.worldedit.WorldEditException;
|
||||||
|
import com.sk89q.worldedit.extent.clipboard.Clipboard;
|
||||||
|
import de.steamwar.bausystem.region.Color;
|
||||||
|
import de.steamwar.bausystem.region.PasteOptions;
|
||||||
|
import de.steamwar.bausystem.region.Point;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
public class FlatteningWrapper18 implements FlatteningWrapper.IFlatteningWrapper {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isNoBook(ItemStack item) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isUnpusheable(Material material) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isBreakingOnPush(Material material) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isWorldEditCommand(String command) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setSelection(Player p, Point minPoint, Point maxPoint) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EditSession paste(File file, Point pastePoint, PasteOptions pasteOptions) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EditSession paste(Clipboard clipboard, Point pastePoint, PasteOptions pasteOptions) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void changeColor(Clipboard clipboard, Color color) throws WorldEditException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean backup(Point minPoint, Point maxPoint, File file) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean inWater(World world, Vector tntPosition) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Material getTraceShowMaterial() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Material getTraceHideMaterial() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Material getTraceXZMaterial() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
80
BauSystem_18/src/de/steamwar/bausystem/utils/NMSWrapper18.java
Normale Datei
80
BauSystem_18/src/de/steamwar/bausystem/utils/NMSWrapper18.java
Normale Datei
@ -0,0 +1,80 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2022 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.steamwar.bausystem.utils;
|
||||||
|
|
||||||
|
import de.steamwar.bausystem.features.detonator.AbstractDetonatorEntity;
|
||||||
|
import de.steamwar.bausystem.features.simulator.AbstractSimulatorEntity;
|
||||||
|
import de.steamwar.bausystem.features.tracer.AbstractTraceEntity;
|
||||||
|
import de.steamwar.bausystem.features.warp.AbstractWarpEntity;
|
||||||
|
import org.bukkit.GameMode;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
import java.util.function.LongSupplier;
|
||||||
|
|
||||||
|
public class NMSWrapper18 implements NMSWrapper.INMSWrapper {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setInternalGameMode(Player player, GameMode gameMode) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init(LongSupplier longSupplier) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void createTickCache(World world) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendTickPackets() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean checkItemStack(ItemStack item) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AbstractWarpEntity createWarp(World world, Vector position, String name) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AbstractSimulatorEntity createSimulator(World world, Vector tntPosition, boolean highlight) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AbstractDetonatorEntity constructDetonator(World world, Vector position) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AbstractTraceEntity createTrace(World world, Vector tntPosition, boolean tnt) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
12
build.gradle
12
build.gradle
@ -75,6 +75,18 @@ allprojects {
|
|||||||
maven {
|
maven {
|
||||||
url = uri("https://raw.githubusercontent.com/yoyosource/YAPION/master/releases")
|
url = uri("https://raw.githubusercontent.com/yoyosource/YAPION/master/releases")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
url = uri("https://repo.codemc.io/repository/maven-snapshots/")
|
||||||
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
url = uri('https://hub.spigotmc.org/nexus/content/repositories/snapshots/')
|
||||||
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
url = uri('https://libraries.minecraft.net')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren