Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
MythicCraft
MythicCosmetics
Commits
d9352e4f
Commit
d9352e4f
authored
3 years ago
by
Ashijin
Browse files
Options
Download
Email Patches
Plain Diff
added R2
parent
cc9b1548
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
306 additions
and
0 deletions
+306
-0
dist/pom.xml
dist/pom.xml
+6
-0
pom.xml
pom.xml
+1
-0
v1_18_R2/pom.xml
v1_18_R2/pom.xml
+150
-0
v1_18_R2/src/main/java/io/lumine/cosmetics/nms/VolatileCodeEnabled_v1_18_R1.java
...io/lumine/cosmetics/nms/VolatileCodeEnabled_v1_18_R1.java
+47
-0
v1_18_R2/src/main/java/io/lumine/cosmetics/nms/v1_18_R2/VolatileHatImpl.java
...ava/io/lumine/cosmetics/nms/v1_18_R2/VolatileHatImpl.java
+72
-0
v1_18_R2/src/main/java/io/lumine/cosmetics/nms/v1_18_R2/network/VolatileChannelHandler.java
...osmetics/nms/v1_18_R2/network/VolatileChannelHandler.java
+30
-0
No files found.
dist/pom.xml
View file @
d9352e4f
...
...
@@ -41,6 +41,12 @@
<scope>
compile
</scope>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
io.lumine
</groupId>
<artifactId>
MCCosmetics-v1_18_R2
</artifactId>
<version>
${project.parent.version}
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
io.lumine
</groupId>
<artifactId>
MCCosmetics-v1_18
</artifactId>
...
...
This diff is collapsed.
Click to expand it.
pom.xml
View file @
d9352e4f
...
...
@@ -29,6 +29,7 @@
<module>
api
</module>
<module>
plugin
</module>
<module>
v1_18
</module>
<module>
v1_18_R2
</module>
<module>
dist
</module>
</modules>
...
...
This diff is collapsed.
Click to expand it.
v1_18_R2/pom.xml
0 → 100644
View file @
d9352e4f
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
MCCosmetics-v1_18_R2
</artifactId>
<parent>
<groupId>
io.lumine
</groupId>
<artifactId>
MCCosmetics-Plugin
</artifactId>
<version>
${mccosmetics.version}
</version>
</parent>
<build>
<plugins>
<plugin>
<groupId>
net.md-5
</groupId>
<artifactId>
specialsource-maven-plugin
</artifactId>
<version>
1.2.2
</version>
<executions>
<execution>
<phase>
package
</phase>
<goals>
<goal>
remap
</goal>
</goals>
<id>
remap-obf
</id>
<configuration>
<srgIn>
org.spigotmc:minecraft-server:1.18-R0.1-SNAPSHOT:txt:maps-mojang
</srgIn>
<reverse>
true
</reverse>
<remappedDependencies>
org.spigotmc:spigot:1.18-R0.1-SNAPSHOT:jar:remapped-mojang
</remappedDependencies>
<remappedArtifactAttached>
true
</remappedArtifactAttached>
<remappedClassifierName>
remapped-obf
</remappedClassifierName>
</configuration>
</execution>
<execution>
<phase>
package
</phase>
<goals>
<goal>
remap
</goal>
</goals>
<id>
remap-spigot
</id>
<configuration>
<inputFile>
${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar
</inputFile>
<srgIn>
org.spigotmc:minecraft-server:1.18-R0.1-SNAPSHOT:csrg:maps-spigot
</srgIn>
<remappedDependencies>
org.spigotmc:spigot:1.18-R0.1-SNAPSHOT:jar:remapped-obf
</remappedDependencies>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>
spigot-repo
</id>
<url>
https://hub.spigotmc.org/nexus/content/repositories/snapshots/
</url>
</repository>
<repository>
<id>
nexus
</id>
<url>
https://mvn.lumine.io/repository/maven/
</url>
</repository>
<repository>
<id>
lumine
</id>
<url>
https://mvn.lumine.io/repository/maven-private/
</url>
</repository>
<repository>
<id>
lumine-snapshots
</id>
<url>
https://mvn.lumine.io/repository/maven-snapshots/
</url>
</repository>
<repository>
<id>
lumine-test
</id>
<url>
https://mvn.lumine.io/repository/maven-test/
</url>
</repository>
<repository>
<id>
minecraft-libraries
</id>
<name>
Minecraft Libraries
</name>
<url>
https://libraries.minecraft.net
</url>
</repository>
</repositories>
<dependencies>
<!-- Modules -->
<dependency>
<groupId>
io.lumine
</groupId>
<artifactId>
MCCosmetics-API
</artifactId>
<version>
${mccosmetics.version}
</version>
<scope>
provided
</scope>
</dependency>
<!-- Main dependencies -->
<dependency>
<groupId>
io.lumine
</groupId>
<artifactId>
LumineUtils
</artifactId>
<version>
${lumineutils.version}
</version>
<scope>
provided
</scope>
</dependency>
<dependency>
<groupId>
io.lumine
</groupId>
<artifactId>
MCCosmetics
</artifactId>
<version>
${project.parent.version}
</version>
<scope>
compile
</scope>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<version>
${lombok.version}
</version>
<scope>
provided
</scope>
</dependency>
<!-- Spigot API -->
<dependency>
<groupId>
org.spigotmc
</groupId>
<artifactId>
spigot-api
</artifactId>
<version>
1.18.2-R0.1-SNAPSHOT
</version>
<classifier>
shaded
</classifier>
<scope>
provided
</scope>
</dependency>
<!-- Spigot NMS version -->
<dependency>
<groupId>
org.spigotmc
</groupId>
<artifactId>
spigot
</artifactId>
<version>
1.18.2-R0.1-SNAPSHOT
</version>
<classifier>
remapped-mojang
</classifier>
<scope>
provided
</scope>
<exclusions>
<exclusion>
<groupId>
*
</groupId>
<artifactId>
*
</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
com.mojang
</groupId>
<artifactId>
datafixerupper
</artifactId>
<version>
1.0.20
</version>
</dependency>
<dependency>
<groupId>
io.netty
</groupId>
<artifactId>
netty-all
</artifactId>
<version>
4.1.25.Final
</version>
<scope>
provided
</scope>
</dependency>
<!-- Other -->
<dependency>
<groupId>
com.comphenix.protocol
</groupId>
<artifactId>
ProtocolLib
</artifactId>
<version>
4.6.0-SNAPSHOT
</version>
<scope>
provided
</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
v1_18_R2/src/main/java/io/lumine/cosmetics/nms/VolatileCodeEnabled_v1_18_R1.java
0 → 100644
View file @
d9352e4f
package
io.lumine.cosmetics.nms
;
import
io.lumine.cosmetics.MCCosmeticsPlugin
;
import
io.lumine.cosmetics.nms.v1_18_R2.network.VolatileChannelHandler
;
import
io.lumine.cosmetics.nms.v1_18_R2.VolatileHatImpl
;
import
io.netty.channel.Channel
;
import
io.netty.channel.ChannelPipeline
;
import
lombok.Getter
;
import
net.minecraft.network.Connection
;
import
net.minecraft.server.level.ServerPlayer
;
import
org.bukkit.craftbukkit.v1_18_R2.entity.CraftPlayer
;
import
org.bukkit.entity.Player
;
public
class
VolatileCodeEnabled_v1_18_R1
implements
VolatileCodeHandler
{
@Getter
private
final
MCCosmeticsPlugin
plugin
;
@Getter
private
final
VolatileHatHelper
hatHelper
;
public
VolatileCodeEnabled_v1_18_R1
(
MCCosmeticsPlugin
plugin
)
{
this
.
plugin
=
plugin
;
this
.
hatHelper
=
new
VolatileHatImpl
(
plugin
);
}
@Override
public
void
injectPlayer
(
Player
player
)
{
ServerPlayer
ply
=
((
CraftPlayer
)
player
).
getHandle
();
VolatileChannelHandler
cdh
=
new
VolatileChannelHandler
(
player
);
ChannelPipeline
pipeline
=
ply
.
connection
.
getConnection
().
channel
.
pipeline
();
for
(
String
name
:
pipeline
.
toMap
().
keySet
())
{
if
(
pipeline
.
get
(
name
)
instanceof
Connection
)
{
pipeline
.
addBefore
(
name
,
"mc_cosmetics_packet_handler"
,
cdh
);
break
;
}
}
}
@Override
public
void
removePlayer
(
Player
player
)
{
Channel
channel
=
((
CraftPlayer
)
player
).
getHandle
().
connection
.
getConnection
().
channel
;
channel
.
eventLoop
().
submit
(()
->
{
channel
.
pipeline
().
remove
(
"mc_cosmetics_packet_handler"
);
return
null
;
});
}
}
This diff is collapsed.
Click to expand it.
v1_18_R2/src/main/java/io/lumine/cosmetics/nms/v1_18_R2/VolatileHatImpl.java
0 → 100644
View file @
d9352e4f
package
io.lumine.cosmetics.nms.v1_18_R2
;
import
java.util.List
;
import
org.bukkit.craftbukkit.v1_18_R2.inventory.CraftItemStack
;
import
org.bukkit.entity.Player
;
import
org.bukkit.inventory.ItemStack
;
import
com.comphenix.protocol.PacketType
;
import
com.comphenix.protocol.events.PacketContainer
;
import
com.google.common.collect.Lists
;
import
com.mojang.datafixers.util.Pair
;
import
io.lumine.cosmetics.MCCosmeticsPlugin
;
import
io.lumine.cosmetics.nms.VolatileHatHelper
;
import
io.lumine.cosmetics.players.Profile
;
import
io.lumine.utils.protocol.Protocol
;
import
lombok.Getter
;
import
net.minecraft.world.entity.EquipmentSlot
;
public
class
VolatileHatImpl
implements
VolatileHatHelper
{
@Getter
private
final
MCCosmeticsPlugin
plugin
;
public
VolatileHatImpl
(
MCCosmeticsPlugin
plugin
)
{
this
.
plugin
=
plugin
;
}
@Override
public
void
applyHatPacket
(
Profile
profile
)
{
if
(
profile
==
null
)
{
return
;
}
final
var
player
=
profile
.
getPlayer
();
final
var
packet
=
Protocol
.
manager
().
createPacket
(
PacketType
.
Play
.
Server
.
ENTITY_EQUIPMENT
);
packet
.
getEntityModifier
(
player
.
getWorld
()).
write
(
0
,
player
);
/*
if(profile.getHat().isPresent()) {
profile.setHatIsActive(true);
writeHeadItem(packet, profile.getEquippedHat());
Protocol.broadcastPacket(packet);
} else if(profile.getHatIsActive()) {
writeHeadItem(packet, player.getInventory().getHelmet());
Protocol.broadcastPacket(packet);
}*/
}
public
boolean
writeHeadItem
(
PacketContainer
packet
,
ItemStack
item
)
{
List
<
Pair
<
EquipmentSlot
,
net
.
minecraft
.
world
.
item
.
ItemStack
>>
slots
=
(
List
<
Pair
<
EquipmentSlot
,
net
.
minecraft
.
world
.
item
.
ItemStack
>>)
packet
.
getModifier
().
read
(
1
);
List
<
Pair
<
EquipmentSlot
,
net
.
minecraft
.
world
.
item
.
ItemStack
>>
newSlots
=
Lists
.
newArrayList
();
boolean
foundHead
=
false
;
for
(
Pair
<
EquipmentSlot
,
net
.
minecraft
.
world
.
item
.
ItemStack
>
pair
:
slots
)
{
final
EquipmentSlot
slot
=
pair
.
getFirst
();
if
(
slot
==
EquipmentSlot
.
HEAD
)
{
foundHead
=
true
;
newSlots
.
add
(
Pair
.
of
(
pair
.
getFirst
(),
CraftItemStack
.
asNMSCopy
(
item
)));
}
else
{
newSlots
.
add
(
pair
);
}
}
if
(!
foundHead
)
{
newSlots
.
add
(
Pair
.
of
(
EquipmentSlot
.
HEAD
,
CraftItemStack
.
asNMSCopy
(
item
)));
}
packet
.
getModifier
().
write
(
1
,
newSlots
);
return
true
;
}
}
This diff is collapsed.
Click to expand it.
v1_18_R2/src/main/java/io/lumine/cosmetics/nms/v1_18_R2/network/VolatileChannelHandler.java
0 → 100644
View file @
d9352e4f
package
io.lumine.cosmetics.nms.v1_18_R2.network
;
import
io.netty.channel.ChannelDuplexHandler
;
import
io.netty.channel.ChannelHandlerContext
;
import
io.netty.channel.ChannelPromise
;
import
lombok.Getter
;
import
org.bukkit.entity.Player
;
public
class
VolatileChannelHandler
extends
ChannelDuplexHandler
{
@Getter
private
final
Player
player
;
public
VolatileChannelHandler
(
Player
player
)
{
this
.
player
=
player
;
}
@Override
public
void
write
(
ChannelHandlerContext
ctx
,
Object
packet
,
ChannelPromise
promise
)
throws
Exception
{
super
.
write
(
ctx
,
packet
,
promise
);
}
@Override
public
void
channelRead
(
ChannelHandlerContext
ctx
,
Object
packet
)
throws
Exception
{
super
.
channelRead
(
ctx
,
packet
);
}
}
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment