Port to 1.16

This commit is contained in:
Tschipp 2020-09-06 23:55:49 +02:00
parent ceed903993
commit c8e79860ad
12 changed files with 99 additions and 145 deletions

View File

@ -1,7 +1,7 @@
# 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.
org.gradle.jvmargs=-Xmx3G
version=1.13.0
minecraft_version=1.15.2
mcp_mappings=20200514-1.15.1
forge_version=31.2.36
version=1.14.0
minecraft_version=1.16.2
mcp_mappings=20200723-1.16.1
forge_version=33.0.37

View File

@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip

View File

@ -8,7 +8,6 @@ import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.renderer.entity.EntityRendererManager;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityType;
@ -16,7 +15,8 @@ import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.math.Vec3d;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import net.minecraft.world.World;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@ -41,7 +41,7 @@ public class RenderEntityEvents
World world = Minecraft.getInstance().world;
PlayerEntity player = Minecraft.getInstance().player;
ItemStack stack = player.getHeldItemMainhand();
int perspective = Minecraft.getInstance().gameSettings.thirdPersonView;
int perspective = CarryRenderHelper.getPerspective();
float partialticks = event.getPartialTicks();
MatrixStack matrix = event.getMatrixStack();
int light = event.getLight();
@ -57,7 +57,7 @@ public class RenderEntityEvents
if (entity != null)
{
Vec3d playerpos = CarryRenderHelper.getExactPos(player, partialticks);
Vector3d playerpos = CarryRenderHelper.getExactPos(player, partialticks);
entity.setPosition(playerpos.x, playerpos.y, playerpos.z);
entity.rotationYaw = 0.0f;

View File

@ -16,10 +16,8 @@ import net.minecraft.client.entity.player.AbstractClientPlayerEntity;
import net.minecraft.client.gui.screen.inventory.ContainerScreen;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.IRenderTypeBuffer.Impl;
import net.minecraft.client.renderer.Quaternion;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.renderer.entity.EntityRendererManager;
import net.minecraft.client.renderer.entity.PlayerRenderer;
import net.minecraft.client.renderer.entity.model.PlayerModel;
@ -37,7 +35,9 @@ import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.Hand;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.text.event.ClickEvent;
@ -138,7 +138,7 @@ public class RenderEvents
StringTextComponent cf = new StringTextComponent(TextFormatting.AQUA + "Curseforge" + TextFormatting.RED);
cf.getStyle().setClickEvent(new ClickEvent(Action.OPEN_URL, "https://minecraft.curseforge.com/projects/carry-on"));
player.sendMessage(new StringTextComponent(TextFormatting.RED + "[CarryOn] WARNING! Invalid fingerprint detected! The Carry On mod file may have been tampered with! If you didn't download the file from ").appendSibling(cf).appendText(TextFormatting.RED + " or through any kind of mod launcher, immediately delete the file and re-download it from ").appendSibling(cf));
player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "[CarryOn] WARNING! Invalid fingerprint detected! The Carry On mod file may have been tampered with! If you didn't download the file from ").append(cf).appendString(TextFormatting.RED + " or through any kind of mod launcher, immediately delete the file and re-download it from ").append(cf), false);
}
}
@ -232,7 +232,7 @@ public class RenderEvents
World world = Minecraft.getInstance().world;
PlayerEntity player = Minecraft.getInstance().player;
ItemStack stack = player.getHeldItemMainhand();
int perspective = Minecraft.getInstance().gameSettings.thirdPersonView;
int perspective = CarryRenderHelper.getPerspective();
boolean f1 = Minecraft.getInstance().gameSettings.hideGUI;
IRenderTypeBuffer buffer = event.getBuffers();
MatrixStack matrix = event.getMatrixStack();
@ -308,7 +308,7 @@ public class RenderEvents
Impl buffer = IRenderTypeBuffer.getImpl(Tessellator.getInstance().getBuffer());
MatrixStack matrix = event.getMatrixStack();
int light = 0;
int perspective = Minecraft.getInstance().gameSettings.thirdPersonView;
int perspective = CarryRenderHelper.getPerspective();
EntityRendererManager manager = Minecraft.getInstance().getRenderManager();
RenderSystem.enableBlend();
@ -421,11 +421,11 @@ public class RenderEvents
private void applyGeneralTransformations(PlayerEntity player, float partialticks, MatrixStack matrix)
{
int perspective = Minecraft.getInstance().gameSettings.thirdPersonView;
int perspective = CarryRenderHelper.getPerspective();
Quaternion playerrot = CarryRenderHelper.getExactBodyRotation(player, partialticks);
Vec3d playerpos = CarryRenderHelper.getExactPos(player, partialticks);
Vec3d cameraPos = Minecraft.getInstance().gameRenderer.getActiveRenderInfo().getProjectedView();
Vec3d offset = playerpos.subtract(cameraPos);
Vector3d playerpos = CarryRenderHelper.getExactPos(player, partialticks);
Vector3d cameraPos = Minecraft.getInstance().gameRenderer.getActiveRenderInfo().getProjectedView();
Vector3d offset = playerpos.subtract(cameraPos);
Pose pose = player.getPose();
matrix.push();
@ -479,14 +479,14 @@ public class RenderEvents
matrix.rotate(Vector3f.XN.rotationDegrees(f2 * (-90.0F - player.rotationPitch)));
}
Vec3d vec3d = player.getLook(partialticks);
Vec3d vec3d1 = player.getMotion();
double d0 = Entity.horizontalMag(vec3d1);
double d1 = Entity.horizontalMag(vec3d);
Vector3d Vector3d = player.getLook(partialticks);
Vector3d Vector3d1 = player.getMotion();
double d0 = Entity.horizontalMag(Vector3d1);
double d1 = Entity.horizontalMag(Vector3d);
if (d0 > 0.0D && d1 > 0.0D)
{
double d2 = (vec3d1.x * vec3d.x + vec3d1.z * vec3d.z) / (Math.sqrt(d0) * Math.sqrt(d1));
double d3 = vec3d1.x * vec3d.z - vec3d1.z * vec3d.x;
double d2 = (Vector3d1.x * Vector3d.x + Vector3d1.z * Vector3d.z) / (Math.sqrt(d0) * Math.sqrt(d1));
double d3 = Vector3d1.x * Vector3d.z - Vector3d1.z * Vector3d.x;
matrix.rotate(Vector3f.YP.rotation((float) (Math.signum(d3) * Math.acos(d2))));
}
@ -501,7 +501,7 @@ public class RenderEvents
private void applyBlockTransformations(PlayerEntity player, float partialticks, MatrixStack matrix, Block block)
{
int perspective = Minecraft.getInstance().gameSettings.thirdPersonView;
int perspective = CarryRenderHelper.getPerspective();
applyGeneralTransformations(player, partialticks, matrix);
@ -520,7 +520,7 @@ public class RenderEvents
private void applyEntityTransformations(PlayerEntity player, float partialticks, MatrixStack matrix, Entity entity)
{
int perspective = Minecraft.getInstance().gameSettings.thirdPersonView;
int perspective = CarryRenderHelper.getPerspective();
Pose pose = player.getPose();
applyGeneralTransformations(player, partialticks, matrix);
@ -563,7 +563,7 @@ public class RenderEvents
@OnlyIn(Dist.CLIENT)
public void drawArms(PlayerEntity player, float partialticks, MatrixStack matrix, IRenderTypeBuffer buffer, int light)
{
int perspective = Minecraft.getInstance().gameSettings.thirdPersonView;
int perspective = CarryRenderHelper.getPerspective();
Pose pose = player.getPose();
if (!Settings.renderArms.get())

View File

@ -5,24 +5,24 @@ import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.block.BlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.Quaternion;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.renderer.model.IBakedModel;
import net.minecraft.client.renderer.model.ItemCameraTransforms.TransformType;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.math.Vec3d;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import tschipp.carryon.common.handler.ModelOverridesHandler;
import tschipp.carryon.common.helper.ScriptParseHelper;
import tschipp.carryon.common.scripting.CarryOnOverride;
public class CarryRenderHelper
{
public static Vec3d getExactPos(Entity entity, float partialticks)
public static Vector3d getExactPos(Entity entity, float partialticks)
{
return new Vec3d(entity.lastTickPosX + (entity.getPosX() - entity.lastTickPosX) * partialticks, entity.lastTickPosY + (entity.getPosY() - entity.lastTickPosY) * partialticks, entity.lastTickPosZ + (entity.getPosZ() - entity.lastTickPosZ) * partialticks);
return new Vector3d(entity.lastTickPosX + (entity.getPosX() - entity.lastTickPosX) * partialticks, entity.lastTickPosY + (entity.getPosY() - entity.lastTickPosY) * partialticks, entity.lastTickPosZ + (entity.getPosZ() - entity.lastTickPosZ) * partialticks);
}
public static float getExactBodyRotationDegrees(LivingEntity entity, float partialticks)
@ -68,4 +68,16 @@ public class CarryRenderHelper
Minecraft.getInstance().getItemRenderer().renderItem(tileStack.isEmpty() ? stack : tileStack, TransformType.NONE, false, matrix, buffer, light, 0xFFFFFF, model);
}
public static int getPerspective()
{
boolean isThirdPerson = !Minecraft.getInstance().gameSettings.func_243230_g().func_243192_a();
boolean isThirdPersonReverse = Minecraft.getInstance().gameSettings.func_243230_g().func_243193_b();
if(!isThirdPerson && !isThirdPersonReverse)
return 0;
if(isThirdPerson && !isThirdPersonReverse)
return 1;
return 2;
}
}

View File

@ -7,18 +7,23 @@ import net.minecraftforge.common.capabilities.CapabilityInject;
import net.minecraftforge.common.capabilities.ICapabilitySerializable;
import net.minecraftforge.common.util.LazyOptional;
public class PositionProvider implements ICapabilitySerializable<CompoundNBT> {
public class PositionProvider implements ICapabilitySerializable<CompoundNBT>
{
@CapabilityInject(IPosition.class)
public static final Capability<IPosition> POSITION_CAPABILITY = null;
private IPosition instance = POSITION_CAPABILITY.getDefaultInstance();
@SuppressWarnings("unchecked")
@Override
public <T> LazyOptional<T> getCapability(Capability<T> cap, Direction side)
{
return (LazyOptional<T>) LazyOptional.of(() -> {return new TEPosition();});
if (cap == POSITION_CAPABILITY)
return (LazyOptional<T>) LazyOptional.of(() -> {
return new TEPosition();
});
return null;
}
@Override
@ -30,7 +35,7 @@ public class PositionProvider implements ICapabilitySerializable<CompoundNBT> {
@Override
public void deserializeNBT(CompoundNBT nbt)
{
POSITION_CAPABILITY.getStorage().readNBT(POSITION_CAPABILITY, instance, null, nbt);
POSITION_CAPABILITY.getStorage().readNBT(POSITION_CAPABILITY, instance, null, nbt);
}
}

View File

@ -43,9 +43,7 @@ public class CommandCarryOn
return handleClear(cmd.getSource(), EntityArgument.getPlayers(cmd, "target"));
})))
.then(Commands.literal("reload").requires(src -> src.hasPermissionLevel(2)).executes((cmd) -> {
return handleReload(cmd.getSource());
}));
;
dispatcher.register(builder);
@ -118,8 +116,8 @@ public class CommandCarryOn
if (source.assertIsEntity() != null)
{
int cleared = 0;
cleared += player.inventory.clearMatchingItems(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile, 64);
cleared += player.inventory.clearMatchingItems(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity, 64);
cleared += player.inventory.func_234564_a_(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile, 64, null); //TODO
cleared += player.inventory.func_234564_a_(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity, 64, null);
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(9, player.getEntityId()));
@ -140,19 +138,5 @@ public class CommandCarryOn
return 0;
}
private static int handleReload(CommandSource source)
{
if (Settings.useScripts.get())
{
ScriptReader.reloadScripts();
CarryOn.network.send(PacketDistributor.ALL.noArg(), new ScriptReloadPacket());
source.sendFeedback(new StringTextComponent("Successfully reloaded scripts!"), true);
} else
source.sendErrorMessage(new StringTextComponent("To use custom Carry On scripts, enable them in the config!"));
return 1;
}
}

View File

@ -1,8 +1,6 @@
package tschipp.carryon.common.event;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Optional;
import net.minecraft.block.BlockState;
import net.minecraft.entity.Entity;
@ -25,11 +23,9 @@ import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.text.event.ClickEvent;
import net.minecraft.util.text.event.ClickEvent.Action;
import net.minecraft.world.GameRules;
import net.minecraft.world.GameRules.BooleanValue;
import net.minecraft.world.GameRules.RuleKey;
import net.minecraft.world.World;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.event.RegisterCommandsEvent;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
@ -40,7 +36,6 @@ import net.minecraftforge.event.entity.player.PlayerEvent.PlayerLoggedInEvent;
import net.minecraftforge.event.entity.player.PlayerEvent.StartTracking;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.world.BlockEvent.BreakEvent;
import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent;
import net.minecraftforge.eventbus.api.Event.Result;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent;
@ -65,15 +60,11 @@ import tschipp.carryon.common.item.ItemCarryonBlock;
import tschipp.carryon.common.item.ItemCarryonEntity;
import tschipp.carryon.common.scripting.CarryOnOverride;
import tschipp.carryon.common.scripting.ScriptChecker;
import tschipp.carryon.common.scripting.ScriptReader;
import tschipp.carryon.network.client.CarrySlotPacket;
@EventBusSubscriber(modid = CarryOn.MODID)
public class ItemEvents
{
public static Map<BlockPos, Integer> positions = new HashMap<BlockPos, Integer>();
@SubscribeEvent(priority = EventPriority.HIGH)
public void onBlockClick(PlayerInteractEvent.RightClickBlock event)
{
@ -142,11 +133,11 @@ public class ItemEvents
eitem.setItem(ItemStack.EMPTY);
}
BlockPos pos = new BlockPos(Math.floor(eitem.getPosX()), Math.floor(eitem.getPosY()), Math.floor(eitem.getPosZ()));
if (positions.containsKey(pos))
{
event.setCanceled(true);
}
// BlockPos pos = new BlockPos(Math.floor(eitem.getPosX()), Math.floor(eitem.getPosY()), Math.floor(eitem.getPosZ()));
// if (positions.containsKey(pos))
// {
// event.setCanceled(true);
// }
}
}
@ -183,11 +174,16 @@ public class ItemEvents
}
}
@SubscribeEvent
public void serverLoad(RegisterCommandsEvent event)
{
CommandCarryOn.register(event.getDispatcher());
}
@SubscribeEvent
public void serverLoad(FMLServerStartingEvent event)
{
CommandCarryOn.register(event.getCommandDispatcher());
ScriptReader.reloadScripts();
CustomPickupOverrideHandler.initPickupOverrides();
ListHandler.initLists();
@ -284,27 +280,6 @@ public class ItemEvents
}
}
@SubscribeEvent
public void onWorldTick(TickEvent.WorldTickEvent event)
{
for (Entry<BlockPos, Integer> entry : positions.entrySet())
{
entry.setValue(entry.getValue() + 1);
if (entry.getValue() > 3)
positions.remove(entry.getKey());
}
}
@SubscribeEvent
public void onDrop(HarvestDropsEvent event)
{
if (positions.containsKey(event.getPos()))
{
event.getDrops().clear();
}
}
@SubscribeEvent
public static void onBlockRightClick(PlayerInteractEvent.RightClickBlock event)
{
@ -340,8 +315,6 @@ public class ItemEvents
if (override != null)
overrideHash = override.hashCode();
positions.put(pos, 0);
boolean success = false;
try
@ -372,12 +345,14 @@ public class ItemEvents
sendPacket(player, 9, 0);
world.setBlockState(pos, statee);
if (!tag.isEmpty())
TileEntity.create(tag);
{
TileEntity.readTileEntity(statee, tag);
}
player.sendMessage(new StringTextComponent(TextFormatting.RED + "Error detected. Cannot pick up block."));
player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "Error detected. Cannot pick up block."), false);
StringTextComponent s = new StringTextComponent(TextFormatting.GOLD + "here");
s.getStyle().setClickEvent(new ClickEvent(Action.OPEN_URL, "https://github.com/Tschipp/CarryOn/issues"));
player.sendMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").appendSibling(s));
player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").append(s), false);
}
}
@ -452,7 +427,7 @@ public class ItemEvents
PlayerEntity player = event.getPlayer();
boolean wasDead = event.isWasDeath();
GameRules rules = player.world.getGameRules();
boolean keepInv = rules.getBoolean(new RuleKey<BooleanValue>("keepInventory"));
boolean keepInv = rules.getBoolean(GameRules.KEEP_INVENTORY);
boolean wasCarrying = player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemTile)) || player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemEntity));
if ((wasDead ? keepInv : true) && wasCarrying)
@ -464,7 +439,10 @@ public class ItemEvents
ItemEntity item = new ItemEntity(world, 0, 0, 0);
item.setItem(stack);
BlockPos pos = original.getBedLocation(original.dimension);
BlockPos pos = null;
Optional<BlockPos> bedpos = original.getBedPosition();
if(bedpos.isPresent())
pos = bedpos.get();
if (pos == null)
pos = player.getPosition();
item.setPosition(pos.getX(), pos.getY(), pos.getZ());
@ -555,7 +533,7 @@ public class ItemEvents
{
if (player instanceof ServerPlayerEntity)
{
CarryOn.network.send(PacketDistributor.NEAR.with(() -> new TargetPoint(player.getPosX(), player.getPosY(), player.getPosZ(), 128, player.world.getDimension().getType())), new CarrySlotPacket(currentItem, player.getEntityId(), hash));
CarryOn.network.send(PacketDistributor.NEAR.with(() -> new TargetPoint(player.getPosX(), player.getPosY(), player.getPosZ(), 128, player.world.func_234923_W_())), new CarrySlotPacket(currentItem, player.getEntityId(), hash));
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(currentItem, player.getEntityId(), hash));
if (currentItem >= 9)

View File

@ -19,17 +19,12 @@ import net.minecraft.item.ItemUseContext;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Effects;
import net.minecraft.state.BooleanProperty;
import net.minecraft.state.DirectionProperty;
import net.minecraft.state.EnumProperty;
import net.minecraft.state.IProperty;
import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ActionResultType;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;
@ -75,7 +70,7 @@ public class ItemCarryonBlock extends Item
else
{
BlockState ostate = (BlockState) override;
return ostate.getBlock().getNameTextComponent();
return ostate.getBlock().getTranslatedName();
}
}
@ -85,7 +80,6 @@ public class ItemCarryonBlock extends Item
return new StringTextComponent("");
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public ActionResultType onItemUse(ItemUseContext context)
{
@ -105,7 +99,7 @@ public class ItemCarryonBlock extends Item
{
try
{
Vec3d vec = player.getLookVec();
Vector3d vec = player.getLookVec();
Direction facing2 = Direction.getFacingFromVector((float) vec.x, 0f, (float) vec.z);
BlockPos pos2 = pos;
Block containedblock = getBlock(stack);
@ -144,7 +138,7 @@ public class ItemCarryonBlock extends Item
// }
// }
BlockSnapshot snapshot = new BlockSnapshot(world, pos2, containedstate);
BlockSnapshot snapshot = BlockSnapshot.create(world.func_234923_W_(), world, pos2);
EntityPlaceEvent event = new EntityPlaceEvent(snapshot, world.getBlockState(pos), player);
MinecraftForge.EVENT_BUS.post(event);
@ -169,7 +163,7 @@ public class ItemCarryonBlock extends Item
switch (type)
{
case 8:
tag.putString(key, CharMatcher.javaUpperCase().matchesAllOf(tag.getString(key)) ? facing2.getOpposite().getName().toUpperCase() : facing2.getOpposite().getName());
tag.putString(key, CharMatcher.javaUpperCase().matchesAllOf(tag.getString(key)) ? facing2.getOpposite().getName2().toUpperCase() : facing2.getOpposite().getName2());
break;
case 3:
tag.putInt(key, facing2.getOpposite().getIndex());
@ -223,10 +217,10 @@ public class ItemCarryonBlock extends Item
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonBlock.getBlockState(stack)))
CarryOn.LOGGER.info("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonBlock.getBlockState(stack)));
player.sendMessage(new StringTextComponent(TextFormatting.RED + "Error detected. Cannot place block. Execute \"/carryon clear\" to remove the item"));
player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "Error detected. Cannot place block. Execute \"/carryon clear\" to remove the item"), false);
StringTextComponent s = new StringTextComponent(TextFormatting.GOLD + "here");
s.getStyle().setClickEvent(new ClickEvent(Action.OPEN_URL, "https://github.com/Tschipp/CarryOn/issues"));
player.sendMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").appendSibling(s));
player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").append(s), false);
}
}

View File

@ -197,25 +197,4 @@ public class ScriptReader
CarryOn.LOGGER.error(e);
}
}
public static void reloadScripts()
{
scripts.clear();
OVERRIDES.clear();
for (File file : CarryOn.CONFIGURATION_FILE.listFiles())
{
if (file.getName().endsWith(".json"))
scripts.add(file);
}
try
{
parseScripts();
} catch (Exception e)
{
e.printStackTrace();
}
}
}

View File

@ -4,12 +4,14 @@ import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
import com.google.gson.JsonElement;
import net.minecraft.client.resources.JsonReloadListener;
import net.minecraft.profiler.IProfiler;
import net.minecraft.resources.IResourceManager;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.event.AddReloadListenerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus;
import net.minecraftforge.fml.common.thread.EffectiveSide;
@ -29,7 +31,7 @@ public class ScriptReloadListener extends JsonReloadListener
}
@Override
protected void apply(Map<ResourceLocation, JsonObject> objects, IResourceManager manager, IProfiler profiler)
protected void apply(Map<ResourceLocation, JsonElement> objects, IResourceManager manager, IProfiler profiler)
{
ScriptReader.OVERRIDES.clear();
@ -44,9 +46,9 @@ public class ScriptReloadListener extends JsonReloadListener
}
}
@SubscribeEvent
public static void onDatapackRegister(AddReloadListenerEvent event)
{
event.addListener(new ScriptReloadListener());
}
}

View File

@ -1,5 +1,5 @@
modLoader="javafml"
loaderVersion="[31,)"
loaderVersion="[33,)"
issueTrackerURL="https://github.com/Tschipp/CarryOn/issues"
logoFile="logo.png"
license="GNU LGPLv3"
@ -18,7 +18,7 @@ license="GNU LGPLv3"
# Does this dependency have to exist - if not, ordering below must be specified
mandatory=true #mandatory
# The version range of the dependency
versionRange="[31.2.36,)" #mandatory
versionRange="[33.0.37,)" #mandatory
# An ordering relationship for the dependency - BEFORE or AFTER required if the relationship is not mandatory
ordering="NONE"
# Side this dependency is applied on - BOTH, CLIENT or SERVER
@ -27,6 +27,6 @@ license="GNU LGPLv3"
[[dependencies.carryon]]
modId="minecraft"
mandatory=true
versionRange="[1.15.2,1.16)"
versionRange="[1.16.2,1.17)"
ordering="NONE"
side="BOTH"