9
0
mirror of https://github.com/HibiscusMC/HMCCosmetics.git synced 2025-12-24 17:39:18 +00:00

Compare commits

..

62 Commits

Author SHA1 Message Date
Fisher2911
86346583cc Fixed unequipping first person cosmetics 2022-07-08 20:13:43 -04:00
Fisher2911
b13d44536f Fixed rotation for other players 2022-07-08 15:56:46 -04:00
Fisher2911
822422d4a5 First person back hidden mode works 2022-07-08 15:51:51 -04:00
Fisher2911
449fc8a84b Why 2022-07-03 21:10:37 -04:00
Fisher2911
9be234cf11 Why 2022-07-03 21:08:30 -04:00
Fisher2911
08be1d56ac Attempting first person view stuff 2022-07-02 20:21:29 -04:00
lucian929
c6aecaae80 Change dependency info 2022-05-26 15:11:04 -04:00
lucian929
d25336f966 Feature request template (credit Skyslycer) 2022-05-22 10:57:21 -04:00
lucian929
49dfb46cc5 Unshaded packetevents (jar can be downloaded at https://github.com/retrooper/packetevents/actions) 2022-05-13 15:39:47 -04:00
lucian929
4774e2d1d6 build.gradle changes 2022-05-06 19:58:10 -04:00
Fisher2911
31775c5e85 Removed sending packets silently 2022-04-29 21:45:39 -04:00
Fisher2911
59bba0e854 Merge remote-tracking branch 'origin/master' 2022-04-29 21:44:44 -04:00
Fisher2911
74a0d279b0 Added close menu action 2022-04-29 21:44:29 -04:00
lucian929
3d51b77123 Fix look-down-backpack-remove 2022-04-07 00:01:50 -04:00
Fisher2911
fc7b886727 Merge remote-tracking branch 'origin/master' 2022-04-06 23:35:28 -04:00
Fisher2911
4be32d3849 Allow console command for wardrobe 2022-04-06 23:35:19 -04:00
lucian929
e39b56a63e Bump version number 2022-04-05 21:50:57 -04:00
Fisher2911
bc994bfa2f Fixed balloons not being removed in wardrobe 2022-04-05 21:44:03 -04:00
Fisher2911
0ea5c92d86 Fixed issue with not opening wardrobe inventory 2022-04-03 22:27:08 -04:00
Fisher2911
3ed245c95b Improved wardrobe viewing 2022-04-03 21:33:45 -04:00
Fisher2911
7bb4312fee 1.18.2 support, balloon bug fix 2022-04-01 23:04:45 -04:00
Fisher2911
24c06fd12c Fixed files not getting committed 2022-03-29 20:31:43 -04:00
Fisher2911
3a0ff5504e Fixed files not getting committed 2022-03-29 20:28:37 -04:00
Fisher2911
7caeec3fd1 Fixed packet sending 2022-03-29 20:17:28 -04:00
Fisher2911
4e3c0b1c6b Merge remote-tracking branch 'origin/master' 2022-03-22 22:50:57 -04:00
Fisher2911
383ee49d67 Progress so far with switching to PacketEvents 2022-03-22 22:50:32 -04:00
Fisher2911
67e3dbfcf5 Changed to use PacketEvents 2022-03-18 17:14:30 -04:00
lucian929
355920ae8c Update bug-report.yml 2022-03-14 17:52:16 -04:00
lucian929
cd2a8e54e1 Update bug-report.yml 2022-03-14 17:19:03 -04:00
lucian929
a05fde5038 Merge pull request #17 from HibiscusMC/issue-template
Issue template
2022-03-14 17:15:50 -04:00
lucian929
14b0cc6275 Fix YAML syntax error 2022-03-14 17:14:44 -04:00
lucian929
f9ffd91116 New issue template 2022-03-14 17:13:03 -04:00
lucian929
7b063815fc Remove feature template
We handle feature requests on our support discord.
2022-03-14 16:53:38 -04:00
Fisher2911
6653ac6edc Merge remote-tracking branch 'origin/master'
# Conflicts:
#	common/src/main/java/io/github/fisher2911/hmccosmetics/hook/CitizensHook.java
2022-03-12 15:23:54 -05:00
Fisher2911
2beadca574 Removed imports 2022-03-12 15:23:33 -05:00
Fisher2911
844e7c852f Added option to set multiple cosmetics 2022-03-12 13:28:08 -05:00
Fisher2911
6c2363a9fb Allowed sub folders for menus folder 2022-03-12 13:20:10 -05:00
Fisher2911
13212fe26e Fixed ModelEngine bug again 2022-03-12 13:16:09 -05:00
MasterOfTheFish
766eed0387 Fixed Citizens Error 2022-03-11 08:02:36 -05:00
lucian929
a06a5004e1 Bump version number 2022-03-10 21:39:21 -05:00
lucian929
8eec822a8c Merge pull request #16 from Acterax/master
Fix too much packets
2022-03-10 10:09:12 -05:00
Tom
56ca9b2a39 Fix too much packets 2022-03-10 16:02:02 +01:00
lucian929
88b24aefbc Bump version number 2022-03-07 20:10:41 -05:00
Fisher2911
e0044c6d15 Fixed balloons 2022-03-07 17:25:03 -05:00
Fisher2911
6c2049a8d8 Fixed ModelEngine error 2022-03-07 15:49:59 -05:00
lucian929
2ffb791ce1 Bump version number 2022-03-07 10:58:04 -05:00
lucian929
6ced156e23 Merge pull request #14 from KaspianDev/patch-1 2022-03-07 10:57:38 -05:00
Kacper Smoliński
8045a63964 Fix errors 2022-03-07 16:53:50 +01:00
Fisher
49681c7c1d Stopped loading of token if no cosmetic is found 2022-03-07 10:01:36 -05:00
Fisher
1e69dcea89 Fixed always having world name be 'world' 2022-03-07 09:51:07 -05:00
Fisher
2b832c33a4 Added removal of armor stand when not wearing backpack 2022-03-07 08:49:24 -05:00
Fisher2911
8cda481a55 Fixed reload issue with tokens 2022-03-07 00:01:47 -05:00
Fisher
6294a26b1d Delete nms/build directory 2022-03-06 18:34:43 -05:00
Fisher
29b26c29ca Delete common/build directory 2022-03-06 18:34:33 -05:00
Fisher
01230dda3f Delete 1.16/build directory 2022-03-06 18:34:11 -05:00
Fisher
181bd722ac Delete 1.18/build directory 2022-03-06 18:34:01 -05:00
Fisher
4deb586813 Delete 1.17/build directory 2022-03-06 18:33:51 -05:00
Fisher
d478736b5b Delete .idea directory 2022-03-06 18:33:26 -05:00
Fisher2911
d961bd2966 Merge branch 'updates'
# Conflicts:
#	.gitignore
#	1.16/build/classes/java/main/io/github/fisher2911/nms/ArmorStandPackets_1_16_R3.class
#	1.16/build/classes/java/main/io/github/fisher2911/nms/DestroyPacket_1_16_R3.class
#	1.16/build/libs/1.16.jar
#	1.16/build/tmp/compileJava/previous-compilation-data.bin
#	1.17/build/libs/1.17.jar
#	1.17/build/tmp/compileJava/previous-compilation-data.bin
#	1.18/build/libs/1.18.jar
#	1.18/build/tmp/compileJava/previous-compilation-data.bin
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/HMCCosmetics.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/api/CosmeticItem.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/api/HMCCosmeticsAPI.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/api/event/CosmeticChangeEvent.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/api/event/CosmeticItemEvent.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/concurrent/Threads.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/ActionSerializer.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/CosmeticSettings$1.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/CosmeticSettings.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/DyeGuiSerializer.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/GuiSerializer.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/ItemSerializer.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/Settings.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/SoundData.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/WardrobeSettings.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/cosmetic/CosmeticManager.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/database/Database.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/database/DatabaseConverter.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/database/DatabaseFactory.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/database/DatabaseType.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/database/dao/ArmorItemDAO.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/database/dao/UserDAO.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/gui/ArmorItem$1.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/gui/ArmorItem$Type.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/gui/ArmorItem.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/gui/ColorItem.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/gui/CosmeticGui.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/gui/CosmeticsMenu.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/gui/DyeSelectorGui.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/Hook.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/HookManager.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/PAPIHook.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/item/ItemHook.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/item/ItemHooks.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/item/ItemsAdderHook.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/item/OraxenHook.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/inventory/PlayerArmor.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/ClickListener.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/CosmeticFixListener.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/JoinListener.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/MoveListener.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/PlayerShiftListener.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/RespawnListener.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/TeleportListener.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/WardrobeClickListener.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/Adventure.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/ErrorMessages.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/Message$Type.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/Message.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/MessageHandler$1.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/MessageHandler.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/Messages$1.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/Messages.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/Permission.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/Placeholder.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/TitleMessage.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/Translation.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/packet/PacketManager.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/DataTask.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/ImmediateTask.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/InfiniteTask.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/SupplierTask.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/SyncedTask.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/Task.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/TaskChain.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/TaskManager.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/user/Equipment.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/user/User.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/user/UserManager$1.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/user/UserManager.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/user/Wardrobe.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/util/Keys.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/util/StringUtils.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/util/Utils.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/util/builder/ColorBuilder.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/util/builder/ItemBuilder.class
#	common/build/classes/java/main/io/github/fisher2911/hmccosmetics/util/builder/SkullBuilder.class
#	common/build/generated/plugin-yml/Bukkit/plugin.yml
#	common/build/resources/main/config.yml
#	common/build/resources/main/menus/main.yml
#	common/build/resources/main/messages.yml
#	common/build/resources/main/plugin.yml
#	common/build/tmp/compileJava/previous-compilation-data.bin
#	nms/build/libs/nms.jar
#	nms/build/tmp/compileJava/previous-compilation-data.bin
2022-03-06 18:32:10 -05:00
lucian929
c8ee8c0c7c Remove some files 2022-02-15 12:40:52 -05:00
lucian929
ce3989edca Fix .gitignore (i think) 2022-02-15 12:30:03 -05:00
lucian929
09e252bd48 Update .gitignore 2022-02-15 12:28:13 -05:00
210 changed files with 2475 additions and 2847 deletions

View File

@@ -1,20 +0,0 @@
---
name: Bug Report
about: Create a bug report to help us keep track of all bugs that have to be fixed
title: "[BUG] Bug name"
labels: bug
---
**I have checked...**
- [ ] ...if there are any similar bug reports
- [ ] ...if a bug fix is already planned
**Complete description**
Write your bug description as good as you can.
**Possible solution**
If you have any possible solutions, write them here, if not, leave it blank or put "N/A".
**Error/Server log**
If you have any errors put them in here (from paste.gg or sentry)

62
.github/ISSUE_TEMPLATE/bug-report.yml vendored Normal file
View File

@@ -0,0 +1,62 @@
name: Bug Report
description: Create a bug report to help us keep track of all bugs that have to be fixed
title: "[BUG] <name for bug>"
labels: [bug]
body:
- type: checkboxes
id: i-have-checked
attributes:
label: I have checked...
options:
- label: "I am using the latest version of HMCCosmetics"
required: true
- label: "I am using the latest version of any dependencies"
required: true
- label: "I have checked if any similar bug reports exist"
required: true
- type: textarea
id: description
attributes:
label: Description
description: A full description of the bug
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: Steps to reproduce
description: Explain how to reproduce this issue step-by-step, in as much detail as possible.
validations:
required: true
- type: textarea
id: hmcc-version
attributes:
label: Plugin Version
description: Run `version HMCCosmetics` in your console and paste the output
validations:
required: true
- type: textarea
id: meg-version
attributes:
label: ModelEngine Version
description: "Run `version ModelEngine` in your console and paste the output. Optional if not using balloons."
validations:
required: false
- type: textarea
id: server-version
attributes:
label: Server Version
description: "Run `version` in your console and paste the output."
validations:
required: true
- type: "dropdown"
id: "type"
attributes:
label: "How breaking is the bug?"
options:
- "Breaking Bug - Plugin unusable"
- "Non-breaking Bug - Plugin still usable, but certain features unavailable"
- "Minor Bug - Plugin completely functional, but features have non-working aspects"
validations:
required: true

View File

@@ -0,0 +1,29 @@
name: Feature Request
description: Create a feature request to help us keep track of all features you want to be added
title: "[FEATURE] <title>"
labels: [feature]
body:
- type: "checkboxes"
id: "i-have-checked"
attributes:
label: "I have checked that..."
options:
- label: "...such a feature does not exist already"
required: true
- label: "...such a feature request has not been submitted already"
required: true
- type: "textarea"
id: "description"
attributes:
label: "Description"
description: "A full description of the feature"
validations:
required: true
- type: "textarea"
id: "config-changes"
attributes:
label: "Config Changes"
description: "The configuration changes your feature should have"
validations:
required: false

View File

@@ -1,19 +0,0 @@
---
name: Feature To-Do
about: Create an issue with this template to keep track of the current development projects.
title: "[FEATURE] Feature name"
labels: enhancement
---
**I have checked...**
- [ ] ...if there are any similar features in other branches
- [ ] ...if there are any similar issues
- [ ] ...if such a feature is already planned
**Complete description**
Write your feature description as good as you can.
**Reason for feature request**
Write your reason for the feature request as good as you can.

8
.idea/.gitignore generated vendored
View File

@@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/

View File

@@ -1,36 +0,0 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<option name="FORMATTER_TAGS_ENABLED" value="true" />
<JavaCodeStyleSettings>
<option name="GENERATE_FINAL_LOCALS" value="true" />
<option name="GENERATE_FINAL_PARAMETERS" value="true" />
<option name="REPLACE_NULL_CHECK" value="false" />
<option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999999999" />
<option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999999" />
</JavaCodeStyleSettings>
<JetCodeStyleSettings>
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</JetCodeStyleSettings>
<codeStyleSettings language="JAVA">
<arrangement>
<groups>
<group>
<type>GETTERS_AND_SETTERS</type>
<order>KEEP</order>
</group>
<group>
<type>OVERRIDDEN_METHODS</type>
<order>KEEP</order>
</group>
<group>
<type>DEPENDENT_METHODS</type>
<order>BREADTH_FIRST</order>
</group>
</groups>
</arrangement>
</codeStyleSettings>
<codeStyleSettings language="kotlin">
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</codeStyleSettings>
</code_scheme>
</component>

View File

@@ -1,6 +0,0 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
<option name="PREFERRED_PROJECT_CODE_STYLE" value="GoogleStyle" />
</state>
</component>

8
.idea/compiler.xml generated
View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="16">
<module name="common" target="1.8" />
</bytecodeTargetLevel>
</component>
</project>

7
.idea/discord.xml generated
View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DiscordProjectSettings">
<option name="show" value="ASK" />
<option name="description" value="" />
</component>
</project>

7
.idea/encodings.xml generated
View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/common/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/common/src/main/resources" charset="UTF-8" />
</component>
</project>

25
.idea/gradle.xml generated
View File

@@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="delegatedBuild" value="true" />
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="openjdk-16" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/1.16" />
<option value="$PROJECT_DIR$/1.17" />
<option value="$PROJECT_DIR$/1.18" />
<option value="$PROJECT_DIR$/common" />
<option value="$PROJECT_DIR$/nms" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="HotSwapAgentPluginSettingsProvider">
<option name="agentPath" value="C:\Users\barry\AppData\Roaming\JetBrains\IdeaIC2021.2\plugins\hotswap-agent-intellij-plugin\lib\agent\hotswap-agent-1.4.1.jar" />
</component>
</project>

View File

@@ -1,125 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="maven2" />
<option name="name" value="maven2" />
<option name="url" value="https://repo.mattstudios.me/artifactory/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://repo.maven.apache.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="maven7" />
<option name="name" value="maven7" />
<option name="url" value="https://oss.sonatype.org/content/repositories/snapshots/" />
</remote-repository>
<remote-repository>
<option name="id" value="paperweightDecompilerRepository" />
<option name="name" value="paperweightDecompilerRepository" />
<option name="url" value="https://files.minecraftforge.net/maven/" />
</remote-repository>
<remote-repository>
<option name="id" value="sonatype" />
<option name="name" value="sonatype" />
<option name="url" value="https://oss.sonatype.org/content/groups/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="paperweightParamMappingsRepository" />
<option name="name" value="paperweightParamMappingsRepository" />
<option name="url" value="https://maven.fabricmc.net/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="maven6" />
<option name="name" value="maven6" />
<option name="url" value="https://jitpack.io" />
</remote-repository>
<remote-repository>
<option name="id" value="maven7" />
<option name="name" value="maven7" />
<option name="url" value="https://repo.jeff-media.de/maven2/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven8" />
<option name="name" value="maven8" />
<option name="url" value="https://maven.pkg.github.com/LoneDev6/API-ItemsAdder" />
</remote-repository>
<remote-repository>
<option name="id" value="maven" />
<option name="name" value="maven" />
<option name="url" value="https://papermc.io/repo/repository/maven-public/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven5" />
<option name="name" value="maven5" />
<option name="url" value="https://repo.leonardobishop.com/releases/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven6" />
<option name="name" value="maven6" />
<option name="url" value="https://mvnrepository.com/artifact/com.zaxxer/HikariCP" />
</remote-repository>
<remote-repository>
<option name="id" value="maven8" />
<option name="name" value="maven8" />
<option name="url" value="https://oss.sonatype.org/content/repositories/snapshots" />
</remote-repository>
<remote-repository>
<option name="id" value="maven4" />
<option name="name" value="maven4" />
<option name="url" value="https://repo.extendedclip.com/content/repositories/placeholderapi/" />
</remote-repository>
<remote-repository>
<option name="id" value="MavenRepo" />
<option name="name" value="MavenRepo" />
<option name="url" value="https://repo.maven.apache.org/maven2/" />
</remote-repository>
<remote-repository>
<option name="id" value="MavenLocal" />
<option name="name" value="MavenLocal" />
<option name="url" value="file:/$MAVEN_REPOSITORY$/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven11" />
<option name="name" value="maven11" />
<option name="url" value="https://libraries.minecraft.net/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven7" />
<option name="name" value="maven7" />
<option name="url" value="https://repo.dmulloy2.net/repository/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="spigotmc-repo" />
<option name="name" value="spigotmc-repo" />
<option name="url" value="https://hub.spigotmc.org/nexus/content/repositories/snapshots/" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven9" />
<option name="name" value="maven9" />
<option name="url" value="https://repo.citizensnpcs.co/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven9" />
<option name="name" value="maven9" />
<option name="url" value="https://repo.citizensnpcs.co" />
</remote-repository>
<remote-repository>
<option name="id" value="maven10" />
<option name="name" value="maven10" />
<option name="url" value="https://mvn.lumine.io/repository/maven-public" />
</remote-repository>
</component>
</project>

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinScriptingSettings">
<option name="suppressDefinitionsCheck" value="true" />
</component>
</project>

15
.idea/misc.xml generated
View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EntryPointsManager">
<list size="1">
<item index="0" class="java.lang.String" itemvalue="org.bukkit.event.EventHandler" />
</list>
</component>
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_16" project-jdk-name="openjdk-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="FacetManager">
<facet type="minecraft" name="Minecraft">
<configuration>
<autoDetectTypes>
<platformType>SPIGOT</platformType>
</autoDetectTypes>
</configuration>
</facet>
</component>
</module>

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="FacetManager">
<facet type="minecraft" name="Minecraft">
<configuration>
<autoDetectTypes>
<platformType>SPIGOT</platformType>
<platformType>MCP</platformType>
</autoDetectTypes>
</configuration>
</facet>
</component>
<component name="McpModuleSettings">
<option name="srgType" value="SRG" />
</component>
</module>

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="FacetManager">
<facet type="minecraft" name="Minecraft">
<configuration>
<autoDetectTypes>
<platformType>ADVENTURE</platformType>
</autoDetectTypes>
</configuration>
</facet>
</component>
</module>

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="FacetManager">
<facet type="minecraft" name="Minecraft">
<configuration>
<autoDetectTypes>
<platformType>SPIGOT</platformType>
<platformType>MCP</platformType>
</autoDetectTypes>
</configuration>
</facet>
</component>
<component name="McpModuleSettings">
<option name="srgType" value="SRG" />
</component>
</module>

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="FacetManager">
<facet type="minecraft" name="Minecraft">
<configuration>
<autoDetectTypes>
<platformType>ADVENTURE</platformType>
</autoDetectTypes>
</configuration>
</facet>
</component>
</module>

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="FacetManager">
<facet type="minecraft" name="Minecraft">
<configuration>
<autoDetectTypes>
<platformType>ADVENTURE</platformType>
</autoDetectTypes>
</configuration>
</facet>
</component>
<component name="McpModuleSettings">
<option name="srgType" value="SRG" />
</component>
</module>

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="FacetManager">
<facet type="minecraft" name="Minecraft">
<configuration>
<autoDetectTypes>
<platformType>SPIGOT</platformType>
<platformType>ADVENTURE</platformType>
</autoDetectTypes>
</configuration>
</facet>
</component>
<component name="McpModuleSettings">
<option name="srgType" value="SRG" />
</component>
</module>

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="FacetManager">
<facet type="minecraft" name="Minecraft">
<configuration>
<autoDetectTypes>
<platformType>ADVENTURE</platformType>
</autoDetectTypes>
</configuration>
</facet>
</component>
</module>

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="FacetManager">
<facet type="minecraft" name="Minecraft">
<configuration>
<autoDetectTypes>
<platformType>SPIGOT</platformType>
<platformType>MCP</platformType>
</autoDetectTypes>
</configuration>
</facet>
</component>
<component name="McpModuleSettings">
<option name="srgType" value="SRG" />
</component>
</module>

124
.idea/uiDesigner.xml generated
View File

@@ -1,124 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

6
.idea/vcs.xml generated
View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@@ -1,19 +0,0 @@
plugins {
id("java")
}
repositories {
mavenCentral()
maven("https://papermc.io/repo/repository/maven-public/")
maven("https://oss.sonatype.org/content/repositories/snapshots")
maven("https://jitpack.io")
maven("https://repo.dmulloy2.net/repository/public/")
}
dependencies {
implementation(project(":nms"))
compileOnly("com.mojang:authlib:1.5.25")
compileOnly("org.spigotmc:spigot:1.16.5-R0.1-SNAPSHOT")
compileOnly("org.jetbrains:annotations:22.0.0")
compileOnly("com.comphenix.protocol:ProtocolLib:4.7.0")
}

Binary file not shown.

View File

@@ -1,2 +0,0 @@
Manifest-Version: 1.0

View File

@@ -1,9 +0,0 @@
package io.github.fisher2911.nms;
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.wrappers.WrappedDataWatcher;
public class ArmorStandPackets_1_16_R3 {
}

View File

@@ -1,8 +0,0 @@
package io.github.fisher2911.nms;
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.events.PacketContainer;
public class DestroyPacket_1_16_R3 {
}

View File

@@ -1,139 +0,0 @@
package io.github.fisher2911.nms;
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.reflect.StructureModifier;
import com.comphenix.protocol.wrappers.EnumWrappers;
import com.comphenix.protocol.wrappers.PlayerInfoData;
import com.comphenix.protocol.wrappers.WrappedChatComponent;
import com.comphenix.protocol.wrappers.WrappedDataWatcher;
import com.comphenix.protocol.wrappers.WrappedGameProfile;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.properties.Property;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer;
import org.bukkit.entity.Player;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class PacketHelper_1_16_R3 implements PacketHelper {
@Override
public PacketContainer getPlayerSpawnPacket(final Location location, UUID uuid, final int entityId) {
final PacketContainer spawnPacket = new PacketContainer(PacketType.Play.Server.NAMED_ENTITY_SPAWN);
spawnPacket.getUUIDs().write(0, uuid);
spawnPacket.getIntegers().write(0, entityId);
spawnPacket.getDoubles().
write(0, location.getX()).
write(1, location.getY()).
write(2, location.getZ());
spawnPacket.getBytes().write(0, (byte)(((location.getYaw() * 256.0F) / 360.0F)));
return spawnPacket;
}
@Override
public PacketContainer getPlayerInfoPacket(final Player player, final UUID uuid) {
final GameProfile profile = this.getCopyProfile(player, uuid);
final PacketContainer playerInfoPacket = new PacketContainer(PacketType.Play.Server.PLAYER_INFO);
final StructureModifier<EnumWrappers.PlayerInfoAction> action = playerInfoPacket.getPlayerInfoAction();
final StructureModifier<List<PlayerInfoData>> infoData = playerInfoPacket.getPlayerInfoDataLists();
final List<PlayerInfoData> playerInfoData = new ArrayList<>();
playerInfoData.add(new PlayerInfoData(WrappedGameProfile
.fromHandle(profile),
0,
EnumWrappers.NativeGameMode.fromBukkit(GameMode.CREATIVE),
WrappedChatComponent.fromText(profile.getName())));
action.write(0, EnumWrappers.PlayerInfoAction.ADD_PLAYER);
infoData.write(0, playerInfoData);
return playerInfoPacket;
}
@Override
public PacketContainer getPlayerRemovePacket(final Player player, final UUID uuid, final int entityId) {
final PacketContainer playerPacket = new PacketContainer(PacketType.Play.Server.PLAYER_INFO);
final StructureModifier<EnumWrappers.PlayerInfoAction> action = playerPacket.getPlayerInfoAction();
final StructureModifier<List<PlayerInfoData>> infoData = playerPacket.getPlayerInfoDataLists();
final List<PlayerInfoData> playerInfoData = new ArrayList<>();
final GameProfile profile = this.getCopyProfile(player, uuid);
playerInfoData.add(new PlayerInfoData(WrappedGameProfile
.fromHandle(profile),
0,
EnumWrappers.NativeGameMode.fromBukkit(GameMode.CREATIVE),
WrappedChatComponent.fromText("")));
action.write(0, EnumWrappers.PlayerInfoAction.REMOVE_PLAYER);
infoData.write(0, playerInfoData);
return playerPacket;
}
@Override
public PacketContainer getPlayerOverlayPacket(final int entityId) {
final PacketContainer metaContainer = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA);
WrappedDataWatcher metaData = new WrappedDataWatcher();
final WrappedDataWatcher.Serializer byteSerializer = WrappedDataWatcher.Registry.get(Byte.class);
final byte mask = 0x01 | 0x02 | 0x04 | 0x08 | 0x010 | 0x020 | 0x40;
metaData.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(16, byteSerializer), mask);
metaContainer.getIntegers().write(0, entityId);
metaContainer.getWatchableCollectionModifier().write(0, metaData.getWatchableObjects());
return metaContainer;
}
private GameProfile getCopyProfile(final Player player, final UUID uuid) {
final GameProfile playerProfile = ((CraftPlayer) player).getProfile();
final GameProfile profile = new GameProfile(
uuid,
player.getDisplayName()
);
profile.getProperties().removeAll("textures");
Property textureProperty = playerProfile.getProperties().get("textures").iterator().next();
String texture = textureProperty.getValue();
String signature = textureProperty.getSignature();
profile.getProperties().put("textures", new Property("textures", texture, signature));
return profile;
}
@Override
public PacketContainer getArmorStandMeta(final int armorStandId) {
final PacketContainer metaContainer = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA);
WrappedDataWatcher metaData = new WrappedDataWatcher();
final WrappedDataWatcher.Serializer byteSerializer = WrappedDataWatcher.Registry.get(Byte.class);
metaData.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(0, byteSerializer), (byte) (0x20));
metaData.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(14, byteSerializer), (byte) (0x10));
metaContainer.getIntegers().write(0, armorStandId);
metaContainer.getWatchableCollectionModifier().write(0, metaData.getWatchableObjects());
return metaContainer;
}
@Override
public PacketContainer getDestroyPacket(final int entityId) {
final PacketContainer destroyPacket = new PacketContainer(
PacketType.Play.Server.ENTITY_DESTROY);
destroyPacket.getIntegerArrays().write(0, new int[]{entityId});
return destroyPacket;
}
}

View File

@@ -1,23 +0,0 @@
plugins {
id("java")
}
//group = "io.github.fisher2911"
//version = "1.7.1"
//description = "Intuitive, easy-to-use cosmetics plugin, designed for servers using resource packs.\n"
repositories {
mavenCentral()
maven("https://papermc.io/repo/repository/maven-public/")
maven("https://oss.sonatype.org/content/repositories/snapshots")
maven("https://jitpack.io")
maven("https://repo.dmulloy2.net/repository/public/")
}
dependencies {
implementation(project(":nms"))
compileOnly("com.mojang:authlib:1.5.25")
compileOnly("org.spigotmc:spigot:1.17-R0.1-SNAPSHOT")
compileOnly("org.jetbrains:annotations:22.0.0")
compileOnly("com.comphenix.protocol:ProtocolLib:4.7.0")
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,2 +0,0 @@
Manifest-Version: 1.0

View File

@@ -1,2 +0,0 @@
Manifest-Version: 1.0

View File

@@ -1,140 +0,0 @@
package io.github.fisher2911.nms;
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.reflect.StructureModifier;
import com.comphenix.protocol.wrappers.EnumWrappers;
import com.comphenix.protocol.wrappers.PlayerInfoData;
import com.comphenix.protocol.wrappers.WrappedChatComponent;
import com.comphenix.protocol.wrappers.WrappedDataWatcher;
import com.comphenix.protocol.wrappers.WrappedGameProfile;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.properties.Property;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.craftbukkit.libs.it.unimi.dsi.fastutil.ints.IntArrayList;
import org.bukkit.craftbukkit.v1_17_R1.entity.CraftPlayer;
import org.bukkit.entity.Player;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class PacketHelper_1_17_R1 implements PacketHelper {
@Override
public PacketContainer getPlayerSpawnPacket(final Location location, UUID uuid, final int entityId) {
final PacketContainer spawnPacket = new PacketContainer(PacketType.Play.Server.NAMED_ENTITY_SPAWN);
spawnPacket.getUUIDs().write(0, uuid);
spawnPacket.getIntegers().write(0, entityId);
spawnPacket.getDoubles().
write(0, location.getX()).
write(1, location.getY()).
write(2, location.getZ());
spawnPacket.getBytes().write(0, (byte)(((location.getYaw() * 256.0F) / 360.0F)));
return spawnPacket;
}
@Override
public PacketContainer getPlayerInfoPacket(final Player player, final UUID uuid) {
final GameProfile profile = this.getCopyProfile(player, uuid);
final PacketContainer playerInfoPacket = new PacketContainer(PacketType.Play.Server.PLAYER_INFO);
final StructureModifier<EnumWrappers.PlayerInfoAction> action = playerInfoPacket.getPlayerInfoAction();
final StructureModifier<List<PlayerInfoData>> infoData = playerInfoPacket.getPlayerInfoDataLists();
final List<PlayerInfoData> playerInfoData = new ArrayList<>();
playerInfoData.add(new PlayerInfoData(WrappedGameProfile
.fromHandle(profile),
0,
EnumWrappers.NativeGameMode.fromBukkit(GameMode.CREATIVE),
WrappedChatComponent.fromText(profile.getName())));
action.write(0, EnumWrappers.PlayerInfoAction.ADD_PLAYER);
infoData.write(0, playerInfoData);
return playerInfoPacket;
}
@Override
public PacketContainer getPlayerRemovePacket(final Player player, final UUID uuid, final int entityId) {
final PacketContainer playerPacket = new PacketContainer(PacketType.Play.Server.PLAYER_INFO);
final StructureModifier<EnumWrappers.PlayerInfoAction> action = playerPacket.getPlayerInfoAction();
final StructureModifier<List<PlayerInfoData>> infoData = playerPacket.getPlayerInfoDataLists();
final List<PlayerInfoData> playerInfoData = new ArrayList<>();
final GameProfile profile = this.getCopyProfile(player, uuid);
playerInfoData.add(new PlayerInfoData(WrappedGameProfile
.fromHandle(profile),
0,
EnumWrappers.NativeGameMode.fromBukkit(GameMode.CREATIVE),
WrappedChatComponent.fromText("")));
action.write(0, EnumWrappers.PlayerInfoAction.REMOVE_PLAYER);
infoData.write(0, playerInfoData);
return playerPacket;
}
@Override
public PacketContainer getPlayerOverlayPacket(final int entityId) {
final PacketContainer metaContainer = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA);
WrappedDataWatcher metaData = new WrappedDataWatcher();
final WrappedDataWatcher.Serializer byteSerializer = WrappedDataWatcher.Registry.get(Byte.class);
final byte mask = 0x01 | 0x02 | 0x04 | 0x08 | 0x010 | 0x020 | 0x40;
metaData.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(17, byteSerializer), mask);
metaContainer.getIntegers().write(0, entityId);
metaContainer.getWatchableCollectionModifier().write(0, metaData.getWatchableObjects());
return metaContainer;
}
private GameProfile getCopyProfile(final Player player, final UUID uuid) {
final GameProfile playerProfile = ((CraftPlayer) player).getProfile();
final GameProfile profile = new GameProfile(
uuid,
player.getDisplayName()
);
profile.getProperties().removeAll("textures");
Property textureProperty = playerProfile.getProperties().get("textures").iterator().next();
String texture = textureProperty.getValue();
String signature = textureProperty.getSignature();
profile.getProperties().put("textures", new Property("textures", texture, signature));
return profile;
}
@Override
public PacketContainer getArmorStandMeta(final int armorStandId) {
final PacketContainer metaContainer = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA);
WrappedDataWatcher metaData = new WrappedDataWatcher();
final WrappedDataWatcher.Serializer byteSerializer = WrappedDataWatcher.Registry.get(Byte.class);
metaData.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(0, byteSerializer), (byte) (0x20));
metaData.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(15, byteSerializer), (byte) (0x10));
metaContainer.getIntegers().write(0, armorStandId);
metaContainer.getWatchableCollectionModifier().write(0, metaData.getWatchableObjects());
return metaContainer;
}
@Override
public PacketContainer getDestroyPacket(final int entityId) {
final PacketContainer destroyPacket = new PacketContainer(
PacketType.Play.Server.ENTITY_DESTROY);
destroyPacket.getModifier().write(0, new IntArrayList(new int[]{entityId}));
return destroyPacket;
}
}

View File

@@ -1,23 +0,0 @@
plugins {
id("java")
}
//group = "io.github.fisher2911"
//version = "1.7.1"
//description = "Intuitive, easy-to-use cosmetics plugin, designed for servers using resource packs.\n"
repositories {
mavenCentral()
maven("https://papermc.io/repo/repository/maven-public/")
maven("https://oss.sonatype.org/content/repositories/snapshots")
maven("https://jitpack.io")
maven("https://repo.dmulloy2.net/repository/public/")
}
dependencies {
implementation(project(":nms"))
compileOnly("com.mojang:authlib:1.5.25")
compileOnly("org.spigotmc:spigot:1.18-R0.1-SNAPSHOT")
compileOnly("org.jetbrains:annotations:22.0.0")
compileOnly("com.comphenix.protocol:ProtocolLib:4.7.0")
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,2 +0,0 @@
Manifest-Version: 1.0

View File

@@ -1,2 +0,0 @@
Manifest-Version: 1.0

View File

@@ -1,139 +0,0 @@
package io.github.fisher2911.nms;
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.reflect.StructureModifier;
import com.comphenix.protocol.wrappers.EnumWrappers;
import com.comphenix.protocol.wrappers.PlayerInfoData;
import com.comphenix.protocol.wrappers.WrappedChatComponent;
import com.comphenix.protocol.wrappers.WrappedDataWatcher;
import com.comphenix.protocol.wrappers.WrappedGameProfile;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.properties.Property;
import it.unimi.dsi.fastutil.ints.IntArrayList;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer;
import org.bukkit.entity.Player;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class PacketHelper_1_18_R1 implements PacketHelper {
@Override
public PacketContainer getPlayerSpawnPacket(final Location location, UUID uuid, final int entityId) {
final PacketContainer spawnPacket = new PacketContainer(PacketType.Play.Server.NAMED_ENTITY_SPAWN);
spawnPacket.getUUIDs().write(0, uuid);
spawnPacket.getIntegers().write(0, entityId);
spawnPacket.getDoubles().
write(0, location.getX()).
write(1, location.getY()).
write(2, location.getZ());
spawnPacket.getBytes().write(0, (byte)(((location.getYaw() * 256.0F) / 360.0F)));
return spawnPacket;
}
@Override
public PacketContainer getPlayerInfoPacket(final Player player, final UUID uuid) {
final GameProfile profile = this.getCopyProfile(player, uuid);
final PacketContainer playerInfoPacket = new PacketContainer(PacketType.Play.Server.PLAYER_INFO);
final StructureModifier<EnumWrappers.PlayerInfoAction> action = playerInfoPacket.getPlayerInfoAction();
final StructureModifier<List<PlayerInfoData>> infoData = playerInfoPacket.getPlayerInfoDataLists();
final List<PlayerInfoData> playerInfoData = new ArrayList<>();
playerInfoData.add(new PlayerInfoData(WrappedGameProfile
.fromHandle(profile),
0,
EnumWrappers.NativeGameMode.fromBukkit(GameMode.SURVIVAL),
WrappedChatComponent.fromText(profile.getName())));
action.write(0, EnumWrappers.PlayerInfoAction.ADD_PLAYER);
infoData.write(0, playerInfoData);
return playerInfoPacket;
}
@Override
public PacketContainer getPlayerRemovePacket(final Player player, final UUID uuid, final int entityId) {
final PacketContainer playerPacket = new PacketContainer(PacketType.Play.Server.PLAYER_INFO);
final StructureModifier<EnumWrappers.PlayerInfoAction> action = playerPacket.getPlayerInfoAction();
final StructureModifier<List<PlayerInfoData>> infoData = playerPacket.getPlayerInfoDataLists();
final List<PlayerInfoData> playerInfoData = new ArrayList<>();
final GameProfile profile = this.getCopyProfile(player, uuid);
playerInfoData.add(new PlayerInfoData(WrappedGameProfile
.fromHandle(profile),
0,
EnumWrappers.NativeGameMode.fromBukkit(GameMode.CREATIVE),
WrappedChatComponent.fromText("")));
action.write(0, EnumWrappers.PlayerInfoAction.REMOVE_PLAYER);
infoData.write(0, playerInfoData);
return playerPacket;
}
@Override
public PacketContainer getPlayerOverlayPacket(final int entityId) {
final PacketContainer metaContainer = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA);
WrappedDataWatcher metaData = new WrappedDataWatcher();
final WrappedDataWatcher.Serializer byteSerializer = WrappedDataWatcher.Registry.get(Byte.class);
final byte mask = 0x01 | 0x02 | 0x04 | 0x08 | 0x010 | 0x020 | 0x40;
metaData.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(17, byteSerializer), mask);
metaContainer.getIntegers().write(0, entityId);
metaContainer.getWatchableCollectionModifier().write(0, metaData.getWatchableObjects());
return metaContainer;
}
private GameProfile getCopyProfile(final Player player, final UUID uuid) {
final GameProfile playerProfile = ((CraftPlayer) player).getProfile();
final GameProfile profile = new GameProfile(
uuid,
player.getDisplayName()
);
profile.getProperties().removeAll("textures");
Property textureProperty = playerProfile.getProperties().get("textures").iterator().next();
String texture = textureProperty.getValue();
String signature = textureProperty.getSignature();
profile.getProperties().put("textures", new Property("textures", texture, signature));
return profile;
}
@Override
public PacketContainer getArmorStandMeta(final int armorStandId) {
final PacketContainer metaContainer = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA);
WrappedDataWatcher metaData = new WrappedDataWatcher();
final WrappedDataWatcher.Serializer byteSerializer = WrappedDataWatcher.Registry.get(Byte.class);
metaData.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(0, byteSerializer), (byte) (0x20));
metaData.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(15, byteSerializer), (byte) (0x10));
metaContainer.getIntegers().write(0, armorStandId);
metaContainer.getWatchableCollectionModifier().write(0, metaData.getWatchableObjects());
return metaContainer;
}
@Override
public PacketContainer getDestroyPacket(final int entityId) {
final PacketContainer destroyPacket = new PacketContainer(
PacketType.Play.Server.ENTITY_DESTROY);
destroyPacket.getModifier().write(0, new IntArrayList(new int[]{entityId}));
return destroyPacket;
}
}

View File

@@ -14,7 +14,7 @@ HMCCosmetics is an intuitive, easy-to-use cosmetics plugin, designed for servers
### Requirements
- ProtocolLib
- [packetevents 2.0](https://github.com/retrooper/packetevents)
### Download

View File

@@ -1,112 +1,3 @@
//import net.minecrell.pluginyml.bukkit.BukkitPluginDescription
//
plugins {
id("java")
}
// id("com.github.johnrengelman.shadow") version "7.1.1"
// id("net.minecrell.plugin-yml.bukkit") version "0.5.1"
//}
//
//group = "io.github.fisher2911"
//version = "1.7.1"
//description = "Intuitive, easy-to-use cosmetics plugin, designed for servers using resource packs.\n"
//
//repositories {
// mavenCentral()
// maven("https://papermc.io/repo/repository/maven-public/")
// maven("https://repo.mattstudios.me/artifactory/public/")
// maven("https://jitpack.io")
// maven("https://repo.dmulloy2.net/repository/public/")
// maven("https://repo.extendedclip.com/content/repositories/placeholderapi/")
// maven("https://mvnrepository.com/artifact/com.zaxxer/HikariCP")
// maven("https://repo.jeff-media.de/maven2/")
// maven("https://oss.sonatype.org/content/repositories/snapshots")
//}
//
//dependencies {
// compileOnly("com.mojang:authlib:1.5.25")
// compileOnly("org.spigotmc:spigot:1.17-R0.1-SNAPSHOT")
// compileOnly("org.jetbrains:annotations:22.0.0")
// compileOnly("com.comphenix.protocol:ProtocolLib:4.7.0")
// compileOnly("me.clip:placeholderapi:2.11.1")
// compileOnly("com.github.oraxen:oraxen:-SNAPSHOT")
// compileOnly("com.github.LoneDev6:API-ItemsAdder:2.5.4")
// implementation("net.kyori:adventure-api:4.9.3")
// implementation("net.kyori:adventure-text-minimessage:4.10.0-SNAPSHOT")
// implementation("net.kyori:adventure-platform-bukkit:4.0.1")
// implementation("dev.triumphteam:triumph-gui:3.1.1")
// implementation("me.mattstudios.utils:matt-framework:1.4.6")
// implementation("org.spongepowered:configurate-yaml:4.1.2")
// implementation("org.bstats:bstats-bukkit:2.2.1")
// implementation("com.zaxxer:HikariCP:5.0.0")
// implementation("com.j256.ormlite:ormlite-jdbc:6.1")
// implementation("com.j256.ormlite:ormlite-core:6.1")
//}
//
//tasks {
// build {
// dependsOn(shadowJar)
// }
//
// compileJava {
// options.encoding = Charsets.UTF_8.name()
// options.release.set(16)
// }
//
// shadowJar {
// relocate("dev.triumphteam.gui", "io.github.fisher2911.hmccosmetics.gui")
// relocate("me.mattstudios.mf", "io.github.fisher2911.hmccosmetics.mf")
// relocate("net.kyori.adventure.text.minimessage", "io.github.fisher2911.hmccosmetics.adventure.minimessage")
// relocate("net.kyori.adventure.platform", "io.github.fisher2911.hmccosmetics.adventure.platform")
// relocate("org.spongepowered.configurate", "io.github.fisher2911.hmccosmetics.configurate")
// relocate("org.bstats", "io.github.fisher2911.hmccosmetics.bstats")
// relocate("com.zaxxer.hikaricp", "io.github.fisher2911.hmccosmetics.hikaricp")
// relocate("com.j256.ormlite", "io.github.fisher2911.hmccosmetics.ormlite")
// archiveFileName.set("HMCCosmetics.jar")
// }
//
// javadoc {
// options.encoding = Charsets.UTF_8.name()
// }
//
// processResources {
// filteringCharset = Charsets.UTF_8.name()
// }
//}
//
//java {
// toolchain.languageVersion.set(JavaLanguageVersion.of(16))
//}
//
//bukkit {
// load = BukkitPluginDescription.PluginLoadOrder.STARTUP
// main = "io.github.fisher2911.hmccosmetics.HMCCosmetics"
// apiVersion = "1.17"
// name = "HMCCosmetics"
// authors = listOf("MasterOfTheFish")
// softDepend = listOf("Multiverse", "PlaceholderAPI", "Oraxen", "ItemsAdder")
// depend = listOf("ProtocolLib")
// permissions {
// register("hmccosmetics.cmd.default") {
// default = BukkitPluginDescription.Permission.Default.OP
// description = "Permission to execute the default command."
// }
// register("hmccosmetics.cmd.dye") {
// default = BukkitPluginDescription.Permission.Default.OP
// description = "Permission to dye armor."
// }
// register("hmccosmetics.cmd.reload") {
// default = BukkitPluginDescription.Permission.Default.OP
// description = "Permission to use the reload command."
// }
// register("hmccosmetics.cmd.set") {
// default = BukkitPluginDescription.Permission.Default.OP
// description = "Permission to set other users' cosmetics."
// }
// register("hmccosmetics.cmd.wardrobe") {
// default = BukkitPluginDescription.Permission.Default.OP
// description = "Permission to view the wardrobe"
// }
// }
//}

View File

@@ -7,7 +7,7 @@ plugins {
}
group = "io.github.fisher2911"
version = "1.10.0"
version = "1.11.0-BETA-4"
description = "Intuitive, easy-to-use cosmetics plugin, designed for servers using resource packs.\n"
repositories {
@@ -22,22 +22,24 @@ repositories {
maven("https://repo.jeff-media.de/maven2/")
maven("https://repo.citizensnpcs.co")
maven("https://mvn.lumine.io/repository/maven-public")
maven("https://jitpack.io/")
}
dependencies {
implementation(project(":1.16"))
implementation(project(":1.17"))
implementation(project(":1.18"))
implementation(project(":nms"))
// implementation(project(":1.16"))
// implementation(project(":1.17"))
// implementation(project(":1.18"))
// implementation(project(":nms"))
compileOnly("com.mojang:authlib:1.5.25")
compileOnly("org.spigotmc:spigot:1.16.5-R0.1-SNAPSHOT")
compileOnly("org.jetbrains:annotations:22.0.0")
compileOnly("com.comphenix.protocol:ProtocolLib:4.7.0")
// compileOnly("com.comphenix.protocol:ProtocolLib:4.7.0")
compileOnly("me.clip:placeholderapi:2.11.1")
compileOnly("com.github.oraxen:oraxen:-SNAPSHOT")
compileOnly("com.github.LoneDev6:API-ItemsAdder:2.5.4")
compileOnly("net.citizensnpcs:citizens-main:2.0.29-SNAPSHOT")
compileOnly("com.ticxo.modelengine:api:R2.4.1:")
compileOnly("com.ticxo.modelengine:api:R2.5.0:")
compileOnly("com.github.retrooper.packetevents:spigot:2.0-SNAPSHOT")
implementation("net.kyori:adventure-api:4.10.0")
implementation ("net.kyori:adventure-text-minimessage:4.10.0-SNAPSHOT")
implementation("net.kyori:adventure-platform-bukkit:4.0.1")
@@ -57,7 +59,7 @@ tasks {
compileJava {
options.encoding = Charsets.UTF_8.name()
options.release.set(17)
options.release.set(16)
}
shadowJar {
@@ -68,11 +70,16 @@ tasks {
relocate("org.bstats", "io.github.fisher2911.hmccosmetics.bstats")
relocate("com.zaxxer.hikaricp", "io.github.fisher2911.hmccosmetics.hikaricp")
relocate("com.j256.ormlite", "io.github.fisher2911.hmccosmetics.ormlite")
//relocate("com.github.retrooper.packetevents", "io.github.fisher2911.hmccosmetics.packetevents")
//relocate("io.github.retrooper.packetevents", "io.github.fisher2911.hmccosmetics.packetevents")
archiveFileName.set("HMCCosmetics.jar")
dependencies {
exclude(dependency("org.yaml:snakeyaml"))
}
// todo - remove (Testing only)
//destinationDirectory.set(file("D:\\paper-1.18.1\\plugins"))
}
javadoc {
@@ -83,10 +90,12 @@ tasks {
duplicatesStrategy = DuplicatesStrategy.INCLUDE
filteringCharset = Charsets.UTF_8.name()
}
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
toolchain.languageVersion.set(JavaLanguageVersion.of(16
))
}
bukkit {
@@ -96,7 +105,7 @@ bukkit {
name = "HMCCosmetics"
authors = listOf("MasterOfTheFish")
softDepend = listOf("Multiverse", "PlaceholderAPI", "Oraxen", "ItemsAdder", "Citizens", "ModelEngine")
depend = listOf("ProtocolLib")
depend = listOf("packetevents")
permissions {
register("hmccosmetics.cmd.default") {
default = BukkitPluginDescription.Permission.Default.OP

Some files were not shown because too many files have changed in this diff Show More