feat: offlineFakePlayers
This commit is contained in:
6 files changed
+34
-6
No files matched your search
+1
-1
@@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G
|
|||||||
loader_version=0.14.9
|
loader_version=0.14.9
|
||||||
|
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version = 0.3
|
mod_version = 0.4
|
||||||
maven_group = com.github.zly2006
|
maven_group = com.github.zly2006
|
||||||
archives_base_name = carpet-sls-addition
|
archives_base_name = carpet-sls-addition
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
package com.github.zly2006.carpetslsaddition;
|
package com.github.zly2006.carpetslsaddition;
|
||||||
|
|
||||||
import carpet.CarpetSettings;
|
|
||||||
import carpet.api.settings.CarpetRule;
|
|
||||||
import carpet.api.settings.Rule;
|
import carpet.api.settings.Rule;
|
||||||
import carpet.api.settings.RuleCategory;
|
import carpet.api.settings.RuleCategory;
|
||||||
|
|
||||||
import static com.github.zly2006.carpetslsaddition.ServerMain.*;
|
import static com.github.zly2006.carpetslsaddition.ServerMain.CARPET_ID;
|
||||||
|
|
||||||
public class SLSCarpetSettings {
|
public class SLSCarpetSettings {
|
||||||
@Rule(categories = {CARPET_ID})
|
@Rule(categories = {CARPET_ID})
|
||||||
@@ -20,4 +18,6 @@ public class SLSCarpetSettings {
|
|||||||
public static boolean autoUrl = false;
|
public static boolean autoUrl = false;
|
||||||
@Rule(categories = {CARPET_ID})
|
@Rule(categories = {CARPET_ID})
|
||||||
public static boolean noBatSpawning = false;
|
public static boolean noBatSpawning = false;
|
||||||
|
@Rule(categories = {CARPET_ID})
|
||||||
|
public static boolean offlineFakePlayers = false;
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.github.zly2006.carpetslsaddition.mixin;
|
||||||
|
|
||||||
|
import carpet.patches.EntityPlayerMPFake;
|
||||||
|
import com.github.zly2006.carpetslsaddition.SLSCarpetSettings;
|
||||||
|
import com.mojang.authlib.GameProfile;
|
||||||
|
import net.minecraft.util.UserCache;
|
||||||
|
import net.minecraft.util.dynamic.DynamicSerializableUuid;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@Mixin(value = EntityPlayerMPFake.class)
|
||||||
|
public class MixinFakePlayer {
|
||||||
|
@Redirect(method = "createFake", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/UserCache;findByName(Ljava/lang/String;)Ljava/util/Optional;"))
|
||||||
|
private static Optional<GameProfile> onCreate(UserCache instance, String name) {
|
||||||
|
if (SLSCarpetSettings.offlineFakePlayers) {
|
||||||
|
UUID uuid = DynamicSerializableUuid.getOfflinePlayerUuid(name);
|
||||||
|
return Optional.of(new GameProfile(uuid, name));
|
||||||
|
}
|
||||||
|
return instance.findByName(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,5 +4,6 @@
|
|||||||
"carpet.rule.maxVillagersInABlock.desc": "The maximum number of villagers that can be in a block, set to -1 to disable.",
|
"carpet.rule.maxVillagersInABlock.desc": "The maximum number of villagers that can be in a block, set to -1 to disable.",
|
||||||
"carpet.rule.creativeNoInfinitePickup.desc": "If my inventory is full, don't pick up items in creative mode.",
|
"carpet.rule.creativeNoInfinitePickup.desc": "If my inventory is full, don't pick up items in creative mode.",
|
||||||
"carpet.rule.autoUrl.desc": "Automatically add click event to URLs in chat.",
|
"carpet.rule.autoUrl.desc": "Automatically add click event to URLs in chat.",
|
||||||
"carpet.rule.noBatSpawning.desc": "Prevents bats from spawning."
|
"carpet.rule.noBatSpawning.desc": "Prevents bats from spawning.",
|
||||||
|
"carpet.rule.offlineFakePlayers.desc": "Using offline uuid and skin so that fake players wont cause extra network traffic."
|
||||||
}
|
}
|
||||||
@@ -4,5 +4,6 @@
|
|||||||
"carpet.rule.skipTicksForJoblessVillager.desc": "村民没有工作时,跳过村民的tick",
|
"carpet.rule.skipTicksForJoblessVillager.desc": "村民没有工作时,跳过村民的tick",
|
||||||
"carpet.rule.creativeNoInfinitePickup.desc": "创造模式下,玩家不能无限制地拾取物品",
|
"carpet.rule.creativeNoInfinitePickup.desc": "创造模式下,玩家不能无限制地拾取物品",
|
||||||
"carpet.rule.autoUrl.desc": "自动识别URL并添加点击事件",
|
"carpet.rule.autoUrl.desc": "自动识别URL并添加点击事件",
|
||||||
"carpet.rule.noBatSpawning.desc": "禁止蝙蝠生成"
|
"carpet.rule.noBatSpawning.desc": "禁止蝙蝠生成",
|
||||||
|
"carpet.rule.offlineFakePlayers.desc": "假玩家使用离线皮肤和uuid"
|
||||||
}
|
}
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
"AccessorPlayerAbilities",
|
"AccessorPlayerAbilities",
|
||||||
"MixinAbstractSignBlock",
|
"MixinAbstractSignBlock",
|
||||||
"MixinBlock",
|
"MixinBlock",
|
||||||
|
"MixinFakePlayer",
|
||||||
"MixinFallingBlockEntity",
|
"MixinFallingBlockEntity",
|
||||||
"MixinItem",
|
"MixinItem",
|
||||||
"MixinItemEntity",
|
"MixinItemEntity",
|
||||||
|
|||||||
Reference in new issue
Block a user