fixed 1.19
This commit is contained in:
parent
a5c47c9152
commit
337ccf5df9
|
|
@ -1,9 +1,9 @@
|
||||||
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
|
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
|
||||||
# This is required to provide enough memory for the Minecraft decompilation process.
|
# This is required to provide enough memory for the Minecraft decompilation process.
|
||||||
org.gradle.jvmargs=-Xmx3G
|
org.gradle.jvmargs=-Xmx3G
|
||||||
version=1.18.0
|
version=1.18.1
|
||||||
minecraft_version=1.19
|
minecraft_version=1.19
|
||||||
mappings_version=1.18.2-2022.06.05-1.19
|
mappings_version=1.18.2-2022.07.17-1.19
|
||||||
forge_version=41.0.17
|
forge_version=41.0.100
|
||||||
org.gradle.daemon=false
|
org.gradle.daemon=false
|
||||||
# chorg.gradle.java.home=C:/Program Files/AdoptOpenJDK/jdk-17.0.1/
|
# chorg.gradle.java.home=C:/Program Files/AdoptOpenJDK/jdk-17.0.1/
|
||||||
|
|
@ -61,7 +61,7 @@ public class CarryOn
|
||||||
String version = info.getVersion().toString();
|
String version = info.getVersion().toString();
|
||||||
// PreInitevent.
|
// PreInitevent.
|
||||||
CarryOn.network = NetworkRegistry.newSimpleChannel(new ResourceLocation(CarryOn.MODID, "carryonpackets"), () -> version, version::equals, version::equals);
|
CarryOn.network = NetworkRegistry.newSimpleChannel(new ResourceLocation(CarryOn.MODID, "carryonpackets"), () -> version, version::equals, version::equals);
|
||||||
|
|
||||||
// CLIENT PACKETS
|
// CLIENT PACKETS
|
||||||
CarryOn.network.registerMessage(0, CarrySlotPacket.class, CarrySlotPacket::toBytes, CarrySlotPacket::new, CarrySlotPacket::handle, Optional.of(NetworkDirection.PLAY_TO_CLIENT));
|
CarryOn.network.registerMessage(0, CarrySlotPacket.class, CarrySlotPacket::toBytes, CarrySlotPacket::new, CarrySlotPacket::handle, Optional.of(NetworkDirection.PLAY_TO_CLIENT));
|
||||||
CarryOn.network.registerMessage(1, ScriptReloadPacket.class, ScriptReloadPacket::toBytes, ScriptReloadPacket::new, ScriptReloadPacket::handle, Optional.of(NetworkDirection.PLAY_TO_CLIENT));
|
CarryOn.network.registerMessage(1, ScriptReloadPacket.class, ScriptReloadPacket::toBytes, ScriptReloadPacket::new, ScriptReloadPacket::handle, Optional.of(NetworkDirection.PLAY_TO_CLIENT));
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ import net.minecraft.world.phys.Vec3;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
import net.minecraftforge.client.event.RenderHandEvent;
|
import net.minecraftforge.client.event.RenderHandEvent;
|
||||||
import net.minecraftforge.event.world.WorldEvent;
|
import net.minecraftforge.event.level.LevelEvent;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.ModList;
|
import net.minecraftforge.fml.ModList;
|
||||||
import tschipp.carryon.client.helper.CarryRenderHelper;
|
import tschipp.carryon.client.helper.CarryRenderHelper;
|
||||||
|
|
@ -51,7 +51,7 @@ public class RenderEntityEvents
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onLevelUnload(WorldEvent.Unload event)
|
public void onLevelUnload(LevelEvent.Unload event)
|
||||||
{
|
{
|
||||||
nbtEntityMap.clear();
|
nbtEntityMap.clear();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -48,9 +48,9 @@ import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
import net.minecraftforge.client.event.RenderHandEvent;
|
import net.minecraftforge.client.event.RenderHandEvent;
|
||||||
import net.minecraftforge.client.event.RenderLevelLastEvent;
|
import net.minecraftforge.client.event.RenderLevelLastEvent;
|
||||||
import net.minecraftforge.client.event.RenderPlayerEvent;
|
import net.minecraftforge.client.event.RenderPlayerEvent;
|
||||||
import net.minecraftforge.client.event.ScreenEvent.InitScreenEvent;
|
import net.minecraftforge.client.event.ScreenEvent;
|
||||||
import net.minecraftforge.event.TickEvent.PlayerTickEvent;
|
import net.minecraftforge.event.TickEvent.PlayerTickEvent;
|
||||||
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
|
import net.minecraftforge.event.entity.EntityJoinLevelEvent;
|
||||||
import net.minecraftforge.eventbus.api.EventPriority;
|
import net.minecraftforge.eventbus.api.EventPriority;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.LogicalSide;
|
import net.minecraftforge.fml.LogicalSide;
|
||||||
|
|
@ -124,7 +124,7 @@ public class RenderEvents
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
public void onJoinLevel(EntityJoinWorldEvent event)
|
public void onJoinLevel(EntityJoinLevelEvent event)
|
||||||
{
|
{
|
||||||
if (event.getEntity() instanceof Player)
|
if (event.getEntity() instanceof Player)
|
||||||
{
|
{
|
||||||
|
|
@ -152,7 +152,7 @@ public class RenderEvents
|
||||||
@SuppressWarnings("resource")
|
@SuppressWarnings("resource")
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onGuiInit(InitScreenEvent.Pre event)
|
public void onGuiInit(ScreenEvent.Init.Pre event)
|
||||||
{
|
{
|
||||||
if (event.getScreen() != null)
|
if (event.getScreen() != null)
|
||||||
{
|
{
|
||||||
|
|
@ -672,7 +672,7 @@ public class RenderEvents
|
||||||
|
|
||||||
if (handleMobends() && !ModList.get().isLoaded("obfuscate"))
|
if (handleMobends() && !ModList.get().isLoaded("obfuscate"))
|
||||||
{
|
{
|
||||||
Player player = event.getPlayer();
|
Player player = event.getEntity();
|
||||||
Pose pose = player.getPose();
|
Pose pose = player.getPose();
|
||||||
ItemStack stack = player.getMainHandItem();
|
ItemStack stack = player.getMainHandItem();
|
||||||
if (pose != Pose.SWIMMING && pose != Pose.FALL_FLYING && !stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile.get() && ItemCarryonBlock.hasTileData(stack) || stack.getItem() == RegistrationHandler.itemEntity.get() && ItemCarryonEntity.hasEntityData(stack)))
|
if (pose != Pose.SWIMMING && pose != Pose.FALL_FLYING && !stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile.get() && ItemCarryonBlock.hasTileData(stack) || stack.getItem() == RegistrationHandler.itemEntity.get() && ItemCarryonEntity.hasEntityData(stack)))
|
||||||
|
|
|
||||||
|
|
@ -4,21 +4,26 @@ import net.minecraft.client.KeyMapping;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.client.event.RegisterKeyMappingsEvent;
|
||||||
import net.minecraftforge.client.ClientRegistry;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
||||||
|
import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus;
|
||||||
|
import tschipp.carryon.CarryOn;
|
||||||
|
|
||||||
|
@EventBusSubscriber(modid = CarryOn.MODID, bus = Bus.MOD, value = Dist.CLIENT)
|
||||||
public class CarryOnKeybinds
|
public class CarryOnKeybinds
|
||||||
{
|
{
|
||||||
|
|
||||||
public static final String KEYBIND_KEY = "carryOnKeyPressed";
|
public static final String KEYBIND_KEY = "carryOnKeyPressed";
|
||||||
public static KeyMapping carryKey;
|
public static KeyMapping carryKey;
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
|
||||||
public static void init()
|
@SubscribeEvent
|
||||||
|
public static void registerKeybinds(RegisterKeyMappingsEvent event)
|
||||||
{
|
{
|
||||||
carryKey = new KeyMapping("key.carry.desc", 340, "key.carry.category");
|
carryKey = new KeyMapping("key.carry.desc", 340, "key.carry.category");
|
||||||
|
|
||||||
ClientRegistry.registerKeyBinding(carryKey);
|
event.register(carryKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isKeyPressed(Player player)
|
public static boolean isKeyPressed(Player player)
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ public class PositionClientEvents
|
||||||
@SuppressWarnings("resource")
|
@SuppressWarnings("resource")
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onGui(ScreenEvent.DrawScreenEvent event)
|
public void onGui(ScreenEvent.BackgroundRendered event)
|
||||||
{
|
{
|
||||||
if (event.getScreen() != null)
|
if (event.getScreen() != null)
|
||||||
{
|
{
|
||||||
|
|
@ -58,7 +58,7 @@ public class PositionClientEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onGuiClose(PlayerContainerEvent.Close event)
|
public void onGuiClose(PlayerContainerEvent.Close event)
|
||||||
{
|
{
|
||||||
Player player = event.getPlayer();
|
Player player = event.getEntity();
|
||||||
if (player.getCapability(PositionProvider.POSITION_CAPABILITY).isPresent())
|
if (player.getCapability(PositionProvider.POSITION_CAPABILITY).isPresent())
|
||||||
{
|
{
|
||||||
IPosition cap = player.getCapability(PositionProvider.POSITION_CAPABILITY).orElse(new TEPosition());
|
IPosition cap = player.getCapability(PositionProvider.POSITION_CAPABILITY).orElse(new TEPosition());
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,8 @@ public class PositionCommonEvents
|
||||||
public void onBlockRight(PlayerInteractEvent.RightClickBlock event)
|
public void onBlockRight(PlayerInteractEvent.RightClickBlock event)
|
||||||
{
|
{
|
||||||
BlockPos pos = event.getPos();
|
BlockPos pos = event.getPos();
|
||||||
Level level = event.getWorld();
|
Level level = event.getLevel();
|
||||||
Player player = event.getPlayer();
|
Player player = event.getEntity();
|
||||||
|
|
||||||
if (event.isCanceled() || player == null || player instanceof FakePlayer)
|
if (event.isCanceled() || player == null || player instanceof FakePlayer)
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,7 @@ import tschipp.carryon.CarryOn;
|
||||||
import tschipp.carryon.common.handler.ListHandler;
|
import tschipp.carryon.common.handler.ListHandler;
|
||||||
|
|
||||||
@Mod.EventBusSubscriber(modid = CarryOn.MODID, bus = Bus.MOD)
|
@Mod.EventBusSubscriber(modid = CarryOn.MODID, bus = Bus.MOD)
|
||||||
public class Configs
|
public class Configs {
|
||||||
{
|
|
||||||
|
|
||||||
private static final ForgeConfigSpec.Builder SERVER_BUILDER = new ForgeConfigSpec.Builder();
|
private static final ForgeConfigSpec.Builder SERVER_BUILDER = new ForgeConfigSpec.Builder();
|
||||||
private static final ForgeConfigSpec.Builder CLIENT_BUILDER = new ForgeConfigSpec.Builder();
|
private static final ForgeConfigSpec.Builder CLIENT_BUILDER = new ForgeConfigSpec.Builder();
|
||||||
|
|
@ -28,8 +27,9 @@ public class Configs
|
||||||
public static final ForgeConfigSpec SERVER_CONFIG;
|
public static final ForgeConfigSpec SERVER_CONFIG;
|
||||||
public static final ForgeConfigSpec CLIENT_CONFIG;
|
public static final ForgeConfigSpec CLIENT_CONFIG;
|
||||||
|
|
||||||
static
|
public static boolean SERVER_LOADED = false;
|
||||||
{
|
|
||||||
|
static {
|
||||||
|
|
||||||
Settings.init(SERVER_BUILDER, CLIENT_BUILDER);
|
Settings.init(SERVER_BUILDER, CLIENT_BUILDER);
|
||||||
Blacklist.init(SERVER_BUILDER, CLIENT_BUILDER);
|
Blacklist.init(SERVER_BUILDER, CLIENT_BUILDER);
|
||||||
|
|
@ -42,35 +42,34 @@ public class Configs
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onLoad(final ModConfigEvent.Loading event)
|
public static void onLoad(final ModConfigEvent event) {
|
||||||
{
|
if (event.getConfig().getModId().equals(CarryOn.MODID) && event.getConfig().getSpec() == SERVER_CONFIG) {
|
||||||
if (event.getConfig().getModId().equals(CarryOn.MODID))
|
SERVER_LOADED = true;
|
||||||
{
|
|
||||||
ListHandler.initConfigLists();
|
|
||||||
|
|
||||||
CommentedConfig cfg = event.getConfig().getConfigData();
|
CommentedConfig cfg = event.getConfig().getConfigData();
|
||||||
|
|
||||||
if (cfg instanceof CommentedFileConfig)
|
if (cfg instanceof CommentedFileConfig cfig) {
|
||||||
((CommentedFileConfig) cfg).load();
|
cfig.load();
|
||||||
|
ListHandler.initConfigLists();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
// @SubscribeEvent
|
||||||
public static void onConfigChanged(ModConfigEvent.Reloading event)
|
// public static void onConfigChanged(ModConfigEvent.Reloading event) {
|
||||||
{
|
// if (event.getConfig().getModId().equals(CarryOn.MODID) && event.getConfig().getSpec() == SERVER_CONFIG) {
|
||||||
if (event.getConfig().getModId().equals(CarryOn.MODID))
|
//
|
||||||
{
|
// CommentedConfig cfg = event.getConfig().getConfigData();
|
||||||
ListHandler.initConfigLists();
|
//
|
||||||
|
// if (cfg instanceof CommentedFileConfig)
|
||||||
|
// {
|
||||||
|
// ((CommentedFileConfig) cfg).load();
|
||||||
|
// ListHandler.initConfigLists();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
CommentedConfig cfg = event.getConfig().getConfigData();
|
public static class Settings {
|
||||||
|
|
||||||
if (cfg instanceof CommentedFileConfig)
|
|
||||||
((CommentedFileConfig) cfg).load();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class Settings
|
|
||||||
{
|
|
||||||
public static BooleanValue facePlayer;
|
public static BooleanValue facePlayer;
|
||||||
|
|
||||||
public static BooleanValue heavyTiles;
|
public static BooleanValue heavyTiles;
|
||||||
|
|
@ -115,57 +114,77 @@ public class Configs
|
||||||
|
|
||||||
public static BooleanValue entitySizeMattersStacking;
|
public static BooleanValue entitySizeMattersStacking;
|
||||||
|
|
||||||
public static void init(ForgeConfigSpec.Builder s, ForgeConfigSpec.Builder c)
|
public static void init(ForgeConfigSpec.Builder s, ForgeConfigSpec.Builder c) {
|
||||||
{
|
|
||||||
c.comment("Settings");
|
c.comment("Settings");
|
||||||
s.comment("Settings");
|
s.comment("Settings");
|
||||||
|
|
||||||
s.push("settings");
|
s.push("settings");
|
||||||
c.push("settings");
|
c.push("settings");
|
||||||
|
|
||||||
maxDistance = s.comment("Maximum distance from where Blocks and Entities can be picked up").defineInRange("maxDistance", 2.5, 0, Double.MAX_VALUE);
|
maxDistance = s.comment("Maximum distance from where Blocks and Entities can be picked up")
|
||||||
|
.defineInRange("maxDistance", 2.5, 0, Double.MAX_VALUE);
|
||||||
|
|
||||||
maxEntityWidth = s.comment("Max width of entities that can be picked up in survival mode").defineInRange("maxEntityWidth", 1.5, 0, 10);
|
maxEntityWidth = s.comment("Max width of entities that can be picked up in survival mode")
|
||||||
|
.defineInRange("maxEntityWidth", 1.5, 0, 10);
|
||||||
|
|
||||||
maxEntityHeight = s.comment("Max height of entities that can be picked up in survival mode").defineInRange("maxEntityHeight", 2.0, 0, 10);
|
maxEntityHeight = s.comment("Max height of entities that can be picked up in survival mode")
|
||||||
|
.defineInRange("maxEntityHeight", 2.0, 0, 10);
|
||||||
|
|
||||||
blockSlownessMultiplier = s.comment("Slowness multiplier for blocks").defineInRange("blockSlownessMultiplier", 1, 0, Double.MAX_VALUE);
|
blockSlownessMultiplier = s.comment("Slowness multiplier for blocks")
|
||||||
|
.defineInRange("blockSlownessMultiplier", 1, 0, Double.MAX_VALUE);
|
||||||
|
|
||||||
entitySlownessMultiplier = s.comment("Slowness multiplier for entities").defineInRange("entitySlownessMultiplier", 1, 0, Double.MAX_VALUE);
|
entitySlownessMultiplier = s.comment("Slowness multiplier for entities")
|
||||||
|
.defineInRange("entitySlownessMultiplier", 1, 0, Double.MAX_VALUE);
|
||||||
|
|
||||||
maxEntityStackLimit = s.comment("Maximum stack limit for entities").defineInRange("maxEntityStackLimit", 10, 1, Integer.MAX_VALUE);
|
maxEntityStackLimit = s.comment("Maximum stack limit for entities").defineInRange("maxEntityStackLimit", 10,
|
||||||
|
1, Integer.MAX_VALUE);
|
||||||
|
|
||||||
facePlayer = c.comment("If the front of the Tile Entities should face the player or should face outward").define("facePlayer", false);
|
facePlayer = c.comment("If the front of the Tile Entities should face the player or should face outward")
|
||||||
|
.define("facePlayer", false);
|
||||||
|
|
||||||
heavyTiles = s.comment("More complex Tile Entities slow down the player more").define("heavyTiles", true);
|
heavyTiles = s.comment("More complex Tile Entities slow down the player more").define("heavyTiles", true);
|
||||||
|
|
||||||
pickupAllBlocks = s.comment("Allow all blocks to be picked up, not just Tile Entites").define("pickupAllBlocks", false);
|
pickupAllBlocks = s.comment("Allow all blocks to be picked up, not just Tile Entites")
|
||||||
|
.define("pickupAllBlocks", false);
|
||||||
|
|
||||||
slownessInCreative = s.comment("Whether Blocks and Entities slow the creative player down when carried").define("slownessInCreative", true);
|
slownessInCreative = s.comment("Whether Blocks and Entities slow the creative player down when carried")
|
||||||
|
.define("slownessInCreative", true);
|
||||||
|
|
||||||
pickupHostileMobs = s.comment("Whether hostile mobs should be able to picked up in survival mode").define("pickupHostileMobs", false);
|
pickupHostileMobs = s.comment("Whether hostile mobs should be able to picked up in survival mode")
|
||||||
|
.define("pickupHostileMobs", false);
|
||||||
|
|
||||||
heavyEntities = s.comment("Larger Entities slow down the player more").define("heavyEntities", true);
|
heavyEntities = s.comment("Larger Entities slow down the player more").define("heavyEntities", true);
|
||||||
|
|
||||||
renderArms = c.comment("Arms should render on sides when carrying").define("renderArms", true);
|
renderArms = c.comment("Arms should render on sides when carrying").define("renderArms", true);
|
||||||
|
|
||||||
allowBabies = s.comment("Allow babies to be carried even when adult mob is blacklisted (or not whitelisted)").define("allowBabies", false);
|
allowBabies = s
|
||||||
|
.comment("Allow babies to be carried even when adult mob is blacklisted (or not whitelisted)")
|
||||||
|
.define("allowBabies", false);
|
||||||
|
|
||||||
useWhitelistBlocks = s.comment("Use Whitelist instead of Blacklist for Blocks").define("useWhitelistBlocks", false);
|
useWhitelistBlocks = s.comment("Use Whitelist instead of Blacklist for Blocks").define("useWhitelistBlocks",
|
||||||
|
false);
|
||||||
|
|
||||||
useWhitelistEntities = s.comment("Use Whitelist instead of Blacklist for Entities").define("useWhitelistEntities", false);
|
useWhitelistEntities = s.comment("Use Whitelist instead of Blacklist for Entities")
|
||||||
|
.define("useWhitelistEntities", false);
|
||||||
|
|
||||||
useWhitelistStacking = s.comment("Use Whitelist instead of Blacklist for Stacking").define("useWhitelistStacking", false);
|
useWhitelistStacking = s.comment("Use Whitelist instead of Blacklist for Stacking")
|
||||||
|
.define("useWhitelistStacking", false);
|
||||||
|
|
||||||
hitWhileCarrying = s.comment("Whether the player can hit blocks and entities while carrying or not").define("hitWhileCarrying", false);
|
hitWhileCarrying = s.comment("Whether the player can hit blocks and entities while carrying or not")
|
||||||
|
.define("hitWhileCarrying", false);
|
||||||
|
|
||||||
dropCarriedWhenHit = s.comment("Whether the player drops the carried object when hit or not").define("dropCarriedWhenHit", false);
|
dropCarriedWhenHit = s.comment("Whether the player drops the carried object when hit or not")
|
||||||
|
.define("dropCarriedWhenHit", false);
|
||||||
|
|
||||||
useScripts = s.comment("Use custom Pickup Scripts. Having this set to false, will not allow you to run scripts, but will increase your performance").worldRestart().define("useScripts", false);
|
useScripts = s.comment(
|
||||||
|
"Use custom Pickup Scripts. Having this set to false, will not allow you to run scripts, but will increase your performance")
|
||||||
|
.worldRestart().define("useScripts", false);
|
||||||
|
|
||||||
stackableEntities = s.comment("Allows entities to be stacked using Carry On").define("stackableEntities", true);
|
stackableEntities = s.comment("Allows entities to be stacked using Carry On").define("stackableEntities",
|
||||||
|
true);
|
||||||
|
|
||||||
entitySizeMattersStacking = s.comment("Whether entities' size matters when stacking or not").define("stackableEntities", true);
|
entitySizeMattersStacking = s.comment("Whether entities' size matters when stacking or not")
|
||||||
|
.define("stackableEntities", true);
|
||||||
|
|
||||||
s.pop();
|
s.pop();
|
||||||
c.pop();
|
c.pop();
|
||||||
|
|
@ -174,73 +193,136 @@ public class Configs
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class WhiteList
|
public static class WhiteList {
|
||||||
{
|
|
||||||
public static ConfigValue<List<? extends String>> allowedEntities;
|
public static ConfigValue<List<? extends String>> allowedEntities;
|
||||||
|
|
||||||
public static ConfigValue<List<? extends String>> allowedBlocks;
|
public static ConfigValue<List<? extends String>> allowedBlocks;
|
||||||
|
|
||||||
public static ConfigValue<List<? extends String>> allowedStacking;
|
public static ConfigValue<List<? extends String>> allowedStacking;
|
||||||
|
|
||||||
public static void init(ForgeConfigSpec.Builder s, ForgeConfigSpec.Builder c)
|
public static void init(ForgeConfigSpec.Builder s, ForgeConfigSpec.Builder c) {
|
||||||
{
|
s.comment(
|
||||||
s.comment("Whitelist. Read about the format here: https://github.com/Tschipp/CarryOn/wiki/Black---and-Whitelist-Config");
|
"Whitelist. Read about the format here: https://github.com/Tschipp/CarryOn/wiki/Black---and-Whitelist-Config");
|
||||||
|
|
||||||
allowedEntities = s.comment("Entities that CAN be picked up (useWhitelistEntities must be true)").defineList("whitelist.allowedEntities", Arrays.asList(), obj -> obj instanceof String ? true : false);
|
allowedEntities = s.comment("Entities that CAN be picked up (useWhitelistEntities must be true)")
|
||||||
|
.defineList("whitelist.allowedEntities", Arrays.asList(),
|
||||||
|
obj -> obj instanceof String ? true : false);
|
||||||
|
|
||||||
allowedBlocks = s.comment("Blocks that CAN be picked up (useWhitelistBlocks must be true)").defineList("whitelist.allowedBlocks", Arrays.asList(), obj -> obj instanceof String ? true : false);
|
allowedBlocks = s.comment("Blocks that CAN be picked up (useWhitelistBlocks must be true)").defineList(
|
||||||
|
"whitelist.allowedBlocks", Arrays.asList(), obj -> obj instanceof String ? true : false);
|
||||||
|
|
||||||
allowedStacking = s.comment("Entities that CAN have other entities stacked on top of them (useWhitelistStacking must be true)").defineList("whitelist.allowedStacking", Arrays.asList(), obj -> obj instanceof String ? true : false);
|
allowedStacking = s.comment(
|
||||||
|
"Entities that CAN have other entities stacked on top of them (useWhitelistStacking must be true)")
|
||||||
|
.defineList("whitelist.allowedStacking", Arrays.asList(),
|
||||||
|
obj -> obj instanceof String ? true : false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Blacklist
|
public static class Blacklist {
|
||||||
{
|
|
||||||
public static ConfigValue<List<? extends String>> forbiddenTiles;
|
public static ConfigValue<List<? extends String>> forbiddenTiles;
|
||||||
|
|
||||||
public static ConfigValue<List<? extends String>> forbiddenEntities;
|
public static ConfigValue<List<? extends String>> forbiddenEntities;
|
||||||
|
|
||||||
public static ConfigValue<List<? extends String>> forbiddenStacking;
|
public static ConfigValue<List<? extends String>> forbiddenStacking;
|
||||||
|
|
||||||
public static void init(ForgeConfigSpec.Builder s, ForgeConfigSpec.Builder c)
|
public static void init(ForgeConfigSpec.Builder s, ForgeConfigSpec.Builder c) {
|
||||||
{
|
s.comment(
|
||||||
s.comment("Blacklist. Read about the format here: https://github.com/Tschipp/CarryOn/wiki/Black---and-Whitelist-Config");
|
"Blacklist. Read about the format here: https://github.com/Tschipp/CarryOn/wiki/Black---and-Whitelist-Config");
|
||||||
|
|
||||||
forbiddenTiles = s.comment("Blocks that cannot be picked up").defineList("blacklist.forbiddenTiles", Arrays.asList("#forge:immovable", "#forge:relocation_not_supported", "minecraft:end_portal", "minecraft:end_gateway", "minecraft:tall_grass", "minecraft:large_fern", "minecraft:peony", "minecraft:rose_bush", "minecraft:lilac", "minecraft:sunflower", "minecraft:*_bed", "minecraft:oak_door", "minecraft:iron_door", "minecraft:spruce_door", "minecraft:birch_door", "minecraft:jungle_door", "minecraft:acacia_door", "minecraft:dark_oak_door", "minecraft:waterlily", "minecraft:cake", "minecraft:nether_portal", "minecraft:tall_seagrass", "animania:block_trough", "animania:block_invisiblock", "colossalchests:*", "ic2:*", "bigreactors:*", "forestry:*", "tconstruct:*", "rustic:*", "botania:*", "astralsorcery:*", "quark:colored_bed_*", "immersiveengineering:*", "embers:block_furnace", "embers:ember_bore", "embers:ember_activator", "embers:mixer", "embers:heat_coil", "embers:large_tank", "embers:crystal_cell", "embers:alchemy_pedestal", "embers:boiler", "embers:combustor", "embers:catalzyer", "embers:field_chart", "embers:inferno_forge", "storagedrawers:framingtable", "skyresources:*", "lootbags:*", "exsartagine:*", "aquamunda:tank", "opencomputers:*", "malisisdoors:*", "industrialforegoing:*", "minecolonies:*", "thaumcraft:pillar*", "thaumcraft:infernal_furnace", "thaumcraft:placeholder*", "thaumcraft:infusion_matrix", "thaumcraft:golem_builder", "thaumcraft:thaumatorium*", "magneticraft:oil_heater", "magneticraft:solar_panel", "magneticraft:steam_engine", "magneticraft:shelving_unit", "magneticraft:grinder", "magneticraft:sieve", "magneticraft:solar_tower", "magneticraft:solar_mirror", "magneticraft:container", "magneticraft:pumpjack", "magneticraft:solar_panel", "magneticraft:refinery", "magneticraft:oil_heater", "magneticraft:hydraulic_press", "magneticraft:multiblock_gap", "refinedstorage:*", "mcmultipart:*", "enderstorage:*", "betterstorage:*", "practicallogistics2:*", "wearablebackpacks:*", "rftools:screen", "rftools:creative_screen", "create:*", "magic_doorknob:*", "iceandfire:*", "ftbquests:*", "waystones:*"), obj -> obj instanceof String);
|
forbiddenTiles = s.comment("Blocks that cannot be picked up").defineList("blacklist.forbiddenTiles",
|
||||||
|
Arrays.asList("#forge:immovable", "#forge:relocation_not_supported", "minecraft:end_portal",
|
||||||
|
"minecraft:end_gateway", "minecraft:tall_grass", "minecraft:large_fern", "minecraft:peony",
|
||||||
|
"minecraft:rose_bush", "minecraft:lilac", "minecraft:sunflower", "minecraft:*_bed",
|
||||||
|
"minecraft:oak_door", "minecraft:iron_door", "minecraft:spruce_door",
|
||||||
|
"minecraft:birch_door", "minecraft:jungle_door", "minecraft:acacia_door",
|
||||||
|
"minecraft:dark_oak_door", "minecraft:waterlily", "minecraft:cake",
|
||||||
|
"minecraft:nether_portal", "minecraft:tall_seagrass", "animania:block_trough",
|
||||||
|
"animania:block_invisiblock", "colossalchests:*", "ic2:*", "bigreactors:*", "forestry:*",
|
||||||
|
"tconstruct:*", "rustic:*", "botania:*", "astralsorcery:*", "quark:colored_bed_*",
|
||||||
|
"immersiveengineering:*", "embers:block_furnace", "embers:ember_bore",
|
||||||
|
"embers:ember_activator", "embers:mixer", "embers:heat_coil", "embers:large_tank",
|
||||||
|
"embers:crystal_cell", "embers:alchemy_pedestal", "embers:boiler", "embers:combustor",
|
||||||
|
"embers:catalzyer", "embers:field_chart", "embers:inferno_forge",
|
||||||
|
"storagedrawers:framingtable", "skyresources:*", "lootbags:*", "exsartagine:*",
|
||||||
|
"aquamunda:tank", "opencomputers:*", "malisisdoors:*", "industrialforegoing:*",
|
||||||
|
"minecolonies:*", "thaumcraft:pillar*", "thaumcraft:infernal_furnace",
|
||||||
|
"thaumcraft:placeholder*", "thaumcraft:infusion_matrix", "thaumcraft:golem_builder",
|
||||||
|
"thaumcraft:thaumatorium*", "magneticraft:oil_heater", "magneticraft:solar_panel",
|
||||||
|
"magneticraft:steam_engine", "magneticraft:shelving_unit", "magneticraft:grinder",
|
||||||
|
"magneticraft:sieve", "magneticraft:solar_tower", "magneticraft:solar_mirror",
|
||||||
|
"magneticraft:container", "magneticraft:pumpjack", "magneticraft:solar_panel",
|
||||||
|
"magneticraft:refinery", "magneticraft:oil_heater", "magneticraft:hydraulic_press",
|
||||||
|
"magneticraft:multiblock_gap", "refinedstorage:*", "mcmultipart:*", "enderstorage:*",
|
||||||
|
"betterstorage:*", "practicallogistics2:*", "wearablebackpacks:*", "rftools:screen",
|
||||||
|
"rftools:creative_screen", "create:*", "magic_doorknob:*", "iceandfire:*", "ftbquests:*",
|
||||||
|
"waystones:*"),
|
||||||
|
obj -> obj instanceof String);
|
||||||
|
|
||||||
forbiddenEntities = s.comment("Entities that cannot be picked up").defineList("blacklist.forbiddenEntities", Arrays.asList("minecraft:end_crystal", "minecraft:ender_dragon", "minecraft:ghast", "minecraft:shulker", "minecraft:leash_knot", "minecraft:armor_stand", "minecraft:item_frame", "minecraft:painting", "minecraft:shulker_bullet", "animania:hamster", "animania:ferret*", "animania:hedgehog*", "animania:cart", "animania:wagon", "mynko:*", "pixelmon:*", "mocreatures:*", "quark:totem", "vehicle:*"), obj -> obj instanceof String ? true : false);
|
forbiddenEntities = s.comment("Entities that cannot be picked up").defineList("blacklist.forbiddenEntities",
|
||||||
|
Arrays.asList("minecraft:end_crystal", "minecraft:ender_dragon", "minecraft:ghast",
|
||||||
|
"minecraft:shulker", "minecraft:leash_knot", "minecraft:armor_stand",
|
||||||
|
"minecraft:item_frame", "minecraft:painting", "minecraft:shulker_bullet",
|
||||||
|
"animania:hamster", "animania:ferret*", "animania:hedgehog*", "animania:cart",
|
||||||
|
"animania:wagon", "mynko:*", "pixelmon:*", "mocreatures:*", "quark:totem", "vehicle:*"),
|
||||||
|
obj -> obj instanceof String ? true : false);
|
||||||
|
|
||||||
forbiddenStacking = s.comment("Entities that cannot have other entities stacked on top of them").defineList("blacklist.forbiddenStacking", Arrays.asList("minecraft:horse"), obj -> obj instanceof String ? true : false);
|
forbiddenStacking = s.comment("Entities that cannot have other entities stacked on top of them").defineList(
|
||||||
|
"blacklist.forbiddenStacking", Arrays.asList("minecraft:horse"),
|
||||||
|
obj -> obj instanceof String ? true : false);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ModelOverrides
|
public static class ModelOverrides {
|
||||||
{
|
|
||||||
public static ConfigValue<List<? extends String>> modelOverrides;
|
public static ConfigValue<List<? extends String>> modelOverrides;
|
||||||
|
|
||||||
public static void init(ForgeConfigSpec.Builder s, ForgeConfigSpec.Builder c)
|
public static void init(ForgeConfigSpec.Builder s, ForgeConfigSpec.Builder c) {
|
||||||
{
|
c.comment(
|
||||||
c.comment("Model Overrides. Read about the format here: https://github.com/Tschipp/CarryOn/wiki/Model-Override-Config");
|
"Model Overrides. Read about the format here: https://github.com/Tschipp/CarryOn/wiki/Model-Override-Config");
|
||||||
|
|
||||||
modelOverrides = c.comment("Model Overrides based on NBT or on Meta. Advanced Users Only!").defineList("modeloverrides.overrides", Arrays.asList("minecraft:hopper->(block)minecraft:hopper", "minecraft:comparator->(block)minecraft:comparator", "minecraft:repeater->(block)minecraft:repeater", "minecraft:cauldron->(block)minecraft:cauldron", "minecraft:brewing_stand->(item)minecraft:brewing_stand", "minecraft:flower_pot->(block)minecraft:flower_pot", "minecraft:sugar_cane->(block)minecraft:sugar_cane", "minecraft:redstone_wire->(item)minecraft:redstone", "animania:block_nest->(block)animania:block_nest", "animania:cheese_mold;0->(block)animania:cheese_mold;0", "animania:cheese_mold;1->(block)animania:cheese_mold;1", "animania:cheese_mold;2->(block)animania:cheese_mold;2", "animania:cheese_mold;3->(block)animania:cheese_mold;3", "animania:cheese_mold;4->(block)animania:cheese_mold;4", "animania:cheese_mold;5->(block)animania:cheese_mold;5", "animania:cheese_mold;6->(block)animania:cheese_mold;6", "animania:cheese_mold;7->(block)animania:cheese_mold;7", "animania:cheese_mold;8->(block)animania:cheese_mold;8", "animania:cheese_mold;9->(block)animania:cheese_mold;9", "animania:cheese_mold;10->(block)animania:cheese_mold;10"), obj -> obj instanceof String ? true : false);
|
modelOverrides = c.comment("Model Overrides based on NBT or on Meta. Advanced Users Only!").defineList(
|
||||||
|
"modeloverrides.overrides",
|
||||||
|
Arrays.asList("minecraft:hopper->(block)minecraft:hopper",
|
||||||
|
"minecraft:comparator->(block)minecraft:comparator",
|
||||||
|
"minecraft:repeater->(block)minecraft:repeater",
|
||||||
|
"minecraft:cauldron->(block)minecraft:cauldron",
|
||||||
|
"minecraft:brewing_stand->(item)minecraft:brewing_stand",
|
||||||
|
"minecraft:flower_pot->(block)minecraft:flower_pot",
|
||||||
|
"minecraft:sugar_cane->(block)minecraft:sugar_cane",
|
||||||
|
"minecraft:redstone_wire->(item)minecraft:redstone",
|
||||||
|
"animania:block_nest->(block)animania:block_nest",
|
||||||
|
"animania:cheese_mold;0->(block)animania:cheese_mold;0",
|
||||||
|
"animania:cheese_mold;1->(block)animania:cheese_mold;1",
|
||||||
|
"animania:cheese_mold;2->(block)animania:cheese_mold;2",
|
||||||
|
"animania:cheese_mold;3->(block)animania:cheese_mold;3",
|
||||||
|
"animania:cheese_mold;4->(block)animania:cheese_mold;4",
|
||||||
|
"animania:cheese_mold;5->(block)animania:cheese_mold;5",
|
||||||
|
"animania:cheese_mold;6->(block)animania:cheese_mold;6",
|
||||||
|
"animania:cheese_mold;7->(block)animania:cheese_mold;7",
|
||||||
|
"animania:cheese_mold;8->(block)animania:cheese_mold;8",
|
||||||
|
"animania:cheese_mold;9->(block)animania:cheese_mold;9",
|
||||||
|
"animania:cheese_mold;10->(block)animania:cheese_mold;10"),
|
||||||
|
obj -> obj instanceof String ? true : false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class CustomPickupConditions
|
public static class CustomPickupConditions {
|
||||||
{
|
|
||||||
|
|
||||||
public static ConfigValue<List<? extends String>> customPickupConditionsBlocks;
|
public static ConfigValue<List<? extends String>> customPickupConditionsBlocks;
|
||||||
|
|
||||||
public static ConfigValue<List<? extends String>> customPickupConditionsEntities;
|
public static ConfigValue<List<? extends String>> customPickupConditionsEntities;
|
||||||
|
|
||||||
public static void init(ForgeConfigSpec.Builder s, ForgeConfigSpec.Builder c)
|
public static void init(ForgeConfigSpec.Builder s, ForgeConfigSpec.Builder c) {
|
||||||
{
|
s.comment(
|
||||||
s.comment("Custom Pickup Conditions. Read about the format here: https://github.com/Tschipp/CarryOn/wiki/Custom-Pickup-Condition-Config");
|
"Custom Pickup Conditions. Read about the format here: https://github.com/Tschipp/CarryOn/wiki/Custom-Pickup-Condition-Config");
|
||||||
|
|
||||||
customPickupConditionsBlocks = s.comment("Custom Pickup Conditions for Blocks").defineList("custom_pickup_conditions.customPickupConditionsBlocks", Arrays.asList(), obj -> obj instanceof String ? true : false);
|
customPickupConditionsBlocks = s.comment("Custom Pickup Conditions for Blocks").defineList(
|
||||||
|
"custom_pickup_conditions.customPickupConditionsBlocks", Arrays.asList(),
|
||||||
|
obj -> obj instanceof String ? true : false);
|
||||||
|
|
||||||
customPickupConditionsEntities = s.comment("Custom Pickup Conditions for Entities").defineList("custom_pickup_conditions.customPickupConditionsEntities", Arrays.asList(), obj -> obj instanceof String ? true : false);
|
customPickupConditionsEntities = s.comment("Custom Pickup Conditions for Entities").defineList(
|
||||||
|
"custom_pickup_conditions.customPickupConditionsEntities", Arrays.asList(),
|
||||||
|
obj -> obj instanceof String ? true : false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,8 @@ import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.material.Material;
|
import net.minecraft.world.level.material.Material;
|
||||||
import net.minecraftforge.common.util.LazyOptional;
|
import net.minecraftforge.common.util.LazyOptional;
|
||||||
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
|
import net.minecraftforge.event.entity.EntityJoinLevelEvent;
|
||||||
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
|
import net.minecraftforge.event.entity.living.LivingEvent.LivingTickEvent;
|
||||||
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
||||||
import net.minecraftforge.eventbus.api.Event.Result;
|
import net.minecraftforge.eventbus.api.Event.Result;
|
||||||
import net.minecraftforge.eventbus.api.EventPriority;
|
import net.minecraftforge.eventbus.api.EventPriority;
|
||||||
|
|
@ -42,7 +42,7 @@ public class ItemEntityEvents
|
||||||
@SubscribeEvent(priority = EventPriority.HIGH)
|
@SubscribeEvent(priority = EventPriority.HIGH)
|
||||||
public void onBlockClick(PlayerInteractEvent.RightClickBlock event)
|
public void onBlockClick(PlayerInteractEvent.RightClickBlock event)
|
||||||
{
|
{
|
||||||
Player player = event.getPlayer();
|
Player player = event.getEntity();
|
||||||
ItemStack stack = player.getMainHandItem();
|
ItemStack stack = player.getMainHandItem();
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity.get() && ItemCarryonEntity.hasEntityData(stack))
|
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity.get() && ItemCarryonEntity.hasEntityData(stack))
|
||||||
{
|
{
|
||||||
|
|
@ -65,10 +65,10 @@ public class ItemEntityEvents
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent(priority = EventPriority.HIGH)
|
@SubscribeEvent(priority = EventPriority.HIGH)
|
||||||
public void onItemDropped(EntityJoinWorldEvent event)
|
public void onItemDropped(EntityJoinLevelEvent event)
|
||||||
{
|
{
|
||||||
Entity e = event.getEntity();
|
Entity e = event.getEntity();
|
||||||
Level level = event.getWorld();
|
Level level = event.getLevel();
|
||||||
if (e instanceof net.minecraft.world.entity.item.ItemEntity eitem)
|
if (e instanceof net.minecraft.world.entity.item.ItemEntity eitem)
|
||||||
{
|
{
|
||||||
ItemStack stack = eitem.getItem();
|
ItemStack stack = eitem.getItem();
|
||||||
|
|
@ -89,13 +89,13 @@ public class ItemEntityEvents
|
||||||
@SubscribeEvent(priority = EventPriority.HIGH)
|
@SubscribeEvent(priority = EventPriority.HIGH)
|
||||||
public void onEntityRightClick(PlayerInteractEvent.EntityInteract event)
|
public void onEntityRightClick(PlayerInteractEvent.EntityInteract event)
|
||||||
{
|
{
|
||||||
Player player = event.getPlayer();
|
Player player = event.getEntity();
|
||||||
|
|
||||||
if (player instanceof ServerPlayer)
|
if (player instanceof ServerPlayer)
|
||||||
{
|
{
|
||||||
ItemStack main = player.getMainHandItem();
|
ItemStack main = player.getMainHandItem();
|
||||||
ItemStack off = player.getOffhandItem();
|
ItemStack off = player.getOffhandItem();
|
||||||
Level level = event.getWorld();
|
Level level = event.getLevel();
|
||||||
Entity entity = event.getTarget();
|
Entity entity = event.getTarget();
|
||||||
BlockPos pos = entity.blockPosition();
|
BlockPos pos = entity.blockPosition();
|
||||||
|
|
||||||
|
|
@ -243,9 +243,9 @@ public class ItemEntityEvents
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onLivingUpdate(LivingUpdateEvent event)
|
public void onLivingUpdate(LivingTickEvent event)
|
||||||
{
|
{
|
||||||
LivingEntity entity = event.getEntityLiving();
|
LivingEntity entity = event.getEntity();
|
||||||
Level level = entity.level;
|
Level level = entity.level;
|
||||||
ItemStack main = entity.getMainHandItem();
|
ItemStack main = entity.getMainHandItem();
|
||||||
if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemEntity.get() && ItemCarryonEntity.hasEntityData(main))
|
if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemEntity.get() && ItemCarryonEntity.hasEntityData(main))
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package tschipp.carryon.common.event;
|
package tschipp.carryon.common.event;
|
||||||
|
|
||||||
import java.awt.TextComponent;
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
|
|
@ -28,16 +27,17 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraftforge.common.util.LazyOptional;
|
import net.minecraftforge.common.util.LazyOptional;
|
||||||
import net.minecraftforge.event.RegisterCommandsEvent;
|
import net.minecraftforge.event.RegisterCommandsEvent;
|
||||||
import net.minecraftforge.event.TagsUpdatedEvent;
|
import net.minecraftforge.event.TagsUpdatedEvent;
|
||||||
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
|
import net.minecraftforge.event.entity.EntityJoinLevelEvent;
|
||||||
import net.minecraftforge.event.entity.living.LivingAttackEvent;
|
import net.minecraftforge.event.entity.living.LivingAttackEvent;
|
||||||
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
|
import net.minecraftforge.event.entity.living.LivingEvent.LivingTickEvent;
|
||||||
import net.minecraftforge.event.entity.player.AttackEntityEvent;
|
import net.minecraftforge.event.entity.player.AttackEntityEvent;
|
||||||
import net.minecraftforge.event.entity.player.PlayerEvent;
|
import net.minecraftforge.event.entity.player.PlayerEvent;
|
||||||
import net.minecraftforge.event.entity.player.PlayerEvent.BreakSpeed;
|
import net.minecraftforge.event.entity.player.PlayerEvent.BreakSpeed;
|
||||||
import net.minecraftforge.event.entity.player.PlayerEvent.PlayerLoggedInEvent;
|
import net.minecraftforge.event.entity.player.PlayerEvent.PlayerLoggedInEvent;
|
||||||
import net.minecraftforge.event.entity.player.PlayerEvent.StartTracking;
|
import net.minecraftforge.event.entity.player.PlayerEvent.StartTracking;
|
||||||
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
||||||
import net.minecraftforge.event.world.BlockEvent.BreakEvent;
|
import net.minecraftforge.event.level.BlockEvent.BreakEvent;
|
||||||
|
import net.minecraftforge.event.level.LevelEvent;
|
||||||
import net.minecraftforge.eventbus.api.Event.Result;
|
import net.minecraftforge.eventbus.api.Event.Result;
|
||||||
import net.minecraftforge.eventbus.api.EventPriority;
|
import net.minecraftforge.eventbus.api.EventPriority;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
|
@ -50,6 +50,7 @@ import net.minecraftforge.network.PacketDistributor.TargetPoint;
|
||||||
import tschipp.carryon.CarryOn;
|
import tschipp.carryon.CarryOn;
|
||||||
import tschipp.carryon.client.keybinds.CarryOnKeybinds;
|
import tschipp.carryon.client.keybinds.CarryOnKeybinds;
|
||||||
import tschipp.carryon.common.command.CommandCarryOn;
|
import tschipp.carryon.common.command.CommandCarryOn;
|
||||||
|
import tschipp.carryon.common.config.Configs;
|
||||||
import tschipp.carryon.common.config.Configs.Settings;
|
import tschipp.carryon.common.config.Configs.Settings;
|
||||||
import tschipp.carryon.common.handler.CustomPickupOverrideHandler;
|
import tschipp.carryon.common.handler.CustomPickupOverrideHandler;
|
||||||
import tschipp.carryon.common.handler.ListHandler;
|
import tschipp.carryon.common.handler.ListHandler;
|
||||||
|
|
@ -72,7 +73,7 @@ public class ItemEvents
|
||||||
if (event.isCanceled())
|
if (event.isCanceled())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Player player = event.getPlayer();
|
Player player = event.getEntity();
|
||||||
ItemStack stack = player.getMainHandItem();
|
ItemStack stack = player.getMainHandItem();
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile.get() && ItemCarryonBlock.hasTileData(stack))
|
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile.get() && ItemCarryonBlock.hasTileData(stack))
|
||||||
{
|
{
|
||||||
|
|
@ -95,10 +96,10 @@ public class ItemEvents
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent(priority = EventPriority.HIGH)
|
@SubscribeEvent(priority = EventPriority.HIGH)
|
||||||
public void onItemDropped(EntityJoinWorldEvent event)
|
public void onItemDropped(EntityJoinLevelEvent event)
|
||||||
{
|
{
|
||||||
Entity e = event.getEntity();
|
Entity e = event.getEntity();
|
||||||
Level level = event.getWorld();
|
Level level = event.getLevel();
|
||||||
if (e instanceof net.minecraft.world.entity.item.ItemEntity eitem)
|
if (e instanceof net.minecraft.world.entity.item.ItemEntity eitem)
|
||||||
{
|
{
|
||||||
ItemStack stack = eitem.getItem();
|
ItemStack stack = eitem.getItem();
|
||||||
|
|
@ -147,9 +148,9 @@ public class ItemEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onPlayerLogin(PlayerLoggedInEvent event)
|
public void onPlayerLogin(PlayerLoggedInEvent event)
|
||||||
{
|
{
|
||||||
if (event.getPlayer() instanceof Player)
|
if (event.getEntity() instanceof Player)
|
||||||
{
|
{
|
||||||
Player player = event.getPlayer();
|
Player player = event.getEntity();
|
||||||
Level level = player.getCommandSenderWorld();
|
Level level = player.getCommandSenderWorld();
|
||||||
|
|
||||||
ItemStack carried = player.getMainHandItem();
|
ItemStack carried = player.getMainHandItem();
|
||||||
|
|
@ -175,9 +176,9 @@ public class ItemEvents
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (event.getPlayer() instanceof ServerPlayer)
|
if (event.getEntity() instanceof ServerPlayer)
|
||||||
{
|
{
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) event.getPlayer()), new ScriptReloadPacket(ScriptReader.OVERRIDES.values()));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) event.getEntity()), new ScriptReloadPacket(ScriptReader.OVERRIDES.values()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -198,12 +199,18 @@ public class ItemEvents
|
||||||
{
|
{
|
||||||
ListHandler.initConfigLists();
|
ListHandler.initConfigLists();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void unloadWorld(LevelEvent.Unload event)
|
||||||
|
{
|
||||||
|
Configs.SERVER_LOADED = false;
|
||||||
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onEntityStartTracking(StartTracking event)
|
public void onEntityStartTracking(StartTracking event)
|
||||||
{
|
{
|
||||||
Entity e = event.getTarget();
|
Entity e = event.getTarget();
|
||||||
Player tracker = event.getPlayer();
|
Player tracker = event.getEntity();
|
||||||
|
|
||||||
if (e instanceof Player player && tracker instanceof ServerPlayer)
|
if (e instanceof Player player && tracker instanceof ServerPlayer)
|
||||||
{
|
{
|
||||||
|
|
@ -236,7 +243,7 @@ public class ItemEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void harvestSpeed(BreakSpeed event)
|
public void harvestSpeed(BreakSpeed event)
|
||||||
{
|
{
|
||||||
Player player = event.getPlayer();
|
Player player = event.getEntity();
|
||||||
if (player != null && !Settings.hitWhileCarrying.get())
|
if (player != null && !Settings.hitWhileCarrying.get())
|
||||||
{
|
{
|
||||||
ItemStack stack = player.getMainHandItem();
|
ItemStack stack = player.getMainHandItem();
|
||||||
|
|
@ -248,7 +255,7 @@ public class ItemEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void attackEntity(AttackEntityEvent event)
|
public void attackEntity(AttackEntityEvent event)
|
||||||
{
|
{
|
||||||
Player player = event.getPlayer();
|
Player player = event.getEntity();
|
||||||
ItemStack stack = player.getMainHandItem();
|
ItemStack stack = player.getMainHandItem();
|
||||||
if (!stack.isEmpty() && !Settings.hitWhileCarrying.get() && (stack.getItem() == RegistrationHandler.itemTile.get() || stack.getItem() == RegistrationHandler.itemEntity.get()))
|
if (!stack.isEmpty() && !Settings.hitWhileCarrying.get() && (stack.getItem() == RegistrationHandler.itemTile.get() || stack.getItem() == RegistrationHandler.itemEntity.get()))
|
||||||
{
|
{
|
||||||
|
|
@ -271,7 +278,7 @@ public class ItemEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void playerAttack(LivingAttackEvent event)
|
public void playerAttack(LivingAttackEvent event)
|
||||||
{
|
{
|
||||||
LivingEntity eliving = event.getEntityLiving();
|
LivingEntity eliving = event.getEntity();
|
||||||
if (eliving instanceof Player player && Settings.dropCarriedWhenHit.get())
|
if (eliving instanceof Player player && Settings.dropCarriedWhenHit.get())
|
||||||
{
|
{
|
||||||
ItemStack stack = player.getMainHandItem();
|
ItemStack stack = player.getMainHandItem();
|
||||||
|
|
@ -289,7 +296,7 @@ public class ItemEvents
|
||||||
@SubscribeEvent(priority = EventPriority.HIGH)
|
@SubscribeEvent(priority = EventPriority.HIGH)
|
||||||
public static void onBlockRightClick(PlayerInteractEvent.RightClickBlock event)
|
public static void onBlockRightClick(PlayerInteractEvent.RightClickBlock event)
|
||||||
{
|
{
|
||||||
Player player = event.getPlayer();
|
Player player = event.getEntity();
|
||||||
|
|
||||||
if (event.isCanceled())
|
if (event.isCanceled())
|
||||||
return;
|
return;
|
||||||
|
|
@ -299,7 +306,7 @@ public class ItemEvents
|
||||||
|
|
||||||
ItemStack main = player.getMainHandItem();
|
ItemStack main = player.getMainHandItem();
|
||||||
ItemStack off = player.getOffhandItem();
|
ItemStack off = player.getOffhandItem();
|
||||||
Level level = event.getWorld();
|
Level level = event.getLevel();
|
||||||
BlockPos pos = event.getPos();
|
BlockPos pos = event.getPos();
|
||||||
BlockState state = level.getBlockState(pos);
|
BlockState state = level.getBlockState(pos);
|
||||||
|
|
||||||
|
|
@ -434,7 +441,7 @@ public class ItemEvents
|
||||||
public void onRespawn(PlayerEvent.Clone event)
|
public void onRespawn(PlayerEvent.Clone event)
|
||||||
{
|
{
|
||||||
Player original = event.getOriginal();
|
Player original = event.getOriginal();
|
||||||
Player player = event.getPlayer();
|
Player player = event.getEntity();
|
||||||
boolean wasDead = event.isWasDeath();
|
boolean wasDead = event.isWasDeath();
|
||||||
GameRules rules = player.level.getGameRules();
|
GameRules rules = player.level.getGameRules();
|
||||||
boolean keepInv = rules.getBoolean(GameRules.RULE_KEEPINVENTORY);
|
boolean keepInv = rules.getBoolean(GameRules.RULE_KEEPINVENTORY);
|
||||||
|
|
@ -461,9 +468,9 @@ public class ItemEvents
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void dropNonHotbarItems(LivingUpdateEvent event)
|
public void dropNonHotbarItems(LivingTickEvent event)
|
||||||
{
|
{
|
||||||
LivingEntity entity = event.getEntityLiving();
|
LivingEntity entity = event.getEntity();
|
||||||
if (entity instanceof Player player && !entity.level.isClientSide)
|
if (entity instanceof Player player && !entity.level.isClientSide)
|
||||||
{
|
{
|
||||||
boolean hasCarried = player.getInventory().contains(new ItemStack(RegistrationHandler.itemTile.get())) || player.getInventory().contains(new ItemStack(RegistrationHandler.itemEntity.get()));
|
boolean hasCarried = player.getInventory().contains(new ItemStack(RegistrationHandler.itemTile.get())) || player.getInventory().contains(new ItemStack(RegistrationHandler.itemEntity.get()));
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,6 @@ package tschipp.carryon.common.handler;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.mojang.brigadier.StringReader;
|
|
||||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
|
||||||
|
|
||||||
import net.minecraft.commands.arguments.blocks.BlockStateParser;
|
|
||||||
import net.minecraft.world.entity.Entity;
|
import net.minecraft.world.entity.Entity;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraftforge.fml.ModList;
|
import net.minecraftforge.fml.ModList;
|
||||||
|
|
@ -108,13 +104,13 @@ public class CustomPickupOverrideHandler
|
||||||
if (!ModList.get().isLoaded("gamestages"))
|
if (!ModList.get().isLoaded("gamestages"))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
String name = ForgeRegistries.ENTITIES.getKey(entity.getType()).toString();
|
String name = ForgeRegistries.ENTITY_TYPES.getKey(entity.getType()).toString();
|
||||||
return PICKUP_CONDITIONS_ENTITIES.containsKey(name);
|
return PICKUP_CONDITIONS_ENTITIES.containsKey(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getPickupCondition(Entity entity)
|
public static String getPickupCondition(Entity entity)
|
||||||
{
|
{
|
||||||
String name = ForgeRegistries.ENTITIES.getKey(entity.getType()).toString();
|
String name = ForgeRegistries.ENTITY_TYPES.getKey(entity.getType()).toString();
|
||||||
return PICKUP_CONDITIONS_ENTITIES.get(name);
|
return PICKUP_CONDITIONS_ENTITIES.get(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import net.minecraft.world.entity.Entity;
|
||||||
import net.minecraft.world.entity.EntityType;
|
import net.minecraft.world.entity.EntityType;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
|
import tschipp.carryon.common.config.Configs;
|
||||||
import tschipp.carryon.common.config.Configs.Blacklist;
|
import tschipp.carryon.common.config.Configs.Blacklist;
|
||||||
import tschipp.carryon.common.config.Configs.WhiteList;
|
import tschipp.carryon.common.config.Configs.WhiteList;
|
||||||
|
|
||||||
|
|
@ -61,7 +62,7 @@ public class ListHandler
|
||||||
|
|
||||||
public static boolean isForbidden(Entity entity)
|
public static boolean isForbidden(Entity entity)
|
||||||
{
|
{
|
||||||
String name = ForgeRegistries.ENTITIES.getKey(entity.getType()).toString();
|
String name = ForgeRegistries.ENTITY_TYPES.getKey(entity.getType()).toString();
|
||||||
boolean contains = FORBIDDEN_ENTITIES.contains(name);
|
boolean contains = FORBIDDEN_ENTITIES.contains(name);
|
||||||
|
|
||||||
for (TagKey<EntityType<?>> tag : FORBIDDEN_ENTITIES_TAGS)
|
for (TagKey<EntityType<?>> tag : FORBIDDEN_ENTITIES_TAGS)
|
||||||
|
|
@ -75,7 +76,7 @@ public class ListHandler
|
||||||
|
|
||||||
public static boolean isAllowed(Entity entity)
|
public static boolean isAllowed(Entity entity)
|
||||||
{
|
{
|
||||||
String name = ForgeRegistries.ENTITIES.getKey(entity.getType()).toString();
|
String name = ForgeRegistries.ENTITY_TYPES.getKey(entity.getType()).toString();
|
||||||
boolean contains = ALLOWED_ENTITIES.contains(name);
|
boolean contains = ALLOWED_ENTITIES.contains(name);
|
||||||
|
|
||||||
for (TagKey<EntityType<?>> tag : ALLOWED_ENTITIES_TAGS)
|
for (TagKey<EntityType<?>> tag : ALLOWED_ENTITIES_TAGS)
|
||||||
|
|
@ -89,7 +90,7 @@ public class ListHandler
|
||||||
|
|
||||||
public static boolean isStackingForbidden(Entity entity)
|
public static boolean isStackingForbidden(Entity entity)
|
||||||
{
|
{
|
||||||
String name = ForgeRegistries.ENTITIES.getKey(entity.getType()).toString();
|
String name = ForgeRegistries.ENTITY_TYPES.getKey(entity.getType()).toString();
|
||||||
boolean contains = FORBIDDEN_STACKING.contains(name);
|
boolean contains = FORBIDDEN_STACKING.contains(name);
|
||||||
|
|
||||||
for (TagKey<EntityType<?>> tag : FORBIDDEN_STACKING_TAGS)
|
for (TagKey<EntityType<?>> tag : FORBIDDEN_STACKING_TAGS)
|
||||||
|
|
@ -103,7 +104,7 @@ public class ListHandler
|
||||||
|
|
||||||
public static boolean isStackingAllowed(Entity entity)
|
public static boolean isStackingAllowed(Entity entity)
|
||||||
{
|
{
|
||||||
String name = ForgeRegistries.ENTITIES.getKey(entity.getType()).toString();
|
String name = ForgeRegistries.ENTITY_TYPES.getKey(entity.getType()).toString();
|
||||||
boolean contains = ALLOWED_STACKING.contains(name);
|
boolean contains = ALLOWED_STACKING.contains(name);
|
||||||
|
|
||||||
for (TagKey<EntityType<?>> tag : ALLOWED_STACKING_TAGS)
|
for (TagKey<EntityType<?>> tag : ALLOWED_STACKING_TAGS)
|
||||||
|
|
@ -147,6 +148,9 @@ public class ListHandler
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public static void initConfigLists()
|
public static void initConfigLists()
|
||||||
{
|
{
|
||||||
|
if(!Configs.SERVER_LOADED)
|
||||||
|
return;
|
||||||
|
|
||||||
FORBIDDEN_ENTITIES.clear();
|
FORBIDDEN_ENTITIES.clear();
|
||||||
FORBIDDEN_ENTITIES_TAGS.clear();
|
FORBIDDEN_ENTITIES_TAGS.clear();
|
||||||
FORBIDDEN_STACKING.clear();
|
FORBIDDEN_STACKING.clear();
|
||||||
|
|
@ -182,7 +186,7 @@ public class ListHandler
|
||||||
{
|
{
|
||||||
String[] filter = forbiddenEntity.get(i).replace("*", ",").split(",");
|
String[] filter = forbiddenEntity.get(i).replace("*", ",").split(",");
|
||||||
|
|
||||||
ResourceLocation[] keys = ForgeRegistries.ENTITIES.getKeys().toArray(new ResourceLocation[0]);
|
ResourceLocation[] keys = ForgeRegistries.ENTITY_TYPES.getKeys().toArray(new ResourceLocation[0]);
|
||||||
for (ResourceLocation key : keys)
|
for (ResourceLocation key : keys)
|
||||||
{
|
{
|
||||||
if (containsAll(key.toString(), filter))
|
if (containsAll(key.toString(), filter))
|
||||||
|
|
@ -206,7 +210,7 @@ public class ListHandler
|
||||||
{
|
{
|
||||||
String[] filter = allowedEntities.get(i).replace("*", ",").split(",");
|
String[] filter = allowedEntities.get(i).replace("*", ",").split(",");
|
||||||
|
|
||||||
ResourceLocation[] keys = ForgeRegistries.ENTITIES.getKeys().toArray(new ResourceLocation[0]);
|
ResourceLocation[] keys = ForgeRegistries.ENTITY_TYPES.getKeys().toArray(new ResourceLocation[0]);
|
||||||
for (ResourceLocation key : keys)
|
for (ResourceLocation key : keys)
|
||||||
{
|
{
|
||||||
if (containsAll(key.toString(), filter))
|
if (containsAll(key.toString(), filter))
|
||||||
|
|
@ -240,7 +244,7 @@ public class ListHandler
|
||||||
{
|
{
|
||||||
String[] filter = forbiddenStacking.get(i).replace("*", ",").split(",");
|
String[] filter = forbiddenStacking.get(i).replace("*", ",").split(",");
|
||||||
|
|
||||||
ResourceLocation[] keys = ForgeRegistries.ENTITIES.getKeys().toArray(new ResourceLocation[0]);
|
ResourceLocation[] keys = ForgeRegistries.ENTITY_TYPES.getKeys().toArray(new ResourceLocation[0]);
|
||||||
for (ResourceLocation key : keys)
|
for (ResourceLocation key : keys)
|
||||||
{
|
{
|
||||||
if (containsAll(key.toString(), filter))
|
if (containsAll(key.toString(), filter))
|
||||||
|
|
@ -264,7 +268,7 @@ public class ListHandler
|
||||||
{
|
{
|
||||||
String[] filter = allowedStacking.get(i).replace("*", ",").split(",");
|
String[] filter = allowedStacking.get(i).replace("*", ",").split(",");
|
||||||
|
|
||||||
ResourceLocation[] keys = ForgeRegistries.ENTITIES.getKeys().toArray(new ResourceLocation[0]);
|
ResourceLocation[] keys = ForgeRegistries.ENTITY_TYPES.getKeys().toArray(new ResourceLocation[0]);
|
||||||
for (ResourceLocation key : keys)
|
for (ResourceLocation key : keys)
|
||||||
{
|
{
|
||||||
if (containsAll(key.toString(), filter))
|
if (containsAll(key.toString(), filter))
|
||||||
|
|
@ -277,6 +281,7 @@ public class ListHandler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Map<ResourceLocation, TagKey<Block>> blocktags = Registry.BLOCK.getTagNames().collect(Collectors.toMap(t -> t.location(), t -> t));
|
Map<ResourceLocation, TagKey<Block>> blocktags = Registry.BLOCK.getTagNames().collect(Collectors.toMap(t -> t.location(), t -> t));
|
||||||
Map<ResourceLocation, TagKey<EntityType<?>>> entitytags = Registry.ENTITY_TYPE.getTagNames().collect(Collectors.toMap(t -> t.location(), t -> t));
|
Map<ResourceLocation, TagKey<EntityType<?>>> entitytags = Registry.ENTITY_TYPE.getTagNames().collect(Collectors.toMap(t -> t.location(), t -> t));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.event.entity.player.AttackEntityEvent;
|
import net.minecraftforge.event.entity.player.AttackEntityEvent;
|
||||||
import net.minecraftforge.event.world.BlockEvent;
|
import net.minecraftforge.event.level.BlockEvent;
|
||||||
import tschipp.carryon.common.config.Configs.Settings;
|
import tschipp.carryon.common.config.Configs.Settings;
|
||||||
import tschipp.carryon.common.helper.CarryonGamestageHelper;
|
import tschipp.carryon.common.helper.CarryonGamestageHelper;
|
||||||
import tschipp.carryon.common.item.ItemCarryonBlock;
|
import tschipp.carryon.common.item.ItemCarryonBlock;
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus;
|
||||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||||
import net.minecraftforge.registries.DeferredRegister;
|
import net.minecraftforge.registries.DeferredRegister;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
import net.minecraftforge.registries.ObjectHolder;
|
|
||||||
import net.minecraftforge.registries.RegistryObject;
|
import net.minecraftforge.registries.RegistryObject;
|
||||||
import tschipp.carryon.CarryOn;
|
import tschipp.carryon.CarryOn;
|
||||||
import tschipp.carryon.client.event.RenderEntityEvents;
|
import tschipp.carryon.client.event.RenderEntityEvents;
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.common.util.BlockSnapshot;
|
import net.minecraftforge.common.util.BlockSnapshot;
|
||||||
import net.minecraftforge.event.world.BlockEvent.EntityPlaceEvent;
|
import net.minecraftforge.event.level.BlockEvent.EntityPlaceEvent;
|
||||||
import net.minecraftforge.fml.ModList;
|
import net.minecraftforge.fml.ModList;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
import tschipp.carryon.CarryOn;
|
import tschipp.carryon.CarryOn;
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,6 @@ import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraftforge.fml.ModList;
|
import net.minecraftforge.fml.ModList;
|
||||||
import net.minecraftforge.fml.util.ObfuscationReflectionHelper;
|
import net.minecraftforge.fml.util.ObfuscationReflectionHelper;
|
||||||
import tschipp.carryon.CarryOn;
|
|
||||||
import tschipp.carryon.client.keybinds.CarryOnKeybinds;
|
import tschipp.carryon.client.keybinds.CarryOnKeybinds;
|
||||||
import tschipp.carryon.common.config.Configs.Settings;
|
import tschipp.carryon.common.config.Configs.Settings;
|
||||||
import tschipp.carryon.common.event.ItemEvents;
|
import tschipp.carryon.common.event.ItemEvents;
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ public class ScriptChecker
|
||||||
if (!Settings.useScripts.get())
|
if (!Settings.useScripts.get())
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
String name = ForgeRegistries.ENTITIES.getKey(entity.getType()).toString();
|
String name = ForgeRegistries.ENTITY_TYPES.getKey(entity.getType()).toString();
|
||||||
float height = entity.getBbHeight();
|
float height = entity.getBbHeight();
|
||||||
float width = entity.getBbWidth();
|
float width = entity.getBbWidth();
|
||||||
float health = entity instanceof LivingEntity ? ((LivingEntity) entity).getHealth() : 0.0f;
|
float health = entity instanceof LivingEntity ? ((LivingEntity) entity).getHealth() : 0.0f;
|
||||||
|
|
|
||||||
|
|
@ -43,21 +43,24 @@ public class CarrySlotPacket
|
||||||
buf.writeInt(this.entityid);
|
buf.writeInt(this.entityid);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handle(Supplier<NetworkEvent.Context> ctx)
|
public boolean handle(Supplier<NetworkEvent.Context> ctx)
|
||||||
{
|
{
|
||||||
if (ctx.get().getDirection().getReceptionSide().isClient())
|
if (ctx.get().getDirection().getReceptionSide().isClient())
|
||||||
{
|
{
|
||||||
|
ctx.get().setPacketHandled(true);
|
||||||
|
|
||||||
ctx.get().enqueueWork(() -> {
|
ctx.get().enqueueWork(() -> {
|
||||||
|
|
||||||
Level level = CarryOn.proxy.getLevel();
|
Level level = CarryOn.proxy.getLevel();
|
||||||
|
ctx.get().setPacketHandled(true);
|
||||||
|
|
||||||
if (level != null)
|
if (level != null)
|
||||||
{
|
{
|
||||||
Entity e = level.getEntity(this.entityid);
|
Entity e = level.getEntity(this.entityid);
|
||||||
|
|
||||||
if (e instanceof Player player)
|
if (e instanceof Player player)
|
||||||
{
|
{
|
||||||
ctx.get().setPacketHandled(true);
|
|
||||||
|
|
||||||
if (this.slot >= 9)
|
if (this.slot >= 9)
|
||||||
{
|
{
|
||||||
|
|
@ -76,6 +79,8 @@ public class CarrySlotPacket
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,9 @@ public class ScriptReloadPacket
|
||||||
{
|
{
|
||||||
private List<CarryOnOverride> overrides = new ArrayList<>();
|
private List<CarryOnOverride> overrides = new ArrayList<>();
|
||||||
|
|
||||||
public ScriptReloadPacket()
|
// public ScriptReloadPacket()
|
||||||
{
|
// {
|
||||||
}
|
// }
|
||||||
|
|
||||||
public ScriptReloadPacket(Collection<CarryOnOverride> collection)
|
public ScriptReloadPacket(Collection<CarryOnOverride> collection)
|
||||||
{
|
{
|
||||||
|
|
@ -38,10 +38,11 @@ public class ScriptReloadPacket
|
||||||
this.overrides.forEach(override -> override.serialize(buf));
|
this.overrides.forEach(override -> override.serialize(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handle(Supplier<NetworkEvent.Context> ctx)
|
public boolean handle(Supplier<NetworkEvent.Context> ctx)
|
||||||
{
|
{
|
||||||
if (ctx.get().getDirection().getReceptionSide().isClient())
|
if (ctx.get().getDirection().getReceptionSide().isClient())
|
||||||
{
|
{
|
||||||
|
ctx.get().setPacketHandled(true);
|
||||||
ctx.get().enqueueWork(() -> {
|
ctx.get().enqueueWork(() -> {
|
||||||
|
|
||||||
ScriptReader.OVERRIDES.clear();
|
ScriptReader.OVERRIDES.clear();
|
||||||
|
|
@ -50,9 +51,10 @@ public class ScriptReloadPacket
|
||||||
ScriptReader.OVERRIDES.put(override.hashCode(), override);
|
ScriptReader.OVERRIDES.put(override.hashCode(), override);
|
||||||
});
|
});
|
||||||
|
|
||||||
ctx.get().setPacketHandled(true);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,19 +26,21 @@ public class SyncKeybindPacket
|
||||||
buf.writeBoolean(this.pressed);
|
buf.writeBoolean(this.pressed);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handle(Supplier<NetworkEvent.Context> ctx)
|
public boolean handle(Supplier<NetworkEvent.Context> ctx)
|
||||||
{
|
{
|
||||||
if (ctx.get().getDirection().getReceptionSide().isServer())
|
if (ctx.get().getDirection().getReceptionSide().isServer())
|
||||||
{
|
{
|
||||||
|
ctx.get().setPacketHandled(true);
|
||||||
ctx.get().enqueueWork(() -> {
|
ctx.get().enqueueWork(() -> {
|
||||||
|
|
||||||
ServerPlayer player = ctx.get().getSender();
|
ServerPlayer player = ctx.get().getSender();
|
||||||
|
|
||||||
CarryOnKeybinds.setKeyPressed(player, this.pressed);
|
CarryOnKeybinds.setKeyPressed(player, this.pressed);
|
||||||
|
|
||||||
ctx.get().setPacketHandled(true);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@ public class ClientProxy implements IProxy
|
||||||
{
|
{
|
||||||
RegistrationHandler.regClientEvents();
|
RegistrationHandler.regClientEvents();
|
||||||
|
|
||||||
CarryOnKeybinds.init();
|
|
||||||
|
|
||||||
new ScrollCallbackWrapper().setup(Minecraft.getInstance());
|
new ScrollCallbackWrapper().setup(Minecraft.getInstance());
|
||||||
new KeyboardCallbackWrapper().setup(Minecraft.getInstance());
|
new KeyboardCallbackWrapper().setup(Minecraft.getInstance());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user