1.7.0 rc2 (1.19.3 datawater fix)
This commit is contained in:
parent
6b453dde97
commit
0ea945d84e
12 changed files with 88 additions and 169 deletions
33
.github/ISSUE_TEMPLATE/bug_report.md
vendored
33
.github/ISSUE_TEMPLATE/bug_report.md
vendored
|
@ -1,33 +0,0 @@
|
|||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: bug report
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**System Info (please complete the following information):**
|
||||
- OS: [e.g. Windows/Linux]
|
||||
- Server Host [e.g. Apex/Custom]
|
||||
- MC Version [e.g. 1.17/1.18]
|
||||
- Plugin Version [e.g. 1.3.0/1.3.1 BETA]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
|
@ -1,20 +0,0 @@
|
|||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: new plugin feature
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
11
.github/PULL_REQUEST_TEMPLATE.md
vendored
11
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
@ -1,11 +0,0 @@
|
|||
**Describe the change**
|
||||
A clear and concise description of what the changes are.
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what your changes are going to do.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your changes.
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the pull request here.
|
37
.github/workflows/beta.yml
vendored
37
.github/workflows/beta.yml
vendored
|
@ -1,37 +0,0 @@
|
|||
name: Beta
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout branch
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
|
||||
- name: Build with Maven
|
||||
run: |
|
||||
mvn -B package --file pom.xml
|
||||
mkdir staging && cp target/*.jar staging
|
||||
|
||||
- name: Set up a cache for maven
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.m2
|
||||
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||
restore-keys: ${{ runner.os }}-m2
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: artifacts-beta
|
||||
path: staging
|
37
.github/workflows/release.yml
vendored
37
.github/workflows/release.yml
vendored
|
@ -1,37 +0,0 @@
|
|||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout branch
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
|
||||
- name: Build with Maven
|
||||
run: |
|
||||
mvn -B package --file pom.xml
|
||||
mkdir staging && cp target/*.jar staging
|
||||
|
||||
- name: Set up a cache for maven
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.m2
|
||||
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||
restore-keys: ${{ runner.os }}-m2
|
||||
|
||||
- name: Upload artificats
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: artifacts-release
|
||||
path: staging
|
BIN
lib/ProtocolLib.jar
Normal file
BIN
lib/ProtocolLib.jar
Normal file
Binary file not shown.
14
pom.xml
14
pom.xml
|
@ -80,10 +80,10 @@
|
|||
<id>spigot-repo</id>
|
||||
<url>https://hub.spigotmc.org/nexus/content/repositories/public/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>dmulloy2-repo</id>
|
||||
<url>https://repo.dmulloy2.net/repository/public/</url>
|
||||
</repository>
|
||||
<!-- <repository>-->
|
||||
<!-- <id>dmulloy2-repo</id>-->
|
||||
<!-- <url>https://repo.dmulloy2.net/repository/public/</url>-->
|
||||
<!-- </repository>-->
|
||||
<repository>
|
||||
<id>placeholderapi</id>
|
||||
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
|
||||
|
@ -106,9 +106,9 @@
|
|||
<dependency>
|
||||
<groupId>com.comphenix.protocol</groupId>
|
||||
<artifactId>ProtocolLib</artifactId>
|
||||
<version>4.4.0</version>
|
||||
<!-- <scope>system</scope>-->
|
||||
<!-- <systemPath>${project.basedir}/lib/ProtocolLib.jar</systemPath>-->
|
||||
<version>4.8.0</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/lib/ProtocolLib.jar</systemPath>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.xerial</groupId>
|
||||
|
|
|
@ -17,6 +17,7 @@ public class Disguiser {
|
|||
|
||||
public Disguiser(){
|
||||
this.disguises = new HashMap<>();
|
||||
|
||||
}
|
||||
|
||||
public Disguise getDisguise(Player player){
|
||||
|
|
|
@ -235,11 +235,7 @@ public class EntityHider implements Listener {
|
|||
destroyEntity.getIntegerArrays().write(0, new int[]{entity.getEntityId()});
|
||||
} catch (Exception e){ return false; }
|
||||
// Make the entity disappear
|
||||
try {
|
||||
manager.sendServerPacket(observer, destroyEntity);
|
||||
} catch (InvocationTargetException e) {
|
||||
throw new RuntimeException("Cannot send server packet.", e);
|
||||
}
|
||||
manager.sendServerPacket(observer, destroyEntity);
|
||||
}
|
||||
return visibleBefore;
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import com.comphenix.protocol.ProtocolManager;
|
|||
import com.comphenix.protocol.events.PacketContainer;
|
||||
import com.comphenix.protocol.wrappers.WrappedDataWatcher;
|
||||
import net.tylermurphy.hideAndSeek.Main;
|
||||
import net.tylermurphy.hideAndSeek.util.packet.EntityMetadataPacket;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
@ -64,22 +65,13 @@ public class Glow {
|
|||
}
|
||||
|
||||
public void setGlow(Player player, Player target, boolean glowing) {
|
||||
PacketContainer packet = protocolManager.createPacket(PacketType.Play.Server.ENTITY_METADATA);
|
||||
packet.getIntegers().write(0, target.getEntityId());
|
||||
WrappedDataWatcher watcher = new WrappedDataWatcher();
|
||||
WrappedDataWatcher.Serializer serializer = WrappedDataWatcher.Registry.get(Byte.class);
|
||||
watcher.setEntity(target);
|
||||
if (glowing) {
|
||||
watcher.setObject(0, serializer, (byte) (0x40));
|
||||
} else {
|
||||
watcher.setObject(0, serializer, (byte) (0x0));
|
||||
}
|
||||
packet.getWatchableCollectionModifier().write(0, watcher.getWatchableObjects());
|
||||
try {
|
||||
protocolManager.sendServerPacket(player, packet);
|
||||
} catch (InvocationTargetException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
EntityMetadataPacket packet = new EntityMetadataPacket();
|
||||
packet.setEntity(target);
|
||||
packet.setGlow(glowing);
|
||||
packet.writeMetadata();
|
||||
packet.send(player);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -23,9 +23,7 @@ public class AbstractPacket {
|
|||
}
|
||||
|
||||
public void send(Player player){
|
||||
try {
|
||||
protocolManager.sendServerPacket(player, packet);
|
||||
} catch (InvocationTargetException ignored) {}
|
||||
protocolManager.sendServerPacket(player, packet);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,70 @@
|
|||
package net.tylermurphy.hideAndSeek.util.packet;
|
||||
|
||||
import com.comphenix.protocol.PacketType;
|
||||
import com.comphenix.protocol.wrappers.WrappedDataValue;
|
||||
import com.comphenix.protocol.wrappers.WrappedDataWatcher;
|
||||
import com.comphenix.protocol.wrappers.WrappedWatchableObject;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class EntityMetadataPacket extends AbstractPacket {
|
||||
|
||||
private final WrappedDataWatcher watcher;
|
||||
private final WrappedDataWatcher.Serializer serializer;
|
||||
|
||||
public EntityMetadataPacket(){
|
||||
super(PacketType.Play.Server.ENTITY_METADATA);
|
||||
watcher = new WrappedDataWatcher();
|
||||
serializer = WrappedDataWatcher.Registry.get(Byte.class);
|
||||
}
|
||||
|
||||
public void setEntity(@NotNull Entity target){
|
||||
super.packet.getIntegers().write(0, target.getEntityId());
|
||||
watcher.setEntity(target);
|
||||
}
|
||||
|
||||
public void setGlow(boolean glowing){
|
||||
if (glowing) {
|
||||
watcher.setObject(0, serializer, (byte) (0x40));
|
||||
} else {
|
||||
watcher.setObject(0, serializer, (byte) (0x0));
|
||||
}
|
||||
}
|
||||
|
||||
public void writeMetadata() {
|
||||
|
||||
// thank you to
|
||||
// https://www.spigotmc.org/threads/unable-to-modify-entity-metadata-packet-using-protocollib-1-19-3.582442/
|
||||
|
||||
try {
|
||||
// 1.19.3 And Up
|
||||
Class.forName("com.comphenix.protocol.wrappers.WrappedDataValue");
|
||||
|
||||
final List<WrappedDataValue> wrappedDataValueList = new ArrayList<>();
|
||||
|
||||
for(final WrappedWatchableObject entry : watcher.getWatchableObjects()) {
|
||||
if(entry == null) continue;
|
||||
|
||||
final WrappedDataWatcher.WrappedDataWatcherObject watcherObject = entry.getWatcherObject();
|
||||
wrappedDataValueList.add(
|
||||
new WrappedDataValue(
|
||||
watcherObject.getIndex(),
|
||||
watcherObject.getSerializer(),
|
||||
entry.getRawValue()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
packet.getDataValueCollectionModifier().write(0, wrappedDataValueList);
|
||||
|
||||
} catch (ClassCastException | ClassNotFoundException ignored) {
|
||||
// 1.9 to 1.19.2 And Up
|
||||
packet.getWatchableCollectionModifier().write(0, watcher.getWatchableObjects());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue