Port to 1.16
This commit is contained in:
parent
ceed903993
commit
c8e79860ad
|
|
@ -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
|
||||
|
|
|
|||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
Loading…
Reference in New Issue
Block a user