Updated to official mappings, enhanced entity rendering
This commit is contained in:
parent
80adff0ce3
commit
5e8ce8fc79
|
|
@ -34,7 +34,7 @@ if (System.getenv('BUILD_NUMBER') != null) {
|
||||||
}
|
}
|
||||||
|
|
||||||
minecraft {
|
minecraft {
|
||||||
mappings channel: 'snapshot', version: "${mcp_mappings}"
|
mappings channel: 'official', version: "1.16.5"
|
||||||
|
|
||||||
runs {
|
runs {
|
||||||
client {
|
client {
|
||||||
|
|
@ -44,6 +44,9 @@ minecraft {
|
||||||
|
|
||||||
property 'forge.logging.console.level', 'debug'
|
property 'forge.logging.console.level', 'debug'
|
||||||
|
|
||||||
|
property 'mixin.env.remapRefMap', 'true'
|
||||||
|
property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg"
|
||||||
|
|
||||||
mods {
|
mods {
|
||||||
carryon {
|
carryon {
|
||||||
source sourceSets.main
|
source sourceSets.main
|
||||||
|
|
@ -58,6 +61,9 @@ minecraft {
|
||||||
|
|
||||||
property 'forge.logging.console.level', 'debug'
|
property 'forge.logging.console.level', 'debug'
|
||||||
|
|
||||||
|
property 'mixin.env.remapRefMap', 'true'
|
||||||
|
property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg"
|
||||||
|
|
||||||
mods {
|
mods {
|
||||||
carryon {
|
carryon {
|
||||||
source sourceSets.main
|
source sourceSets.main
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# 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.15.3
|
version=1.15.4
|
||||||
minecraft_version=1.16.5
|
minecraft_version=1.16.5
|
||||||
mcp_mappings=20201028-1.16.3
|
mcp_mappings=20201028-1.16.3
|
||||||
forge_version=36.0.22
|
forge_version=36.0.22
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package tschipp.carryon.client.event;
|
package tschipp.carryon.client.event;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
|
|
@ -21,6 +23,7 @@ import net.minecraft.world.World;
|
||||||
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.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;
|
||||||
|
|
@ -31,6 +34,31 @@ import tschipp.carryon.common.scripting.ScriptChecker;
|
||||||
|
|
||||||
public class RenderEntityEvents
|
public class RenderEntityEvents
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public static final Map<String, Entity> nbtEntityMap = new HashMap<>();
|
||||||
|
|
||||||
|
public static Entity getEntity(ItemStack carried, World world)
|
||||||
|
{
|
||||||
|
String nbt = ItemCarryonEntity.getPersistentData(carried).toString();
|
||||||
|
if(nbtEntityMap.containsKey(nbt))
|
||||||
|
{
|
||||||
|
return nbtEntityMap.get(nbt);
|
||||||
|
}
|
||||||
|
|
||||||
|
Entity entity = ItemCarryonEntity.getEntity(carried, world);
|
||||||
|
nbtEntityMap.put(nbt, entity);
|
||||||
|
|
||||||
|
return entity;
|
||||||
|
}
|
||||||
|
|
||||||
|
@OnlyIn(Dist.CLIENT)
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onWorldUnload(WorldEvent.Unload event)
|
||||||
|
{
|
||||||
|
nbtEntityMap.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Renders the Entity in First Person
|
* Renders the Entity in First Person
|
||||||
*/
|
*/
|
||||||
|
|
@ -38,45 +66,45 @@ public class RenderEntityEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void renderHand(RenderHandEvent event)
|
public void renderHand(RenderHandEvent event)
|
||||||
{
|
{
|
||||||
World world = Minecraft.getInstance().world;
|
World world = Minecraft.getInstance().level;
|
||||||
PlayerEntity player = Minecraft.getInstance().player;
|
PlayerEntity player = Minecraft.getInstance().player;
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getMainHandItem();
|
||||||
int perspective = CarryRenderHelper.getPerspective();
|
int perspective = CarryRenderHelper.getPerspective();
|
||||||
float partialticks = event.getPartialTicks();
|
float partialticks = event.getPartialTicks();
|
||||||
MatrixStack matrix = event.getMatrixStack();
|
MatrixStack matrix = event.getMatrixStack();
|
||||||
int light = event.getLight();
|
int light = event.getLight();
|
||||||
IRenderTypeBuffer buffer = event.getBuffers();
|
IRenderTypeBuffer buffer = event.getBuffers();
|
||||||
EntityRendererManager manager = Minecraft.getInstance().getRenderManager();
|
EntityRendererManager manager = Minecraft.getInstance().getEntityRenderDispatcher();
|
||||||
|
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
||||||
{
|
{
|
||||||
if(ModList.get().isLoaded("realrender") || ModList.get().isLoaded("rfpr"))
|
if(ModList.get().isLoaded("realrender") || ModList.get().isLoaded("rfpr"))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Entity entity = ItemCarryonEntity.getEntity(stack, world);
|
Entity entity = getEntity(stack, world);
|
||||||
|
|
||||||
if (entity != null)
|
if (entity != null)
|
||||||
{
|
{
|
||||||
Vector3d playerpos = CarryRenderHelper.getExactPos(player, partialticks);
|
Vector3d playerpos = CarryRenderHelper.getExactPos(player, partialticks);
|
||||||
|
|
||||||
entity.setPosition(playerpos.x, playerpos.y, playerpos.z);
|
entity.setPos(playerpos.x, playerpos.y, playerpos.z);
|
||||||
entity.rotationYaw = 0.0f;
|
entity.yRot = 0.0f;
|
||||||
entity.prevRotationYaw = 0.0f;
|
entity.yRotO = 0.0f;
|
||||||
entity.setRotationYawHead(0.0f);
|
entity.setYHeadRot(0.0f);
|
||||||
|
|
||||||
float height = entity.getHeight();
|
float height = entity.getBbHeight();
|
||||||
float width = entity.getWidth();
|
float width = entity.getBbWidth();
|
||||||
|
|
||||||
matrix.push();
|
matrix.pushPose();
|
||||||
matrix.scale(0.8f, 0.8f, 0.8f);
|
matrix.scale(0.8f, 0.8f, 0.8f);
|
||||||
matrix.rotate(Vector3f.YP.rotationDegrees(180));
|
matrix.mulPose(Vector3f.YP.rotationDegrees(180));
|
||||||
matrix.translate(0.0, -height - .1, width + 0.1);
|
matrix.translate(0.0, -height - .1, width + 0.1);
|
||||||
|
|
||||||
RenderSystem.enableAlphaTest();
|
RenderSystem.enableAlphaTest();
|
||||||
|
|
||||||
if (perspective == 0)
|
if (perspective == 0)
|
||||||
{
|
{
|
||||||
RenderHelper.enableStandardItemLighting();
|
RenderHelper.turnBackOn();
|
||||||
manager.setRenderShadow(false);
|
manager.setRenderShadow(false);
|
||||||
|
|
||||||
CarryOnOverride carryOverride = ScriptChecker.getOverride(player);
|
CarryOnOverride carryOverride = ScriptChecker.getOverride(player);
|
||||||
|
|
@ -89,7 +117,7 @@ public class RenderEntityEvents
|
||||||
{
|
{
|
||||||
Entity newEntity = null;
|
Entity newEntity = null;
|
||||||
|
|
||||||
Optional<EntityType<?>> type = EntityType.byKey(entityname);
|
Optional<EntityType<?>> type = EntityType.byString(entityname);
|
||||||
if(type.isPresent())
|
if(type.isPresent())
|
||||||
newEntity = type.get().create(world);
|
newEntity = type.get().create(world);
|
||||||
|
|
||||||
|
|
@ -99,10 +127,10 @@ public class RenderEntityEvents
|
||||||
if (nbttag != null)
|
if (nbttag != null)
|
||||||
newEntity.deserializeNBT(nbttag);
|
newEntity.deserializeNBT(nbttag);
|
||||||
entity = newEntity;
|
entity = newEntity;
|
||||||
entity.setPosition(playerpos.x, playerpos.y, playerpos.z);
|
entity.setPos(playerpos.x, playerpos.y, playerpos.z);
|
||||||
entity.rotationYaw = 0.0f;
|
entity.yRot = 0.0f;
|
||||||
entity.prevRotationYaw = 0.0f;
|
entity.yRotO = 0.0f;
|
||||||
entity.setRotationYawHead(0.0f);
|
entity.setYHeadRot(0.0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -110,14 +138,14 @@ public class RenderEntityEvents
|
||||||
if(entity instanceof LivingEntity)
|
if(entity instanceof LivingEntity)
|
||||||
((LivingEntity) entity).hurtTime = 0;
|
((LivingEntity) entity).hurtTime = 0;
|
||||||
|
|
||||||
manager.renderEntityStatic(entity, 0, 0, 0, 0f, 0, matrix, buffer, light);
|
manager.render(entity, 0, 0, 0, 0f, 0, matrix, buffer, light);
|
||||||
manager.setRenderShadow(true);
|
manager.setRenderShadow(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderSystem.disableAlphaTest();
|
RenderSystem.disableAlphaTest();
|
||||||
matrix.pop();
|
matrix.popPose();
|
||||||
|
|
||||||
RenderHelper.disableStandardItemLighting();
|
RenderHelper.turnOff();
|
||||||
RenderSystem.disableRescaleNormal();
|
RenderSystem.disableRescaleNormal();
|
||||||
|
|
||||||
if (perspective == 0)
|
if (perspective == 0)
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@ public class RenderEvents
|
||||||
|
|
||||||
if (player != null)
|
if (player != null)
|
||||||
{
|
{
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getMainHandItem();
|
||||||
|
|
||||||
if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
||||||
{
|
{
|
||||||
|
|
@ -107,7 +107,7 @@ public class RenderEvents
|
||||||
|
|
||||||
if (player != null && event.side == LogicalSide.CLIENT)
|
if (player != null && event.side == LogicalSide.CLIENT)
|
||||||
{
|
{
|
||||||
boolean keyPressed = CarryOnKeybinds.carryKey.isKeyDown();
|
boolean keyPressed = CarryOnKeybinds.carryKey.isDown();
|
||||||
boolean playerKeyPressed = CarryOnKeybinds.isKeyPressed(player);
|
boolean playerKeyPressed = CarryOnKeybinds.isKeyPressed(player);
|
||||||
|
|
||||||
if (keyPressed && !playerKeyPressed)
|
if (keyPressed && !playerKeyPressed)
|
||||||
|
|
@ -130,7 +130,7 @@ public class RenderEvents
|
||||||
if (event.getEntity() instanceof PlayerEntity)
|
if (event.getEntity() instanceof PlayerEntity)
|
||||||
{
|
{
|
||||||
PlayerEntity player = (PlayerEntity) event.getEntity();
|
PlayerEntity player = (PlayerEntity) event.getEntity();
|
||||||
if (player.world.isRemote)
|
if (player.level.isClientSide)
|
||||||
{
|
{
|
||||||
CarryOnKeybinds.setKeyPressed(player, false);
|
CarryOnKeybinds.setKeyPressed(player, false);
|
||||||
CarryOn.network.sendToServer(new SyncKeybindPacket(false));
|
CarryOn.network.sendToServer(new SyncKeybindPacket(false));
|
||||||
|
|
@ -138,9 +138,9 @@ public class RenderEvents
|
||||||
if (CarryOn.FINGERPRINT_VIOLATED)
|
if (CarryOn.FINGERPRINT_VIOLATED)
|
||||||
{
|
{
|
||||||
StringTextComponent cf = new StringTextComponent(TextFormatting.AQUA + "Curseforge" + TextFormatting.RED);
|
StringTextComponent cf = new StringTextComponent(TextFormatting.AQUA + "Curseforge" + TextFormatting.RED);
|
||||||
cf.getStyle().setClickEvent(new ClickEvent(Action.OPEN_URL, "https://minecraft.curseforge.com/projects/carry-on"));
|
cf.getStyle().withClickEvent(new ClickEvent(Action.OPEN_URL, "https://minecraft.curseforge.com/projects/carry-on"));
|
||||||
|
|
||||||
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);
|
player.displayClientMessage(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).append(TextFormatting.RED + " or through any kind of mod launcher, immediately delete the file and re-download it from ").append(cf), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -161,13 +161,13 @@ public class RenderEvents
|
||||||
|
|
||||||
if (player != null && inventory)
|
if (player != null && inventory)
|
||||||
{
|
{
|
||||||
ItemStack stack = player.getHeldItem(Hand.MAIN_HAND);
|
ItemStack stack = player.getItemInHand(Hand.MAIN_HAND);
|
||||||
|
|
||||||
if (!stack.isEmpty() && ((stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack)) || (stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))))
|
if (!stack.isEmpty() && ((stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack)) || (stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))))
|
||||||
{
|
{
|
||||||
Minecraft.getInstance().player.closeScreen();
|
Minecraft.getInstance().player.closeContainer();
|
||||||
Minecraft.getInstance().currentScreen = null;
|
Minecraft.getInstance().screen = null;
|
||||||
Minecraft.getInstance().mouseHelper.grabMouse();
|
Minecraft.getInstance().mouseHandler.grabMouse();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -182,43 +182,43 @@ public class RenderEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void inputEvent(KeyPressedEvent event) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException
|
public void inputEvent(KeyPressedEvent event) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException
|
||||||
{
|
{
|
||||||
GameSettings settings = Minecraft.getInstance().gameSettings;
|
GameSettings settings = Minecraft.getInstance().options;
|
||||||
int key = event.key;
|
int key = event.key;
|
||||||
int scancode = event.scancode;
|
int scancode = event.scancode;
|
||||||
PlayerEntity player = Minecraft.getInstance().player;
|
PlayerEntity player = Minecraft.getInstance().player;
|
||||||
|
|
||||||
if (player != null)
|
if (player != null)
|
||||||
{
|
{
|
||||||
ItemStack stack = Minecraft.getInstance().player.getHeldItemMainhand();
|
ItemStack stack = Minecraft.getInstance().player.getMainHandItem();
|
||||||
|
|
||||||
if (!stack.isEmpty() && ((stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack)) || (stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))))
|
if (!stack.isEmpty() && ((stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack)) || (stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))))
|
||||||
{
|
{
|
||||||
if (settings.keyBindDrop.matchesKey(key, scancode))
|
if (settings.keyDrop.matches(key, scancode))
|
||||||
{
|
{
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
}
|
}
|
||||||
if (settings.keyBindSwapHands.matchesKey(key, scancode))
|
if (settings.keySwapOffhand.matches(key, scancode))
|
||||||
{
|
{
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
}
|
}
|
||||||
if (settings.keyBindPickBlock.matchesKey(key, scancode))
|
if (settings.keyPickItem.matches(key, scancode))
|
||||||
{
|
{
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
}
|
}
|
||||||
for (KeyBinding keyBind : settings.keyBindsHotbar)
|
for (KeyBinding keyBind : settings.keyHotbarSlots)
|
||||||
{
|
{
|
||||||
if (keyBind.matchesKey(key, scancode))
|
if (keyBind.matches(key, scancode))
|
||||||
{
|
{
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int current = player.inventory.currentItem;
|
int current = player.inventory.selected;
|
||||||
|
|
||||||
if (player.getPersistentData().contains("carrySlot") ? player.getPersistentData().getInt("carrySlot") != current : false)
|
if (player.getPersistentData().contains("carrySlot") ? player.getPersistentData().getInt("carrySlot") != current : false)
|
||||||
{
|
{
|
||||||
player.inventory.currentItem = player.getPersistentData().getInt("carrySlot");
|
player.inventory.selected = player.getPersistentData().getInt("carrySlot");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -231,11 +231,11 @@ public class RenderEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void renderHand(RenderHandEvent event)
|
public void renderHand(RenderHandEvent event)
|
||||||
{
|
{
|
||||||
World world = Minecraft.getInstance().world;
|
World world = Minecraft.getInstance().level;
|
||||||
PlayerEntity player = Minecraft.getInstance().player;
|
PlayerEntity player = Minecraft.getInstance().player;
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getMainHandItem();
|
||||||
int perspective = CarryRenderHelper.getPerspective();
|
int perspective = CarryRenderHelper.getPerspective();
|
||||||
boolean f1 = Minecraft.getInstance().gameSettings.hideGUI;
|
boolean f1 = Minecraft.getInstance().options.hideGui;
|
||||||
IRenderTypeBuffer buffer = event.getBuffers();
|
IRenderTypeBuffer buffer = event.getBuffers();
|
||||||
MatrixStack matrix = event.getMatrixStack();
|
MatrixStack matrix = event.getMatrixStack();
|
||||||
int light = event.getLight();
|
int light = event.getLight();
|
||||||
|
|
@ -250,7 +250,7 @@ public class RenderEvents
|
||||||
BlockState state = ItemCarryonBlock.getBlockState(stack);
|
BlockState state = ItemCarryonBlock.getBlockState(stack);
|
||||||
ItemStack tileStack = ItemCarryonBlock.getItemStack(stack);
|
ItemStack tileStack = ItemCarryonBlock.getItemStack(stack);
|
||||||
|
|
||||||
matrix.push();
|
matrix.pushPose();
|
||||||
matrix.scale(2.5f, 2.5f, 2.5f);
|
matrix.scale(2.5f, 2.5f, 2.5f);
|
||||||
matrix.translate(0, -0.5, -1);
|
matrix.translate(0, -0.5, -1);
|
||||||
RenderSystem.enableBlend();
|
RenderSystem.enableBlend();
|
||||||
|
|
@ -258,15 +258,15 @@ public class RenderEvents
|
||||||
|
|
||||||
if (Settings.facePlayer.get() ? !isChest(block) : isChest(block))
|
if (Settings.facePlayer.get() ? !isChest(block) : isChest(block))
|
||||||
{
|
{
|
||||||
matrix.rotate(Vector3f.YP.rotationDegrees(180));
|
matrix.mulPose(Vector3f.YP.rotationDegrees(180));
|
||||||
matrix.rotate(Vector3f.XN.rotationDegrees(8));
|
matrix.mulPose(Vector3f.XN.rotationDegrees(8));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
matrix.rotate(Vector3f.XP.rotationDegrees(8));
|
matrix.mulPose(Vector3f.XP.rotationDegrees(8));
|
||||||
}
|
}
|
||||||
|
|
||||||
IBakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, world, player) : (tileStack.isEmpty() ? Minecraft.getInstance().getBlockRendererDispatcher().getModelForState(state) : Minecraft.getInstance().getItemRenderer().getItemModelWithOverrides(tileStack, world, player));
|
IBakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, world, player) : (tileStack.isEmpty() ? Minecraft.getInstance().getBlockRenderer().getBlockModel(state) : Minecraft.getInstance().getItemRenderer().getModel(tileStack, world, player));
|
||||||
|
|
||||||
CarryOnOverride carryOverride = ScriptChecker.getOverride(player);
|
CarryOnOverride carryOverride = ScriptChecker.getOverride(player);
|
||||||
if (carryOverride != null)
|
if (carryOverride != null)
|
||||||
|
|
@ -280,12 +280,12 @@ public class RenderEvents
|
||||||
{
|
{
|
||||||
ItemStack s = new ItemStack(b, 1);
|
ItemStack s = new ItemStack(b, 1);
|
||||||
s.setTag(carryOverride.getRenderNBT());
|
s.setTag(carryOverride.getRenderNBT());
|
||||||
model = Minecraft.getInstance().getItemRenderer().getItemModelWithOverrides(s, world, player);
|
model = Minecraft.getInstance().getItemRenderer().getModel(s, world, player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Minecraft.getInstance().getTextureManager().bindTexture(AtlasTexture.LOCATION_BLOCKS_TEXTURE);
|
Minecraft.getInstance().getTextureManager().bind(AtlasTexture.LOCATION_BLOCKS);
|
||||||
|
|
||||||
CarryRenderHelper.renderItem(state, tag, stack, tileStack, matrix, buffer, light, model);
|
CarryRenderHelper.renderItem(state, tag, stack, tileStack, matrix, buffer, light, model);
|
||||||
|
|
||||||
|
|
@ -296,7 +296,7 @@ public class RenderEvents
|
||||||
|
|
||||||
RenderSystem.enableCull();
|
RenderSystem.enableCull();
|
||||||
RenderSystem.disableBlend();
|
RenderSystem.disableBlend();
|
||||||
matrix.pop();
|
matrix.popPose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -315,25 +315,25 @@ public class RenderEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onRenderWorld(RenderWorldLastEvent event)
|
public void onRenderWorld(RenderWorldLastEvent event)
|
||||||
{
|
{
|
||||||
World world = Minecraft.getInstance().world;
|
World world = Minecraft.getInstance().level;
|
||||||
float partialticks = event.getPartialTicks();
|
float partialticks = event.getPartialTicks();
|
||||||
Impl buffer = IRenderTypeBuffer.getImpl(Tessellator.getInstance().getBuffer());
|
Impl buffer = IRenderTypeBuffer.immediate(Tessellator.getInstance().getBuilder());
|
||||||
MatrixStack matrix = event.getMatrixStack();
|
MatrixStack matrix = event.getMatrixStack();
|
||||||
int light = 0;
|
int light = 0;
|
||||||
int perspective = CarryRenderHelper.getPerspective();
|
int perspective = CarryRenderHelper.getPerspective();
|
||||||
EntityRendererManager manager = Minecraft.getInstance().getRenderManager();
|
EntityRendererManager manager = Minecraft.getInstance().getEntityRenderDispatcher();
|
||||||
|
|
||||||
RenderSystem.enableBlend();
|
RenderSystem.enableBlend();
|
||||||
RenderSystem.disableCull();
|
RenderSystem.disableCull();
|
||||||
RenderSystem.disableDepthTest();
|
RenderSystem.disableDepthTest();
|
||||||
|
|
||||||
for (PlayerEntity player : world.getPlayers())
|
for (PlayerEntity player : world.players())
|
||||||
{
|
{
|
||||||
if (perspective == 0 && player == Minecraft.getInstance().player)
|
if (perspective == 0 && player == Minecraft.getInstance().player)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
light = Minecraft.getInstance().getRenderManager().getPackedLight(player, partialticks);
|
light = Minecraft.getInstance().getEntityRenderDispatcher().getPackedLightCoords(player, partialticks);
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getMainHandItem();
|
||||||
|
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack))
|
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack))
|
||||||
{
|
{
|
||||||
|
|
@ -344,7 +344,7 @@ public class RenderEvents
|
||||||
|
|
||||||
applyBlockTransformations(player, partialticks, matrix, block);
|
applyBlockTransformations(player, partialticks, matrix, block);
|
||||||
|
|
||||||
IBakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, world, player) : (tileItem.isEmpty() ? Minecraft.getInstance().getBlockRendererDispatcher().getModelForState(state) : Minecraft.getInstance().getItemRenderer().getItemModelWithOverrides(tileItem, world, player));
|
IBakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, world, player) : (tileItem.isEmpty() ? Minecraft.getInstance().getBlockRenderer().getBlockModel(state) : Minecraft.getInstance().getItemRenderer().getModel(tileItem, world, player));
|
||||||
|
|
||||||
CarryOnOverride carryOverride = ScriptChecker.getOverride(player);
|
CarryOnOverride carryOverride = ScriptChecker.getOverride(player);
|
||||||
if (carryOverride != null)
|
if (carryOverride != null)
|
||||||
|
|
@ -358,24 +358,24 @@ public class RenderEvents
|
||||||
{
|
{
|
||||||
ItemStack s = new ItemStack(b, 1);
|
ItemStack s = new ItemStack(b, 1);
|
||||||
s.setTag(carryOverride.getRenderNBT());
|
s.setTag(carryOverride.getRenderNBT());
|
||||||
model = Minecraft.getInstance().getItemRenderer().getItemModelWithOverrides(s, world, player);
|
model = Minecraft.getInstance().getItemRenderer().getModel(s, world, player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Minecraft.getInstance().getTextureManager().bindTexture(AtlasTexture.LOCATION_BLOCKS_TEXTURE);
|
Minecraft.getInstance().getTextureManager().bind(AtlasTexture.LOCATION_BLOCKS);
|
||||||
CarryRenderHelper.renderItem(state, tag, stack, tileItem, matrix, buffer, light, model);
|
CarryRenderHelper.renderItem(state, tag, stack, tileItem, matrix, buffer, light, model);
|
||||||
buffer.finish();
|
buffer.endBatch();
|
||||||
|
|
||||||
matrix.pop();
|
matrix.popPose();
|
||||||
|
|
||||||
drawArms(player, partialticks, matrix, buffer, light);
|
drawArms(player, partialticks, matrix, buffer, light);
|
||||||
|
|
||||||
matrix.pop();
|
matrix.popPose();
|
||||||
}
|
}
|
||||||
else if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
else if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
||||||
{
|
{
|
||||||
Entity entity = ItemCarryonEntity.getEntity(stack, world);
|
Entity entity = RenderEntityEvents.getEntity(stack, world);
|
||||||
|
|
||||||
if (entity != null)
|
if (entity != null)
|
||||||
{
|
{
|
||||||
|
|
@ -393,7 +393,7 @@ public class RenderEvents
|
||||||
{
|
{
|
||||||
Entity newEntity = null;
|
Entity newEntity = null;
|
||||||
|
|
||||||
Optional<EntityType<?>> type = EntityType.byKey(entityname);
|
Optional<EntityType<?>> type = EntityType.byString(entityname);
|
||||||
if (type.isPresent())
|
if (type.isPresent())
|
||||||
newEntity = type.get().create(world);
|
newEntity = type.get().create(world);
|
||||||
|
|
||||||
|
|
@ -403,11 +403,11 @@ public class RenderEvents
|
||||||
if (nbttag != null)
|
if (nbttag != null)
|
||||||
newEntity.deserializeNBT(nbttag);
|
newEntity.deserializeNBT(nbttag);
|
||||||
entity = newEntity;
|
entity = newEntity;
|
||||||
entity.rotationYaw = 0.0f;
|
entity.yRot = 0.0f;
|
||||||
entity.prevRotationYaw = 0.0f;
|
entity.yRotO = 0.0f;
|
||||||
entity.setRotationYawHead(0.0f);
|
entity.setYHeadRot(0.0f);
|
||||||
entity.rotationPitch = 0.0f;
|
entity.xRot = 0.0f;
|
||||||
entity.prevRotationPitch = 0.0f;
|
entity.xRotO = 0.0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -415,16 +415,16 @@ public class RenderEvents
|
||||||
if (entity instanceof LivingEntity)
|
if (entity instanceof LivingEntity)
|
||||||
((LivingEntity) entity).hurtTime = 0;
|
((LivingEntity) entity).hurtTime = 0;
|
||||||
|
|
||||||
manager.renderEntityStatic(entity, 0, 0, 0, 0f, 0, matrix, buffer, light);
|
manager.render(entity, 0, 0, 0, 0f, 0, matrix, buffer, light);
|
||||||
buffer.finish();
|
buffer.endBatch();
|
||||||
|
|
||||||
matrix.pop();
|
matrix.popPose();
|
||||||
|
|
||||||
drawArms(player, partialticks, matrix, buffer, light);
|
drawArms(player, partialticks, matrix, buffer, light);
|
||||||
|
|
||||||
manager.setRenderShadow(true);
|
manager.setRenderShadow(true);
|
||||||
|
|
||||||
matrix.pop();
|
matrix.popPose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -439,18 +439,18 @@ public class RenderEvents
|
||||||
int perspective = CarryRenderHelper.getPerspective();
|
int perspective = CarryRenderHelper.getPerspective();
|
||||||
Quaternion playerrot = CarryRenderHelper.getExactBodyRotation(player, partialticks);
|
Quaternion playerrot = CarryRenderHelper.getExactBodyRotation(player, partialticks);
|
||||||
Vector3d playerpos = CarryRenderHelper.getExactPos(player, partialticks);
|
Vector3d playerpos = CarryRenderHelper.getExactPos(player, partialticks);
|
||||||
Vector3d cameraPos = Minecraft.getInstance().gameRenderer.getActiveRenderInfo().getProjectedView();
|
Vector3d cameraPos = Minecraft.getInstance().gameRenderer.getMainCamera().getPosition();
|
||||||
Vector3d offset = playerpos.subtract(cameraPos);
|
Vector3d offset = playerpos.subtract(cameraPos);
|
||||||
Pose pose = player.getPose();
|
Pose pose = player.getPose();
|
||||||
|
|
||||||
matrix.push();
|
matrix.pushPose();
|
||||||
matrix.translate(offset.x, offset.y, offset.z);
|
matrix.translate(offset.x, offset.y, offset.z);
|
||||||
|
|
||||||
if (perspective == 2)
|
if (perspective == 2)
|
||||||
playerrot.multiply(Vector3f.YP.rotationDegrees(180));
|
playerrot.mul(Vector3f.YP.rotationDegrees(180));
|
||||||
matrix.rotate(playerrot);
|
matrix.mulPose(playerrot);
|
||||||
|
|
||||||
matrix.push();
|
matrix.pushPose();
|
||||||
matrix.scale(0.6f, 0.6f, 0.6f);
|
matrix.scale(0.6f, 0.6f, 0.6f);
|
||||||
|
|
||||||
if (perspective == 2)
|
if (perspective == 2)
|
||||||
|
|
@ -463,16 +463,16 @@ public class RenderEvents
|
||||||
|
|
||||||
if (pose == Pose.SWIMMING)
|
if (pose == Pose.SWIMMING)
|
||||||
{
|
{
|
||||||
float f = player.getSwimAnimation(partialticks);
|
float f = player.getSwimAmount(partialticks);
|
||||||
float f3 = player.isInWater() ? -90.0F - player.rotationPitch : -90.0F;
|
float f3 = player.isInWater() ? -90.0F - player.xRot : -90.0F;
|
||||||
float f4 = MathHelper.lerp(f, 0.0F, f3);
|
float f4 = MathHelper.lerp(f, 0.0F, f3);
|
||||||
if (perspective == 2)
|
if (perspective == 2)
|
||||||
{
|
{
|
||||||
matrix.translate(0, 0, 1.35);
|
matrix.translate(0, 0, 1.35);
|
||||||
matrix.rotate(Vector3f.XP.rotationDegrees(f4));
|
matrix.mulPose(Vector3f.XP.rotationDegrees(f4));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
matrix.rotate(Vector3f.XN.rotationDegrees(f4));
|
matrix.mulPose(Vector3f.XN.rotationDegrees(f4));
|
||||||
|
|
||||||
matrix.translate(0, -1.5, -1.848);
|
matrix.translate(0, -1.5, -1.848);
|
||||||
if (perspective == 2)
|
if (perspective == 2)
|
||||||
|
|
@ -481,29 +481,29 @@ public class RenderEvents
|
||||||
|
|
||||||
if (pose == Pose.FALL_FLYING)
|
if (pose == Pose.FALL_FLYING)
|
||||||
{
|
{
|
||||||
float f1 = (float) player.getTicksElytraFlying() + partialticks;
|
float f1 = (float) player.getFallFlyingTicks() + partialticks;
|
||||||
float f2 = MathHelper.clamp(f1 * f1 / 100.0F, 0.0F, 1.0F);
|
float f2 = MathHelper.clamp(f1 * f1 / 100.0F, 0.0F, 1.0F);
|
||||||
if (!player.isSpinAttacking())
|
if (!player.isAutoSpinAttack())
|
||||||
{
|
{
|
||||||
if (perspective == 2)
|
if (perspective == 2)
|
||||||
matrix.translate(0, 0, 1.35);
|
matrix.translate(0, 0, 1.35);
|
||||||
|
|
||||||
if (perspective == 2)
|
if (perspective == 2)
|
||||||
matrix.rotate(Vector3f.XP.rotationDegrees(f2 * (-90.0F - player.rotationPitch)));
|
matrix.mulPose(Vector3f.XP.rotationDegrees(f2 * (-90.0F - player.xRot)));
|
||||||
else
|
else
|
||||||
matrix.rotate(Vector3f.XN.rotationDegrees(f2 * (-90.0F - player.rotationPitch)));
|
matrix.mulPose(Vector3f.XN.rotationDegrees(f2 * (-90.0F - player.xRot)));
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector3d Vector3d = player.getLook(partialticks);
|
Vector3d Vector3d = player.getViewVector(partialticks);
|
||||||
Vector3d Vector3d1 = player.getMotion();
|
Vector3d Vector3d1 = player.getDeltaMovement();
|
||||||
double d0 = Entity.horizontalMag(Vector3d1);
|
double d0 = Entity.getHorizontalDistanceSqr(Vector3d1);
|
||||||
double d1 = Entity.horizontalMag(Vector3d);
|
double d1 = Entity.getHorizontalDistanceSqr(Vector3d);
|
||||||
if (d0 > 0.0D && d1 > 0.0D)
|
if (d0 > 0.0D && d1 > 0.0D)
|
||||||
{
|
{
|
||||||
double d2 = (Vector3d1.x * Vector3d.x + Vector3d1.z * Vector3d.z) / (Math.sqrt(d0) * Math.sqrt(d1));
|
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;
|
double d3 = Vector3d1.x * Vector3d.z - Vector3d1.z * Vector3d.x;
|
||||||
|
|
||||||
matrix.rotate(Vector3f.YP.rotation((float) (Math.signum(d3) * Math.acos(d2))));
|
matrix.mulPose(Vector3f.YP.rotation((float) (Math.signum(d3) * Math.acos(d2))));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (perspective != 2)
|
if (perspective != 2)
|
||||||
|
|
@ -524,7 +524,7 @@ public class RenderEvents
|
||||||
{
|
{
|
||||||
if ((ModList.get().isLoaded("realrender") || ModList.get().isLoaded("rfpr")) && perspective == 0)
|
if ((ModList.get().isLoaded("realrender") || ModList.get().isLoaded("rfpr")) && perspective == 0)
|
||||||
matrix.translate(0, 0, -0.4);
|
matrix.translate(0, 0, -0.4);
|
||||||
matrix.rotate(Vector3f.YP.rotationDegrees(180));
|
matrix.mulPose(Vector3f.YP.rotationDegrees(180));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -546,24 +546,24 @@ public class RenderEvents
|
||||||
matrix.translate(0, -1.6, -0.65);
|
matrix.translate(0, -1.6, -0.65);
|
||||||
matrix.scale(1.666f, 1.666f, 1.666f);
|
matrix.scale(1.666f, 1.666f, 1.666f);
|
||||||
|
|
||||||
float height = entity.getHeight();
|
float height = entity.getBbHeight();
|
||||||
float width = entity.getWidth();
|
float width = entity.getBbWidth();
|
||||||
float multiplier = height * width;
|
float multiplier = height * width;
|
||||||
entity.rotationYaw = 0.0f;
|
entity.yRot = 0.0f;
|
||||||
entity.prevRotationYaw = 0.0f;
|
entity.yRotO = 0.0f;
|
||||||
entity.setRotationYawHead(0.0f);
|
entity.setYHeadRot(0.0f);
|
||||||
entity.rotationPitch = 0.0f;
|
entity.xRot = 0.0f;
|
||||||
entity.prevRotationPitch = 0.0f;
|
entity.xRotO = 0.0f;
|
||||||
|
|
||||||
if (perspective == 2)
|
if (perspective == 2)
|
||||||
matrix.rotate(Vector3f.YP.rotationDegrees(180));
|
matrix.mulPose(Vector3f.YP.rotationDegrees(180));
|
||||||
|
|
||||||
matrix.scale((10 - multiplier) * 0.08f, (10 - multiplier) * 0.08f, (10 - multiplier) * 0.08f);
|
matrix.scale((10 - multiplier) * 0.08f, (10 - multiplier) * 0.08f, (10 - multiplier) * 0.08f);
|
||||||
matrix.translate(0.0, height / 2 + -(height / 2) + 1, width - 0.1 < 0.7 ? width - 0.1 + (0.7 - (width - 0.1)) : width - 0.1);
|
matrix.translate(0.0, height / 2 + -(height / 2) + 1, width - 0.1 < 0.7 ? width - 0.1 + (0.7 - (width - 0.1)) : width - 0.1);
|
||||||
|
|
||||||
if (pose == Pose.SWIMMING || pose == Pose.FALL_FLYING)
|
if (pose == Pose.SWIMMING || pose == Pose.FALL_FLYING)
|
||||||
{
|
{
|
||||||
matrix.rotate(Vector3f.XN.rotationDegrees(90));
|
matrix.mulPose(Vector3f.XN.rotationDegrees(90));
|
||||||
matrix.translate(0, -0.2 * height, 0);
|
matrix.translate(0, -0.2 * height, 0);
|
||||||
|
|
||||||
if (pose == Pose.FALL_FLYING)
|
if (pose == Pose.FALL_FLYING)
|
||||||
|
|
@ -589,22 +589,22 @@ public class RenderEvents
|
||||||
|
|
||||||
if (handleMobends() && !ModList.get().isLoaded("obfuscate"))
|
if (handleMobends() && !ModList.get().isLoaded("obfuscate"))
|
||||||
{
|
{
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getMainHandItem();
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack) || stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack) || stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
||||||
{
|
{
|
||||||
PlayerModel<AbstractClientPlayerEntity> model = getPlayerModel((AbstractClientPlayerEntity) player);
|
PlayerModel<AbstractClientPlayerEntity> model = getPlayerModel((AbstractClientPlayerEntity) player);
|
||||||
|
|
||||||
AbstractClientPlayerEntity aplayer = (AbstractClientPlayerEntity) player;
|
AbstractClientPlayerEntity aplayer = (AbstractClientPlayerEntity) player;
|
||||||
ResourceLocation skinLoc = aplayer.getLocationSkin();
|
ResourceLocation skinLoc = aplayer.getSkinTextureLocation();
|
||||||
|
|
||||||
matrix.push();
|
matrix.pushPose();
|
||||||
if (perspective == 2)
|
if (perspective == 2)
|
||||||
matrix.rotate(Vector3f.YP.rotationDegrees(180));
|
matrix.mulPose(Vector3f.YP.rotationDegrees(180));
|
||||||
|
|
||||||
Minecraft.getInstance().getTextureManager().bindTexture(skinLoc);
|
Minecraft.getInstance().getTextureManager().bind(skinLoc);
|
||||||
|
|
||||||
CarryOnOverride overrider = ScriptChecker.getOverride(player);
|
CarryOnOverride overrider = ScriptChecker.getOverride(player);
|
||||||
IVertexBuilder builder = buffer.getBuffer(RenderType.getEntityCutout(skinLoc));
|
IVertexBuilder builder = buffer.getBuffer(RenderType.entityCutout(skinLoc));
|
||||||
|
|
||||||
if (overrider != null)
|
if (overrider != null)
|
||||||
{
|
{
|
||||||
|
|
@ -620,38 +620,38 @@ public class RenderEvents
|
||||||
|
|
||||||
if (renderLeft && rotLeft != null)
|
if (renderLeft && rotLeft != null)
|
||||||
{
|
{
|
||||||
renderArmPost(model.bipedLeftArm, (float) rotLeft[0], (float) rotLeft[2], false, doSneakCheck(player), light, matrix, builder);
|
renderArmPost(model.leftArm, (float) rotLeft[0], (float) rotLeft[2], false, doSneakCheck(player), light, matrix, builder);
|
||||||
renderArmPost(model.bipedLeftArmwear, (float) rotLeft[0], (float) rotLeft[2], false, doSneakCheck(player), light, matrix, builder);
|
renderArmPost(model.leftSleeve, (float) rotLeft[0], (float) rotLeft[2], false, doSneakCheck(player), light, matrix, builder);
|
||||||
}
|
}
|
||||||
else if (renderLeft)
|
else if (renderLeft)
|
||||||
{
|
{
|
||||||
renderArmPost(model.bipedLeftArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder);
|
renderArmPost(model.leftArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder);
|
||||||
renderArmPost(model.bipedLeftArmwear, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder);
|
renderArmPost(model.leftSleeve, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (renderRight && rotRight != null)
|
if (renderRight && rotRight != null)
|
||||||
{
|
{
|
||||||
renderArmPost(model.bipedRightArm, (float) rotRight[0], (float) rotRight[2], true, doSneakCheck(player), light, matrix, builder);
|
renderArmPost(model.rightArm, (float) rotRight[0], (float) rotRight[2], true, doSneakCheck(player), light, matrix, builder);
|
||||||
renderArmPost(model.bipedRightArmwear, (float) rotRight[0], (float) rotRight[2], true, doSneakCheck(player), light, matrix, builder);
|
renderArmPost(model.rightSleeve, (float) rotRight[0], (float) rotRight[2], true, doSneakCheck(player), light, matrix, builder);
|
||||||
}
|
}
|
||||||
else if (renderRight)
|
else if (renderRight)
|
||||||
{
|
{
|
||||||
renderArmPost(model.bipedRightArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder);
|
renderArmPost(model.rightArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder);
|
||||||
renderArmPost(model.bipedRightArmwear, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder);
|
renderArmPost(model.rightSleeve, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
renderArmPost(model.bipedRightArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder);
|
renderArmPost(model.rightArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder);
|
||||||
renderArmPost(model.bipedLeftArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder);
|
renderArmPost(model.leftArm, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder);
|
||||||
renderArmPost(model.bipedLeftArmwear, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder);
|
renderArmPost(model.leftSleeve, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), false, doSneakCheck(player), light, matrix, builder);
|
||||||
renderArmPost(model.bipedRightArmwear, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder);
|
renderArmPost(model.rightSleeve, 2.0F + (doSneakCheck(player) ? 0f : 0.2f) - (stack.getItem() == RegistrationHandler.itemEntity ? 0.3f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), true, doSneakCheck(player), light, matrix, builder);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buffer instanceof Impl)
|
if (buffer instanceof Impl)
|
||||||
((Impl) buffer).finish();
|
((Impl) buffer).endBatch();
|
||||||
|
|
||||||
matrix.pop();
|
matrix.popPose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -670,10 +670,10 @@ public class RenderEvents
|
||||||
{
|
{
|
||||||
PlayerEntity player = event.getPlayer();
|
PlayerEntity player = event.getPlayer();
|
||||||
Pose pose = player.getPose();
|
Pose pose = player.getPose();
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getMainHandItem();
|
||||||
if (pose != Pose.SWIMMING && pose != Pose.FALL_FLYING && !stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack) || stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack)))
|
if (pose != Pose.SWIMMING && pose != Pose.FALL_FLYING && !stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack) || stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack)))
|
||||||
{
|
{
|
||||||
PlayerModel<AbstractClientPlayerEntity> model = event.getRenderer().getEntityModel();
|
PlayerModel<AbstractClientPlayerEntity> model = event.getRenderer().getModel();
|
||||||
|
|
||||||
CarryOnOverride overrider = ScriptChecker.getOverride(player);
|
CarryOnOverride overrider = ScriptChecker.getOverride(player);
|
||||||
if (overrider != null)
|
if (overrider != null)
|
||||||
|
|
@ -683,23 +683,23 @@ public class RenderEvents
|
||||||
|
|
||||||
if (renderRight)
|
if (renderRight)
|
||||||
{
|
{
|
||||||
renderArmPre(model.bipedRightArm);
|
renderArmPre(model.rightArm);
|
||||||
renderArmPre(model.bipedRightArmwear);
|
renderArmPre(model.rightSleeve);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (renderLeft)
|
if (renderLeft)
|
||||||
{
|
{
|
||||||
renderArmPre(model.bipedLeftArm);
|
renderArmPre(model.leftArm);
|
||||||
renderArmPre(model.bipedLeftArmwear);
|
renderArmPre(model.leftSleeve);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
renderArmPre(model.bipedRightArm);
|
renderArmPre(model.rightArm);
|
||||||
renderArmPre(model.bipedLeftArm);
|
renderArmPre(model.leftArm);
|
||||||
renderArmPre(model.bipedLeftArmwear);
|
renderArmPre(model.leftSleeve);
|
||||||
renderArmPre(model.bipedRightArmwear);
|
renderArmPre(model.rightSleeve);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -708,30 +708,30 @@ public class RenderEvents
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
private void renderArmPost(ModelRenderer arm, float x, float z, boolean right, boolean sneaking, int light, MatrixStack matrix, IVertexBuilder builder)
|
private void renderArmPost(ModelRenderer arm, float x, float z, boolean right, boolean sneaking, int light, MatrixStack matrix, IVertexBuilder builder)
|
||||||
{
|
{
|
||||||
matrix.push();
|
matrix.pushPose();
|
||||||
arm.showModel = true;
|
arm.visible = true;
|
||||||
if (right)
|
if (right)
|
||||||
matrix.translate(0.015, 0, 0);
|
matrix.translate(0.015, 0, 0);
|
||||||
else
|
else
|
||||||
matrix.translate(-0.015, 0, 0);
|
matrix.translate(-0.015, 0, 0);
|
||||||
|
|
||||||
if (!sneaking)
|
if (!sneaking)
|
||||||
arm.rotationPointY = 20;
|
arm.y = 20;
|
||||||
else
|
else
|
||||||
arm.rotationPointY = 15;
|
arm.y = 15;
|
||||||
|
|
||||||
arm.rotateAngleX = (float) x;
|
arm.xRot = (float) x;
|
||||||
arm.rotateAngleY = (float) 0;
|
arm.yRot = (float) 0;
|
||||||
arm.rotateAngleZ = (float) -z;
|
arm.zRot = (float) -z;
|
||||||
arm.render(matrix, builder, light, 655360);
|
arm.render(matrix, builder, light, 655360);
|
||||||
arm.rotationPointY = 2;
|
arm.y = 2;
|
||||||
matrix.pop();
|
matrix.popPose();
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
private void renderArmPre(ModelRenderer arm)
|
private void renderArmPre(ModelRenderer arm)
|
||||||
{
|
{
|
||||||
arm.showModel = false;
|
arm.visible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean handleMobends()
|
public boolean handleMobends()
|
||||||
|
|
@ -752,10 +752,10 @@ public class RenderEvents
|
||||||
|
|
||||||
public static boolean doSneakCheck(PlayerEntity player)
|
public static boolean doSneakCheck(PlayerEntity player)
|
||||||
{
|
{
|
||||||
if (player.abilities.isFlying)
|
if (player.abilities.flying)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return (player.isSneaking() || player.isCrouching());
|
return (player.isShiftKeyDown() || player.isCrouching());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isChest(Block block)
|
public static boolean isChest(Block block)
|
||||||
|
|
@ -767,14 +767,14 @@ public class RenderEvents
|
||||||
private static PlayerRenderer getRenderPlayer(AbstractClientPlayerEntity player)
|
private static PlayerRenderer getRenderPlayer(AbstractClientPlayerEntity player)
|
||||||
{
|
{
|
||||||
Minecraft mc = Minecraft.getInstance();
|
Minecraft mc = Minecraft.getInstance();
|
||||||
EntityRendererManager manager = mc.getRenderManager();
|
EntityRendererManager manager = mc.getEntityRenderDispatcher();
|
||||||
return manager.getSkinMap().get(player.getSkinType());
|
return manager.getSkinMap().get(player.getModelName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
private static PlayerModel<AbstractClientPlayerEntity> getPlayerModel(AbstractClientPlayerEntity player)
|
private static PlayerModel<AbstractClientPlayerEntity> getPlayerModel(AbstractClientPlayerEntity player)
|
||||||
{
|
{
|
||||||
return getRenderPlayer(player).getEntityModel();
|
return getRenderPlayer(player).getModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
// @SubscribeEvent
|
// @SubscribeEvent
|
||||||
|
|
|
||||||
|
|
@ -22,15 +22,15 @@ public class CarryRenderHelper
|
||||||
{
|
{
|
||||||
public static Vector3d getExactPos(Entity entity, float partialticks)
|
public static Vector3d getExactPos(Entity entity, float 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);
|
return new Vector3d(entity.xOld + (entity.getX() - entity.xOld) * partialticks, entity.yOld + (entity.getY() - entity.yOld) * partialticks, entity.zOld + (entity.getZ() - entity.zOld) * partialticks);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static float getExactBodyRotationDegrees(LivingEntity entity, float partialticks)
|
public static float getExactBodyRotationDegrees(LivingEntity entity, float partialticks)
|
||||||
{
|
{
|
||||||
if (entity.getRidingEntity() != null && entity.getRidingEntity() instanceof LivingEntity)
|
if (entity.getVehicle() != null && entity.getVehicle() instanceof LivingEntity)
|
||||||
return -(entity.prevRotationYawHead + (entity.rotationYawHead - entity.prevRotationYawHead) * partialticks);
|
return -(entity.yHeadRotO + (entity.yHeadRot - entity.yHeadRotO) * partialticks);
|
||||||
else
|
else
|
||||||
return -(entity.prevRenderYawOffset + (entity.renderYawOffset - entity.prevRenderYawOffset) * partialticks);
|
return -(entity.yBodyRotO + (entity.yBodyRot - entity.yBodyRotO) * partialticks);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Quaternion getExactBodyRotation(LivingEntity entity, float partialticks)
|
public static Quaternion getExactBodyRotation(LivingEntity entity, float partialticks)
|
||||||
|
|
@ -47,9 +47,9 @@ public class CarryRenderHelper
|
||||||
float[] scaled = ScriptParseHelper.getScaled(override.getRenderScaled());
|
float[] scaled = ScriptParseHelper.getScaled(override.getRenderScaled());
|
||||||
|
|
||||||
Quaternion rot = Vector3f.XP.rotationDegrees(rotation[0]);
|
Quaternion rot = Vector3f.XP.rotationDegrees(rotation[0]);
|
||||||
rot.multiply(Vector3f.YP.rotationDegrees(rotation[1]));
|
rot.mul(Vector3f.YP.rotationDegrees(rotation[1]));
|
||||||
rot.multiply(Vector3f.ZP.rotationDegrees(rotation[2]));
|
rot.mul(Vector3f.ZP.rotationDegrees(rotation[2]));
|
||||||
matrix.rotate(rot);
|
matrix.mulPose(rot);
|
||||||
|
|
||||||
matrix.translate(translation[0], translation[1], perspective == 1 && override.isBlock() ? -translation[2] : translation[2]);
|
matrix.translate(translation[0], translation[1], perspective == 1 && override.isBlock() ? -translation[2] : translation[2]);
|
||||||
|
|
||||||
|
|
@ -64,18 +64,18 @@ public class CarryRenderHelper
|
||||||
|
|
||||||
if (override instanceof ItemStack)
|
if (override instanceof ItemStack)
|
||||||
{
|
{
|
||||||
Minecraft.getInstance().getItemRenderer().renderItem((ItemStack) override, TransformType.NONE, false, matrix, buffer, light, 0xFFFFFF, model);
|
Minecraft.getInstance().getItemRenderer().render((ItemStack) override, TransformType.NONE, false, matrix, buffer, light, 0xFFFFFF, model);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Minecraft.getInstance().getItemRenderer().renderItem(tileStack.isEmpty() ? stack : tileStack, TransformType.NONE, false, matrix, buffer, light, 0xFFFFFF, model);
|
Minecraft.getInstance().getItemRenderer().render(tileStack.isEmpty() ? stack : tileStack, TransformType.NONE, false, matrix, buffer, light, 0xFFFFFF, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getPerspective()
|
public static int getPerspective()
|
||||||
{
|
{
|
||||||
boolean isThirdPerson = !Minecraft.getInstance().gameSettings.getPointOfView().func_243192_a(); //isThirdPerson
|
boolean isThirdPerson = !Minecraft.getInstance().options.getCameraType().isFirstPerson(); //isThirdPerson
|
||||||
boolean isThirdPersonReverse = Minecraft.getInstance().gameSettings.getPointOfView().func_243193_b();
|
boolean isThirdPersonReverse = Minecraft.getInstance().options.getCameraType().isMirrored();
|
||||||
|
|
||||||
if (!isThirdPerson && !isThirdPersonReverse)
|
if (!isThirdPerson && !isThirdPersonReverse)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
|
|
@ -36,15 +36,15 @@ public class PositionClientEvents
|
||||||
IPosition cap = player.getCapability(PositionProvider.POSITION_CAPABILITY).orElse(new TEPosition());
|
IPosition cap = player.getCapability(PositionProvider.POSITION_CAPABILITY).orElse(new TEPosition());
|
||||||
if(cap.isBlockActivated())
|
if(cap.isBlockActivated())
|
||||||
{
|
{
|
||||||
World world = player.world;
|
World world = player.level;
|
||||||
BlockPos pos = cap.getPos();
|
BlockPos pos = cap.getPos();
|
||||||
if(world != null)
|
if(world != null)
|
||||||
{
|
{
|
||||||
TileEntity te = world.getTileEntity(pos);
|
TileEntity te = world.getBlockEntity(pos);
|
||||||
if(te == null)
|
if(te == null)
|
||||||
{
|
{
|
||||||
// player.openContainer = null;
|
// player.openContainer = null;
|
||||||
Minecraft.getInstance().currentScreen = null;
|
Minecraft.getInstance().screen = null;
|
||||||
// Minecraft.getInstance().fo;
|
// Minecraft.getInstance().fo;
|
||||||
cap.setBlockActivated(false);
|
cap.setBlockActivated(false);
|
||||||
cap.setPos(new BlockPos(0,0,0));
|
cap.setPos(new BlockPos(0,0,0));
|
||||||
|
|
@ -80,7 +80,7 @@ public class PositionClientEvents
|
||||||
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());
|
||||||
if (cap.isBlockActivated() && Minecraft.getInstance().currentScreen == null)
|
if (cap.isBlockActivated() && Minecraft.getInstance().screen == null)
|
||||||
{
|
{
|
||||||
cap.setBlockActivated(false);
|
cap.setBlockActivated(false);
|
||||||
cap.setPos(new BlockPos(0, 0, 0));
|
cap.setPos(new BlockPos(0, 0, 0));
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ public class PositionCommonEvents
|
||||||
if (player instanceof FakePlayer)
|
if (player instanceof FakePlayer)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
TileEntity te = world.getTileEntity(pos);
|
TileEntity te = world.getBlockEntity(pos);
|
||||||
if (te != null)
|
if (te != null)
|
||||||
{
|
{
|
||||||
if(player.getCapability(PositionProvider.POSITION_CAPABILITY).isPresent())
|
if(player.getCapability(PositionProvider.POSITION_CAPABILITY).isPresent())
|
||||||
|
|
|
||||||
|
|
@ -33,10 +33,10 @@ public class CommandCarryOn
|
||||||
}))
|
}))
|
||||||
|
|
||||||
.then(Commands.literal("clear").executes((cmd) -> {
|
.then(Commands.literal("clear").executes((cmd) -> {
|
||||||
return handleClear(cmd.getSource(), Collections.singleton(cmd.getSource().asPlayer()));
|
return handleClear(cmd.getSource(), Collections.singleton(cmd.getSource().getPlayerOrException()));
|
||||||
}))
|
}))
|
||||||
|
|
||||||
.then(Commands.literal("clear").then(Commands.argument("target", EntityArgument.players()).requires(src -> src.hasPermissionLevel(2)).executes((cmd) -> {
|
.then(Commands.literal("clear").then(Commands.argument("target", EntityArgument.players()).requires(src -> src.hasPermission(2)).executes((cmd) -> {
|
||||||
return handleClear(cmd.getSource(), EntityArgument.getPlayers(cmd, "target"));
|
return handleClear(cmd.getSource(), EntityArgument.getPlayers(cmd, "target"));
|
||||||
})))
|
})))
|
||||||
|
|
||||||
|
|
@ -50,22 +50,22 @@ public class CommandCarryOn
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (source.assertIsEntity() != null)
|
if (source.getEntityOrException() != null)
|
||||||
{
|
{
|
||||||
ServerPlayerEntity player = source.asPlayer();
|
ServerPlayerEntity player = source.getPlayerOrException();
|
||||||
|
|
||||||
ItemStack main = player.getHeldItemMainhand();
|
ItemStack main = player.getMainHandItem();
|
||||||
if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemTile)
|
if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemTile)
|
||||||
{
|
{
|
||||||
source.sendFeedback(new StringTextComponent("Block: " + ItemCarryonBlock.getBlock(main)), true);
|
source.sendSuccess(new StringTextComponent("Block: " + ItemCarryonBlock.getBlock(main)), true);
|
||||||
source.sendFeedback(new StringTextComponent("BlockState: " + ItemCarryonBlock.getBlockState(main)), true);
|
source.sendSuccess(new StringTextComponent("BlockState: " + ItemCarryonBlock.getBlockState(main)), true);
|
||||||
source.sendFeedback(new StringTextComponent("ItemStack: " + ItemCarryonBlock.getItemStack(main)), true);
|
source.sendSuccess(new StringTextComponent("ItemStack: " + ItemCarryonBlock.getItemStack(main)), true);
|
||||||
|
|
||||||
if (ModelOverridesHandler.hasCustomOverrideModel(ItemCarryonBlock.getBlockState(main), ItemCarryonBlock.getTileData(main)))
|
if (ModelOverridesHandler.hasCustomOverrideModel(ItemCarryonBlock.getBlockState(main), ItemCarryonBlock.getTileData(main)))
|
||||||
source.sendFeedback(new StringTextComponent("Override Model: " + ModelOverridesHandler.getOverrideObject(ItemCarryonBlock.getBlockState(main), ItemCarryonBlock.getTileData(main))), true);
|
source.sendSuccess(new StringTextComponent("Override Model: " + ModelOverridesHandler.getOverrideObject(ItemCarryonBlock.getBlockState(main), ItemCarryonBlock.getTileData(main))), true);
|
||||||
|
|
||||||
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonBlock.getBlockState(main)))
|
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonBlock.getBlockState(main)))
|
||||||
source.sendFeedback(new StringTextComponent("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonBlock.getBlockState(main))), true);
|
source.sendSuccess(new StringTextComponent("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonBlock.getBlockState(main))), true);
|
||||||
|
|
||||||
CarryOn.LOGGER.info("Block: " + ItemCarryonBlock.getBlock(main));
|
CarryOn.LOGGER.info("Block: " + ItemCarryonBlock.getBlock(main));
|
||||||
CarryOn.LOGGER.info("BlockState: " + ItemCarryonBlock.getBlockState(main));
|
CarryOn.LOGGER.info("BlockState: " + ItemCarryonBlock.getBlockState(main));
|
||||||
|
|
@ -81,17 +81,17 @@ public class CommandCarryOn
|
||||||
}
|
}
|
||||||
else if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemEntity)
|
else if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemEntity)
|
||||||
{
|
{
|
||||||
source.sendFeedback(new StringTextComponent("Entity: " + ItemCarryonEntity.getEntity(main, player.world)), true);
|
source.sendSuccess(new StringTextComponent("Entity: " + ItemCarryonEntity.getEntity(main, player.level)), true);
|
||||||
source.sendFeedback(new StringTextComponent("Entity Name: " + ItemCarryonEntity.getEntityName(main)), true);
|
source.sendSuccess(new StringTextComponent("Entity Name: " + ItemCarryonEntity.getEntityName(main)), true);
|
||||||
|
|
||||||
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonEntity.getEntity(main, player.world)))
|
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonEntity.getEntity(main, player.level)))
|
||||||
source.sendFeedback(new StringTextComponent("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonEntity.getEntity(main, player.world))), true);
|
source.sendSuccess(new StringTextComponent("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonEntity.getEntity(main, player.level))), true);
|
||||||
|
|
||||||
CarryOn.LOGGER.info("Entity: " + ItemCarryonEntity.getEntity(main, player.world));
|
CarryOn.LOGGER.info("Entity: " + ItemCarryonEntity.getEntity(main, player.level));
|
||||||
CarryOn.LOGGER.info("Entity Name: " + ItemCarryonEntity.getEntityName(main));
|
CarryOn.LOGGER.info("Entity Name: " + ItemCarryonEntity.getEntityName(main));
|
||||||
|
|
||||||
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonEntity.getEntity(main, player.world)))
|
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonEntity.getEntity(main, player.level)))
|
||||||
CarryOn.LOGGER.info("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonEntity.getEntity(main, player.world)));
|
CarryOn.LOGGER.info("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonEntity.getEntity(main, player.level)));
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
@ -111,15 +111,15 @@ public class CommandCarryOn
|
||||||
for (ServerPlayerEntity player : players)
|
for (ServerPlayerEntity player : players)
|
||||||
{
|
{
|
||||||
int cleared = 0;
|
int cleared = 0;
|
||||||
cleared += player.inventory.func_234564_a_(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile, 64, player.container.func_234641_j_()); // TODO
|
cleared += player.inventory.clearOrCountMatchingItems(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile, 64, player.inventoryMenu.getCraftSlots()); // TODO
|
||||||
cleared += player.inventory.func_234564_a_(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity, 64, player.container.func_234641_j_());
|
cleared += player.inventory.clearOrCountMatchingItems(stack -> !stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity, 64, player.inventoryMenu.getCraftSlots());
|
||||||
|
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(9, player.getEntityId()));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(9, player.getId()));
|
||||||
|
|
||||||
if (cleared != 1)
|
if (cleared != 1)
|
||||||
source.sendFeedback(new StringTextComponent("Cleared " + cleared + " Items!"), true);
|
source.sendSuccess(new StringTextComponent("Cleared " + cleared + " Items!"), true);
|
||||||
else
|
else
|
||||||
source.sendFeedback(new StringTextComponent("Cleared " + cleared + " Item!"), true);
|
source.sendSuccess(new StringTextComponent("Cleared " + cleared + " Item!"), true);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -352,10 +352,11 @@ public class Configs {
|
||||||
"create:*",
|
"create:*",
|
||||||
"magic_doorknob:*",
|
"magic_doorknob:*",
|
||||||
"iceandfire:*",
|
"iceandfire:*",
|
||||||
"ftbquests:*"
|
"ftbquests:*",
|
||||||
|
"waystones:*"
|
||||||
|
|
||||||
|
|
||||||
}), (obj) -> obj instanceof String ? true : false);
|
}), (obj) -> obj instanceof String);
|
||||||
|
|
||||||
forbiddenEntities = s
|
forbiddenEntities = s
|
||||||
.comment("Entities that cannot be picked up")
|
.comment("Entities that cannot be picked up")
|
||||||
|
|
|
||||||
|
|
@ -43,13 +43,13 @@ public class ItemEntityEvents
|
||||||
public void onBlockClick(PlayerInteractEvent.RightClickBlock event)
|
public void onBlockClick(PlayerInteractEvent.RightClickBlock event)
|
||||||
{
|
{
|
||||||
PlayerEntity player = event.getPlayer();
|
PlayerEntity player = event.getPlayer();
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getMainHandItem();
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
||||||
{
|
{
|
||||||
player.getPersistentData().remove("carrySlot");
|
player.getPersistentData().remove("carrySlot");
|
||||||
event.setUseBlock(Result.DENY);
|
event.setUseBlock(Result.DENY);
|
||||||
|
|
||||||
if (!player.world.isRemote)
|
if (!player.level.isClientSide)
|
||||||
{
|
{
|
||||||
CarryOnOverride override = ScriptChecker.getOverride(player);
|
CarryOnOverride override = ScriptChecker.getOverride(player);
|
||||||
if (override != null)
|
if (override != null)
|
||||||
|
|
@ -57,7 +57,7 @@ public class ItemEntityEvents
|
||||||
String command = override.getCommandPlace();
|
String command = override.getCommandPlace();
|
||||||
|
|
||||||
if (command != null)
|
if (command != null)
|
||||||
player.getServer().getCommandManager().handleCommand(player.getServer().getCommandSource(), "/execute as " + player.getGameProfile().getName() + " run " + command);
|
player.getServer().getCommands().performCommand(player.getServer().createCommandSourceStack(), "/execute as " + player.getGameProfile().getName() + " run " + command);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -76,10 +76,10 @@ public class ItemEntityEvents
|
||||||
Item item = stack.getItem();
|
Item item = stack.getItem();
|
||||||
if (item == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
if (item == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
||||||
{
|
{
|
||||||
BlockPos pos = eitem.getPosition();
|
BlockPos pos = eitem.blockPosition();
|
||||||
Entity entity = ItemCarryonEntity.getEntity(stack, world);
|
Entity entity = ItemCarryonEntity.getEntity(stack, world);
|
||||||
entity.setPosition(pos.getX() + 0.5, pos.getY(), pos.getZ() + 0.5);
|
entity.setPos(pos.getX() + 0.5, pos.getY(), pos.getZ() + 0.5);
|
||||||
world.addEntity(entity);
|
world.addFreshEntity(entity);
|
||||||
|
|
||||||
ItemCarryonEntity.clearEntityData(stack);
|
ItemCarryonEntity.clearEntityData(stack);
|
||||||
eitem.setItem(ItemStack.EMPTY);
|
eitem.setItem(ItemStack.EMPTY);
|
||||||
|
|
@ -94,20 +94,20 @@ public class ItemEntityEvents
|
||||||
|
|
||||||
if (player instanceof ServerPlayerEntity)
|
if (player instanceof ServerPlayerEntity)
|
||||||
{
|
{
|
||||||
ItemStack main = player.getHeldItemMainhand();
|
ItemStack main = player.getMainHandItem();
|
||||||
ItemStack off = player.getHeldItemOffhand();
|
ItemStack off = player.getOffhandItem();
|
||||||
World world = event.getWorld();
|
World world = event.getWorld();
|
||||||
Entity entity = event.getTarget();
|
Entity entity = event.getTarget();
|
||||||
BlockPos pos = entity.getPosition();
|
BlockPos pos = entity.blockPosition();
|
||||||
|
|
||||||
if (main.isEmpty() && off.isEmpty() && CarryOnKeybinds.isKeyPressed(player))
|
if (main.isEmpty() && off.isEmpty() && CarryOnKeybinds.isKeyPressed(player))
|
||||||
{
|
{
|
||||||
ItemStack stack = new ItemStack(RegistrationHandler.itemEntity);
|
ItemStack stack = new ItemStack(RegistrationHandler.itemEntity);
|
||||||
|
|
||||||
if (entity.hurtResistantTime == 0)
|
if (entity.invulnerableTime == 0)
|
||||||
{
|
{
|
||||||
if (entity instanceof AnimalEntity)
|
if (entity instanceof AnimalEntity)
|
||||||
((AnimalEntity) entity).clearLeashed(true, true);
|
((AnimalEntity) entity).dropLeash(true, true);
|
||||||
|
|
||||||
if (PickupHandler.canPlayerPickUpEntity((ServerPlayerEntity) player, entity))
|
if (PickupHandler.canPlayerPickUpEntity((ServerPlayerEntity) player, entity))
|
||||||
{
|
{
|
||||||
|
|
@ -127,15 +127,15 @@ public class ItemEntityEvents
|
||||||
if (override != null)
|
if (override != null)
|
||||||
overrideHash = override.hashCode();
|
overrideHash = override.hashCode();
|
||||||
|
|
||||||
ItemEvents.sendPacket(player, player.inventory.currentItem, overrideHash);
|
ItemEvents.sendPacket(player, player.inventory.selected, overrideHash);
|
||||||
|
|
||||||
if (entity instanceof LivingEntity)
|
if (entity instanceof LivingEntity)
|
||||||
((LivingEntity) entity).setHealth(0);
|
((LivingEntity) entity).setHealth(0);
|
||||||
|
|
||||||
entity.removePassengers();
|
entity.ejectPassengers();
|
||||||
entity.setPosition(entity.getPosX(), 0, entity.getPosZ());
|
entity.setPos(entity.getX(), 0, entity.getZ());
|
||||||
entity.remove();
|
entity.remove();
|
||||||
player.setHeldItem(Hand.MAIN_HAND, stack);
|
player.setItemInHand(Hand.MAIN_HAND, stack);
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
event.setCancellationResult(ActionResultType.FAIL);
|
event.setCancellationResult(ActionResultType.FAIL);
|
||||||
}
|
}
|
||||||
|
|
@ -146,15 +146,15 @@ public class ItemEntityEvents
|
||||||
{
|
{
|
||||||
Entity entityHeld = ItemCarryonEntity.getEntity(main, world);
|
Entity entityHeld = ItemCarryonEntity.getEntity(main, world);
|
||||||
|
|
||||||
if (entity.hurtResistantTime == 0 && entityHeld instanceof LivingEntity)
|
if (entity.invulnerableTime == 0 && entityHeld instanceof LivingEntity)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!world.isRemote && entityHeld.getUniqueID() != entity.getUniqueID() && entity.isAlive())
|
if (!world.isClientSide && entityHeld.getUUID() != entity.getUUID() && entity.isAlive())
|
||||||
{
|
{
|
||||||
|
|
||||||
double sizeHeldEntity = entityHeld.getHeight() * entityHeld.getWidth();
|
double sizeHeldEntity = entityHeld.getBbHeight() * entityHeld.getBbWidth();
|
||||||
double distance = pos.distanceSq(player.getPosition());
|
double distance = pos.distSqr(player.blockPosition());
|
||||||
Entity lowestEntity = entity.getLowestRidingEntity();
|
Entity lowestEntity = entity.getRootVehicle();
|
||||||
int numPassengers = getAllPassengers(lowestEntity);
|
int numPassengers = getAllPassengers(lowestEntity);
|
||||||
if (numPassengers < Settings.maxEntityStackLimit.get() - 1)
|
if (numPassengers < Settings.maxEntityStackLimit.get() - 1)
|
||||||
{
|
{
|
||||||
|
|
@ -162,46 +162,46 @@ public class ItemEntityEvents
|
||||||
|
|
||||||
if (Settings.useWhitelistStacking.get() ? ListHandler.isStackingAllowed(topEntity) : !ListHandler.isStackingForbidden(topEntity))
|
if (Settings.useWhitelistStacking.get() ? ListHandler.isStackingAllowed(topEntity) : !ListHandler.isStackingForbidden(topEntity))
|
||||||
{
|
{
|
||||||
double sizeEntity = topEntity.getHeight() * topEntity.getWidth();
|
double sizeEntity = topEntity.getBbHeight() * topEntity.getBbWidth();
|
||||||
if ((Settings.entitySizeMattersStacking.get() && sizeHeldEntity <= sizeEntity) || !Settings.entitySizeMattersStacking.get())
|
if ((Settings.entitySizeMattersStacking.get() && sizeHeldEntity <= sizeEntity) || !Settings.entitySizeMattersStacking.get())
|
||||||
{
|
{
|
||||||
if (topEntity instanceof HorseEntity)
|
if (topEntity instanceof HorseEntity)
|
||||||
{
|
{
|
||||||
HorseEntity horse = (HorseEntity) topEntity;
|
HorseEntity horse = (HorseEntity) topEntity;
|
||||||
horse.setHorseTamed(true);
|
horse.setTamed(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (distance < 6)
|
if (distance < 6)
|
||||||
{
|
{
|
||||||
double tempX = entity.getPosX();
|
double tempX = entity.getX();
|
||||||
double tempY = entity.getPosY();
|
double tempY = entity.getY();
|
||||||
double tempZ = entity.getPosZ();
|
double tempZ = entity.getZ();
|
||||||
entityHeld.setPosition(tempX, tempY + 2.6, tempZ);
|
entityHeld.setPos(tempX, tempY + 2.6, tempZ);
|
||||||
world.addEntity(entityHeld);
|
world.addFreshEntity(entityHeld);
|
||||||
entityHeld.startRiding(topEntity, false);
|
entityHeld.startRiding(topEntity, false);
|
||||||
entityHeld.setPositionAndUpdate(tempX, tempY, tempZ);
|
entityHeld.teleportTo(tempX, tempY, tempZ);
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
entityHeld.setPosition(entity.getPosX(), entity.getPosY(), entity.getPosZ());
|
entityHeld.setPos(entity.getX(), entity.getY(), entity.getZ());
|
||||||
world.addEntity(entityHeld);
|
world.addFreshEntity(entityHeld);
|
||||||
entityHeld.startRiding(topEntity, false);
|
entityHeld.startRiding(topEntity, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemCarryonEntity.clearEntityData(main);
|
ItemCarryonEntity.clearEntityData(main);
|
||||||
player.setHeldItem(Hand.MAIN_HAND, ItemStack.EMPTY);
|
player.setItemInHand(Hand.MAIN_HAND, ItemStack.EMPTY);
|
||||||
ItemEvents.sendPacket(player, 9, 0);
|
ItemEvents.sendPacket(player, 9, 0);
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
event.setCancellationResult(ActionResultType.FAIL);
|
event.setCancellationResult(ActionResultType.FAIL);
|
||||||
world.playSound(null, player.getPosX(), player.getPosY(), player.getPosZ(), SoundEvents.ENTITY_HORSE_SADDLE, SoundCategory.PLAYERS, 0.5F, 1.5F);
|
world.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.HORSE_SADDLE, SoundCategory.PLAYERS, 0.5F, 1.5F);
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
world.playSound(null, player.getPosX(), player.getPosY(), player.getPosZ(), SoundEvents.BLOCK_NOTE_BLOCK_BASS, SoundCategory.PLAYERS, 0.5F, 1.5F);
|
world.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.NOTE_BLOCK_BASS, SoundCategory.PLAYERS, 0.5F, 1.5F);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
world.playSound(null, player.getPosX(), player.getPosY(), player.getPosZ(), SoundEvents.BLOCK_NOTE_BLOCK_BASS, SoundCategory.PLAYERS, 0.5F, 1.5F);
|
world.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.NOTE_BLOCK_BASS, SoundCategory.PLAYERS, 0.5F, 1.5F);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -216,7 +216,7 @@ public class ItemEntityEvents
|
||||||
public static int getAllPassengers(Entity entity)
|
public static int getAllPassengers(Entity entity)
|
||||||
{
|
{
|
||||||
int passengers = 0;
|
int passengers = 0;
|
||||||
while (entity.isBeingRidden())
|
while (entity.isVehicle())
|
||||||
{
|
{
|
||||||
List<Entity> pass = entity.getPassengers();
|
List<Entity> pass = entity.getPassengers();
|
||||||
if (!pass.isEmpty())
|
if (!pass.isEmpty())
|
||||||
|
|
@ -232,7 +232,7 @@ public class ItemEntityEvents
|
||||||
public static Entity getTopPassenger(Entity entity)
|
public static Entity getTopPassenger(Entity entity)
|
||||||
{
|
{
|
||||||
Entity top = entity;
|
Entity top = entity;
|
||||||
while (entity.isBeingRidden())
|
while (entity.isVehicle())
|
||||||
{
|
{
|
||||||
List<Entity> pass = entity.getPassengers();
|
List<Entity> pass = entity.getPassengers();
|
||||||
if (!pass.isEmpty())
|
if (!pass.isEmpty())
|
||||||
|
|
@ -249,22 +249,22 @@ public class ItemEntityEvents
|
||||||
public void onLivingUpdate(LivingUpdateEvent event)
|
public void onLivingUpdate(LivingUpdateEvent event)
|
||||||
{
|
{
|
||||||
LivingEntity entity = event.getEntityLiving();
|
LivingEntity entity = event.getEntityLiving();
|
||||||
World world = entity.world;
|
World world = entity.level;
|
||||||
ItemStack main = entity.getHeldItemMainhand();
|
ItemStack main = entity.getMainHandItem();
|
||||||
if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(main))
|
if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(main))
|
||||||
{
|
{
|
||||||
BlockPos pos = entity.getPosition();
|
BlockPos pos = entity.blockPosition();
|
||||||
BlockPos below = pos.offset(Direction.DOWN);
|
BlockPos below = pos.relative(Direction.DOWN);
|
||||||
|
|
||||||
if (world.getBlockState(pos).getMaterial() == Material.WATER || world.getBlockState(below).getMaterial() == Material.WATER)
|
if (world.getBlockState(pos).getMaterial() == Material.WATER || world.getBlockState(below).getMaterial() == Material.WATER)
|
||||||
{
|
{
|
||||||
Entity contained = ItemCarryonEntity.getEntity(main, world);
|
Entity contained = ItemCarryonEntity.getEntity(main, world);
|
||||||
if (contained != null)
|
if (contained != null)
|
||||||
{
|
{
|
||||||
float height = contained.getWidth();
|
float height = contained.getBbWidth();
|
||||||
float width = contained.getWidth();
|
float width = contained.getBbWidth();
|
||||||
|
|
||||||
entity.addVelocity(0, -0.01 * height * width, 0);
|
entity.push(0, -0.01 * height * width, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -72,13 +72,13 @@ public class ItemEvents
|
||||||
return;
|
return;
|
||||||
|
|
||||||
PlayerEntity player = event.getPlayer();
|
PlayerEntity player = event.getPlayer();
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getMainHandItem();
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack))
|
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack))
|
||||||
{
|
{
|
||||||
player.getPersistentData().remove("carrySlot");
|
player.getPersistentData().remove("carrySlot");
|
||||||
event.setUseBlock(Result.DENY);
|
event.setUseBlock(Result.DENY);
|
||||||
|
|
||||||
if (!player.world.isRemote)
|
if (!player.level.isClientSide)
|
||||||
{
|
{
|
||||||
CarryOnOverride override = ScriptChecker.getOverride(player);
|
CarryOnOverride override = ScriptChecker.getOverride(player);
|
||||||
if (override != null)
|
if (override != null)
|
||||||
|
|
@ -86,7 +86,7 @@ public class ItemEvents
|
||||||
String command = override.getCommandPlace();
|
String command = override.getCommandPlace();
|
||||||
|
|
||||||
if (command != null && !command.isEmpty())
|
if (command != null && !command.isEmpty())
|
||||||
player.getServer().getCommandManager().handleCommand(player.getServer().getCommandSource(), "/execute as " + player.getGameProfile().getName() + " run " + command);
|
player.getServer().getCommands().performCommand(player.getServer().createCommandSourceStack(), "/execute as " + player.getGameProfile().getName() + " run " + command);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -105,29 +105,29 @@ public class ItemEvents
|
||||||
Item item = stack.getItem();
|
Item item = stack.getItem();
|
||||||
if (item == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack))
|
if (item == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack))
|
||||||
{
|
{
|
||||||
BlockPos pos = eitem.getPosition();
|
BlockPos pos = eitem.blockPosition();
|
||||||
BlockPos finalPos = pos;
|
BlockPos finalPos = pos;
|
||||||
BlockItemUseContext context = new DirectionalPlaceContext(world, pos, Direction.DOWN, stack, Direction.UP);
|
BlockItemUseContext context = new DirectionalPlaceContext(world, pos, Direction.DOWN, stack, Direction.UP);
|
||||||
|
|
||||||
if (!world.getBlockState(pos).isReplaceable(context) || !context.canPlace())
|
if (!world.getBlockState(pos).canBeReplaced(context) || !context.canPlace())
|
||||||
{
|
{
|
||||||
for (Direction facing : Direction.values())
|
for (Direction facing : Direction.values())
|
||||||
{
|
{
|
||||||
BlockPos offsetPos = pos.offset(facing);
|
BlockPos offsetPos = pos.relative(facing);
|
||||||
BlockItemUseContext newContext = new DirectionalPlaceContext(world, offsetPos, Direction.DOWN, stack, Direction.UP);
|
BlockItemUseContext newContext = new DirectionalPlaceContext(world, offsetPos, Direction.DOWN, stack, Direction.UP);
|
||||||
if (world.getBlockState(offsetPos).isReplaceable(newContext) && newContext.canPlace())
|
if (world.getBlockState(offsetPos).canBeReplaced(newContext) && newContext.canPlace())
|
||||||
{
|
{
|
||||||
finalPos = offsetPos;
|
finalPos = offsetPos;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
world.setBlockState(finalPos, ItemCarryonBlock.getBlockState(stack));
|
world.setBlockAndUpdate(finalPos, ItemCarryonBlock.getBlockState(stack));
|
||||||
TileEntity tile = world.getTileEntity(finalPos);
|
TileEntity tile = world.getBlockEntity(finalPos);
|
||||||
if (tile != null)
|
if (tile != null)
|
||||||
{
|
{
|
||||||
tile.deserializeNBT(ItemCarryonBlock.getTileData(stack));
|
tile.deserializeNBT(ItemCarryonBlock.getTileData(stack));
|
||||||
tile.setPos(finalPos);
|
tile.setPosition(finalPos);
|
||||||
}
|
}
|
||||||
ItemCarryonBlock.clearTileData(stack);
|
ItemCarryonBlock.clearTileData(stack);
|
||||||
eitem.setItem(ItemStack.EMPTY);
|
eitem.setItem(ItemStack.EMPTY);
|
||||||
|
|
@ -148,25 +148,25 @@ public class ItemEvents
|
||||||
if (event.getPlayer() instanceof PlayerEntity)
|
if (event.getPlayer() instanceof PlayerEntity)
|
||||||
{
|
{
|
||||||
PlayerEntity player = (PlayerEntity) event.getPlayer();
|
PlayerEntity player = (PlayerEntity) event.getPlayer();
|
||||||
World world = player.getEntityWorld();
|
World world = player.getCommandSenderWorld();
|
||||||
|
|
||||||
ItemStack carried = player.getHeldItemMainhand();
|
ItemStack carried = player.getMainHandItem();
|
||||||
if (!carried.isEmpty() && carried.getItem() == RegistrationHandler.itemTile || carried.getItem() == RegistrationHandler.itemEntity)
|
if (!carried.isEmpty() && carried.getItem() == RegistrationHandler.itemTile || carried.getItem() == RegistrationHandler.itemEntity)
|
||||||
{
|
{
|
||||||
if (carried.getItem() == RegistrationHandler.itemTile)
|
if (carried.getItem() == RegistrationHandler.itemTile)
|
||||||
{
|
{
|
||||||
CarryOnOverride override = ScriptChecker.inspectBlock(ItemCarryonBlock.getBlockState(carried), world, player.getPosition(), ItemCarryonBlock.getTileData(carried));
|
CarryOnOverride override = ScriptChecker.inspectBlock(ItemCarryonBlock.getBlockState(carried), world, player.blockPosition(), ItemCarryonBlock.getTileData(carried));
|
||||||
if (override != null)
|
if (override != null)
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId(), override.hashCode()));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.selected, player.getId(), override.hashCode()));
|
||||||
else
|
else
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId()));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.selected, player.getId()));
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
CarryOnOverride override = ScriptChecker.inspectEntity(ItemCarryonEntity.getEntity(carried, world));
|
CarryOnOverride override = ScriptChecker.inspectEntity(ItemCarryonEntity.getEntity(carried, world));
|
||||||
if (override != null)
|
if (override != null)
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId(), override.hashCode()));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.selected, player.getId(), override.hashCode()));
|
||||||
else
|
else
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId()));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(player.inventory.selected, player.getId()));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -206,25 +206,25 @@ public class ItemEvents
|
||||||
if (e instanceof PlayerEntity && tracker instanceof ServerPlayerEntity)
|
if (e instanceof PlayerEntity && tracker instanceof ServerPlayerEntity)
|
||||||
{
|
{
|
||||||
PlayerEntity player = (PlayerEntity) e;
|
PlayerEntity player = (PlayerEntity) e;
|
||||||
World world = player.getEntityWorld();
|
World world = player.getCommandSenderWorld();
|
||||||
|
|
||||||
ItemStack carried = player.getHeldItemMainhand();
|
ItemStack carried = player.getMainHandItem();
|
||||||
if (!carried.isEmpty() && carried.getItem() == RegistrationHandler.itemTile || carried.getItem() == RegistrationHandler.itemEntity)
|
if (!carried.isEmpty() && carried.getItem() == RegistrationHandler.itemTile || carried.getItem() == RegistrationHandler.itemEntity)
|
||||||
{
|
{
|
||||||
if (carried.getItem() == RegistrationHandler.itemTile)
|
if (carried.getItem() == RegistrationHandler.itemTile)
|
||||||
{
|
{
|
||||||
CarryOnOverride override = ScriptChecker.inspectBlock(ItemCarryonBlock.getBlockState(carried), world, player.getPosition(), ItemCarryonBlock.getTileData(carried));
|
CarryOnOverride override = ScriptChecker.inspectBlock(ItemCarryonBlock.getBlockState(carried), world, player.blockPosition(), ItemCarryonBlock.getTileData(carried));
|
||||||
if (override != null)
|
if (override != null)
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId(), override.hashCode()));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.selected, player.getId(), override.hashCode()));
|
||||||
else
|
else
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId()));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.selected, player.getId()));
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
CarryOnOverride override = ScriptChecker.inspectEntity(ItemCarryonEntity.getEntity(carried, world));
|
CarryOnOverride override = ScriptChecker.inspectEntity(ItemCarryonEntity.getEntity(carried, world));
|
||||||
if (override != null)
|
if (override != null)
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId(), override.hashCode()));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.selected, player.getId(), override.hashCode()));
|
||||||
else
|
else
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.currentItem, player.getEntityId()));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) tracker), new CarrySlotPacket(player.inventory.selected, player.getId()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -237,7 +237,7 @@ public class ItemEvents
|
||||||
PlayerEntity player = event.getPlayer();
|
PlayerEntity player = event.getPlayer();
|
||||||
if (player != null && !Settings.hitWhileCarrying.get())
|
if (player != null && !Settings.hitWhileCarrying.get())
|
||||||
{
|
{
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getMainHandItem();
|
||||||
if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
||||||
event.setNewSpeed(0);
|
event.setNewSpeed(0);
|
||||||
}
|
}
|
||||||
|
|
@ -247,7 +247,7 @@ public class ItemEvents
|
||||||
public void attackEntity(AttackEntityEvent event)
|
public void attackEntity(AttackEntityEvent event)
|
||||||
{
|
{
|
||||||
PlayerEntity player = event.getPlayer();
|
PlayerEntity player = event.getPlayer();
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getMainHandItem();
|
||||||
if (!stack.isEmpty() && !Settings.hitWhileCarrying.get() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
if (!stack.isEmpty() && !Settings.hitWhileCarrying.get() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
||||||
{
|
{
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
|
|
@ -260,7 +260,7 @@ public class ItemEvents
|
||||||
PlayerEntity player = event.getPlayer();
|
PlayerEntity player = event.getPlayer();
|
||||||
if (player != null && !Settings.hitWhileCarrying.get())
|
if (player != null && !Settings.hitWhileCarrying.get())
|
||||||
{
|
{
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getMainHandItem();
|
||||||
if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
}
|
}
|
||||||
|
|
@ -273,15 +273,15 @@ public class ItemEvents
|
||||||
if (eliving instanceof PlayerEntity && Settings.dropCarriedWhenHit.get())
|
if (eliving instanceof PlayerEntity && Settings.dropCarriedWhenHit.get())
|
||||||
{
|
{
|
||||||
PlayerEntity player = (PlayerEntity) eliving;
|
PlayerEntity player = (PlayerEntity) eliving;
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getMainHandItem();
|
||||||
if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile || stack.getItem() == RegistrationHandler.itemEntity))
|
||||||
{
|
{
|
||||||
if (!player.world.isRemote)
|
if (!player.level.isClientSide)
|
||||||
{
|
{
|
||||||
player.setHeldItem(Hand.MAIN_HAND, ItemStack.EMPTY);
|
player.setItemInHand(Hand.MAIN_HAND, ItemStack.EMPTY);
|
||||||
ItemEntity item = new ItemEntity(player.world, player.getPosX(), player.getPosY(), player.getPosZ(), stack);
|
ItemEntity item = new ItemEntity(player.level, player.getX(), player.getY(), player.getZ(), stack);
|
||||||
sendPacket(player, 9, 0);
|
sendPacket(player, 9, 0);
|
||||||
player.world.addEntity(item);
|
player.level.addFreshEntity(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -296,11 +296,11 @@ public class ItemEvents
|
||||||
if(event.isCanceled())
|
if(event.isCanceled())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!player.world.isRemote)
|
if (!player.level.isClientSide)
|
||||||
{
|
{
|
||||||
|
|
||||||
ItemStack main = player.getHeldItemMainhand();
|
ItemStack main = player.getMainHandItem();
|
||||||
ItemStack off = player.getHeldItemOffhand();
|
ItemStack off = player.getOffhandItem();
|
||||||
World world = event.getWorld();
|
World world = event.getWorld();
|
||||||
BlockPos pos = event.getPos();
|
BlockPos pos = event.getPos();
|
||||||
BlockState state = world.getBlockState(pos);
|
BlockState state = world.getBlockState(pos);
|
||||||
|
|
@ -310,11 +310,11 @@ public class ItemEvents
|
||||||
|
|
||||||
ItemStack stack = new ItemStack(RegistrationHandler.itemTile);
|
ItemStack stack = new ItemStack(RegistrationHandler.itemTile);
|
||||||
|
|
||||||
TileEntity te = world.getTileEntity(pos);
|
TileEntity te = world.getBlockEntity(pos);
|
||||||
if (PickupHandler.canPlayerPickUpBlock((ServerPlayerEntity) player, te, world, pos))
|
if (PickupHandler.canPlayerPickUpBlock((ServerPlayerEntity) player, te, world, pos))
|
||||||
{
|
{
|
||||||
player.closeScreen();
|
player.closeContainer();
|
||||||
world.playEvent(1010, pos, 0);
|
world.levelEvent(1010, pos, 0);
|
||||||
|
|
||||||
|
|
||||||
if (ItemCarryonBlock.storeTileData(te, world, pos, state, stack))
|
if (ItemCarryonBlock.storeTileData(te, world, pos, state, stack))
|
||||||
|
|
@ -322,7 +322,7 @@ public class ItemEvents
|
||||||
|
|
||||||
BlockState statee = world.getBlockState(pos);
|
BlockState statee = world.getBlockState(pos);
|
||||||
CompoundNBT tag = new CompoundNBT();
|
CompoundNBT tag = new CompoundNBT();
|
||||||
tag = world.getTileEntity(pos) != null ? world.getTileEntity(pos).write(tag) : new CompoundNBT();
|
tag = world.getBlockEntity(pos) != null ? world.getBlockEntity(pos).save(tag) : new CompoundNBT();
|
||||||
CarryOnOverride override = ScriptChecker.inspectBlock(state, world, pos, tag);
|
CarryOnOverride override = ScriptChecker.inspectBlock(state, world, pos, tag);
|
||||||
int overrideHash = 0;
|
int overrideHash = 0;
|
||||||
if (override != null)
|
if (override != null)
|
||||||
|
|
@ -332,11 +332,11 @@ public class ItemEvents
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
sendPacket(player, player.inventory.currentItem, overrideHash);
|
sendPacket(player, player.inventory.selected, overrideHash);
|
||||||
|
|
||||||
world.removeTileEntity(pos);
|
world.removeBlockEntity(pos);
|
||||||
world.removeBlock(pos, false);
|
world.removeBlock(pos, false);
|
||||||
player.setHeldItem(Hand.MAIN_HAND, stack);
|
player.setItemInHand(Hand.MAIN_HAND, stack);
|
||||||
event.setUseBlock(Result.DENY);
|
event.setUseBlock(Result.DENY);
|
||||||
event.setUseItem(Result.DENY);
|
event.setUseItem(Result.DENY);
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
|
|
@ -345,10 +345,10 @@ public class ItemEvents
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
sendPacket(player, player.inventory.currentItem, overrideHash);
|
sendPacket(player, player.inventory.selected, overrideHash);
|
||||||
emptyTileEntity(te);
|
emptyTileEntity(te);
|
||||||
world.removeBlock(pos,false);
|
world.removeBlock(pos,false);
|
||||||
player.setHeldItem(Hand.MAIN_HAND, stack);
|
player.setItemInHand(Hand.MAIN_HAND, stack);
|
||||||
event.setUseBlock(Result.DENY);
|
event.setUseBlock(Result.DENY);
|
||||||
event.setUseItem(Result.DENY);
|
event.setUseItem(Result.DENY);
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
|
|
@ -356,16 +356,16 @@ public class ItemEvents
|
||||||
} catch (Exception ex)
|
} catch (Exception ex)
|
||||||
{
|
{
|
||||||
sendPacket(player, 9, 0);
|
sendPacket(player, 9, 0);
|
||||||
world.setBlockState(pos, statee);
|
world.setBlockAndUpdate(pos, statee);
|
||||||
if (!tag.isEmpty())
|
if (!tag.isEmpty())
|
||||||
{
|
{
|
||||||
TileEntity.readTileEntity(statee, tag);
|
TileEntity.loadStatic(statee, tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "Error detected. Cannot pick up block."), false);
|
player.displayClientMessage(new StringTextComponent(TextFormatting.RED + "Error detected. Cannot pick up block."), false);
|
||||||
StringTextComponent s = new StringTextComponent(TextFormatting.GOLD + "here");
|
StringTextComponent s = new StringTextComponent(TextFormatting.GOLD + "here");
|
||||||
s.getStyle().setClickEvent(new ClickEvent(Action.OPEN_URL, "https://github.com/Tschipp/CarryOn/issues"));
|
s.getStyle().withClickEvent(new ClickEvent(Action.OPEN_URL, "https://github.com/Tschipp/CarryOn/issues"));
|
||||||
player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").append(s), false);
|
player.displayClientMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").append(s), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -375,7 +375,7 @@ public class ItemEvents
|
||||||
String command = override.getCommandInit();
|
String command = override.getCommandInit();
|
||||||
|
|
||||||
if (command != null)
|
if (command != null)
|
||||||
player.getServer().getCommandManager().handleCommand(player.getServer().getCommandSource(), "/execute as " + player.getGameProfile().getName() + " run " + command);
|
player.getServer().getCommands().performCommand(player.getServer().createCommandSourceStack(), "/execute as " + player.getGameProfile().getName() + " run " + command);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -417,7 +417,7 @@ public class ItemEvents
|
||||||
if (te instanceof IInventory)
|
if (te instanceof IInventory)
|
||||||
{
|
{
|
||||||
IInventory inv = (IInventory) te;
|
IInventory inv = (IInventory) te;
|
||||||
inv.clear();
|
inv.clearContent();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (te instanceof IItemHandler)
|
if (te instanceof IItemHandler)
|
||||||
|
|
@ -429,7 +429,7 @@ public class ItemEvents
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
te.markDirty();
|
te.setChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -439,27 +439,27 @@ public class ItemEvents
|
||||||
PlayerEntity original = event.getOriginal();
|
PlayerEntity original = event.getOriginal();
|
||||||
PlayerEntity player = event.getPlayer();
|
PlayerEntity player = event.getPlayer();
|
||||||
boolean wasDead = event.isWasDeath();
|
boolean wasDead = event.isWasDeath();
|
||||||
GameRules rules = player.world.getGameRules();
|
GameRules rules = player.level.getGameRules();
|
||||||
boolean keepInv = rules.getBoolean(GameRules.KEEP_INVENTORY);
|
boolean keepInv = rules.getBoolean(GameRules.RULE_KEEPINVENTORY);
|
||||||
boolean wasCarrying = player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemTile)) || player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemEntity));
|
boolean wasCarrying = player.inventory.contains(new ItemStack(RegistrationHandler.itemTile)) || player.inventory.contains(new ItemStack(RegistrationHandler.itemEntity));
|
||||||
|
|
||||||
if ((wasDead ? keepInv : true) && wasCarrying)
|
if ((wasDead ? keepInv : true) && wasCarrying)
|
||||||
{
|
{
|
||||||
int carrySlot = original.inventory.currentItem;
|
int carrySlot = original.inventory.selected;
|
||||||
|
|
||||||
ItemStack stack = player.inventory.removeStackFromSlot(carrySlot);
|
ItemStack stack = player.inventory.removeItemNoUpdate(carrySlot);
|
||||||
World world = player.world;
|
World world = player.level;
|
||||||
|
|
||||||
ItemEntity item = new ItemEntity(world, 0, 0, 0);
|
ItemEntity item = new ItemEntity(world, 0, 0, 0);
|
||||||
item.setItem(stack);
|
item.setItem(stack);
|
||||||
BlockPos pos = null;
|
BlockPos pos = null;
|
||||||
Optional<BlockPos> bedpos = original.getBedPosition();
|
Optional<BlockPos> bedpos = original.getSleepingPos();
|
||||||
if(bedpos.isPresent())
|
if(bedpos.isPresent())
|
||||||
pos = bedpos.get();
|
pos = bedpos.get();
|
||||||
if (pos == null)
|
if (pos == null)
|
||||||
pos = player.getPosition();
|
pos = player.blockPosition();
|
||||||
item.setPosition(pos.getX(), pos.getY(), pos.getZ());
|
item.setPos(pos.getX(), pos.getY(), pos.getZ());
|
||||||
world.addEntity(item);
|
world.addFreshEntity(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -472,14 +472,14 @@ public class ItemEvents
|
||||||
{
|
{
|
||||||
PlayerEntity player = (PlayerEntity) entity;
|
PlayerEntity player = (PlayerEntity) entity;
|
||||||
|
|
||||||
if (!entity.world.isRemote)
|
if (!entity.level.isClientSide)
|
||||||
{
|
{
|
||||||
boolean hasCarried = player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemTile)) || player.inventory.hasItemStack(new ItemStack(RegistrationHandler.itemEntity));
|
boolean hasCarried = player.inventory.contains(new ItemStack(RegistrationHandler.itemTile)) || player.inventory.contains(new ItemStack(RegistrationHandler.itemEntity));
|
||||||
ItemStack inHand = player.getHeldItemMainhand();
|
ItemStack inHand = player.getMainHandItem();
|
||||||
|
|
||||||
if (hasCarried)
|
if (hasCarried)
|
||||||
{
|
{
|
||||||
if ((inHand.getItem() != RegistrationHandler.itemTile && inHand.getItem() != RegistrationHandler.itemEntity) && player.getPortalCooldown() == 0)
|
if ((inHand.getItem() != RegistrationHandler.itemTile && inHand.getItem() != RegistrationHandler.itemEntity) && player.getDimensionChangingDelay() == 0)
|
||||||
{
|
{
|
||||||
int slotBlock = getSlot(player, RegistrationHandler.itemTile);
|
int slotBlock = getSlot(player, RegistrationHandler.itemTile);
|
||||||
int slotEntity = getSlot(player, RegistrationHandler.itemEntity);
|
int slotEntity = getSlot(player, RegistrationHandler.itemEntity);
|
||||||
|
|
@ -489,17 +489,17 @@ public class ItemEvents
|
||||||
ItemEntity item = null;
|
ItemEntity item = null;
|
||||||
if (slotBlock != -1)
|
if (slotBlock != -1)
|
||||||
{
|
{
|
||||||
ItemStack dropped = player.inventory.removeStackFromSlot(slotBlock);
|
ItemStack dropped = player.inventory.removeItemNoUpdate(slotBlock);
|
||||||
item = new ItemEntity(player.world, player.getPosX(), player.getPosY(), player.getPosZ(), dropped);
|
item = new ItemEntity(player.level, player.getX(), player.getY(), player.getZ(), dropped);
|
||||||
}
|
}
|
||||||
if (slotEntity != -1)
|
if (slotEntity != -1)
|
||||||
{
|
{
|
||||||
ItemStack dropped = player.inventory.removeStackFromSlot(slotEntity);
|
ItemStack dropped = player.inventory.removeItemNoUpdate(slotEntity);
|
||||||
item = new ItemEntity(player.world, player.getPosX(), player.getPosY(), player.getPosZ(), dropped);
|
item = new ItemEntity(player.level, player.getX(), player.getY(), player.getZ(), dropped);
|
||||||
}
|
}
|
||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
player.world.addEntity(item);
|
player.level.addFreshEntity(item);
|
||||||
sendPacket(player, 9, 0);
|
sendPacket(player, 9, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -512,7 +512,7 @@ public class ItemEvents
|
||||||
String command = override.getCommandLoop();
|
String command = override.getCommandLoop();
|
||||||
|
|
||||||
if (command != null)
|
if (command != null)
|
||||||
player.getServer().getCommandManager().handleCommand(player.getServer().getCommandSource(), "/execute as " + player.getGameProfile().getName() + " run " + command);
|
player.getServer().getCommands().performCommand(player.getServer().createCommandSourceStack(), "/execute as " + player.getGameProfile().getName() + " run " + command);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -521,9 +521,9 @@ public class ItemEvents
|
||||||
|
|
||||||
public int getSlot(PlayerEntity player, Item item)
|
public int getSlot(PlayerEntity player, Item item)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < player.inventory.getSizeInventory(); i++)
|
for (int i = 0; i < player.inventory.getContainerSize(); i++)
|
||||||
{
|
{
|
||||||
ItemStack stack = player.inventory.getStackInSlot(i);
|
ItemStack stack = player.inventory.getItem(i);
|
||||||
if (stack.getItem() == item)
|
if (stack.getItem() == item)
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
@ -534,8 +534,8 @@ public class ItemEvents
|
||||||
{
|
{
|
||||||
if (player instanceof ServerPlayerEntity)
|
if (player instanceof ServerPlayerEntity)
|
||||||
{
|
{
|
||||||
CarryOn.network.send(PacketDistributor.NEAR.with(() -> new TargetPoint(player.getPosX(), player.getPosY(), player.getPosZ(), 128, player.world.getDimensionKey())), new CarrySlotPacket(currentItem, player.getEntityId(), hash));
|
CarryOn.network.send(PacketDistributor.NEAR.with(() -> new TargetPoint(player.getX(), player.getY(), player.getZ(), 128, player.level.dimension())), new CarrySlotPacket(currentItem, player.getId(), hash));
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(currentItem, player.getEntityId(), hash));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new CarrySlotPacket(currentItem, player.getId(), hash));
|
||||||
|
|
||||||
if (currentItem >= 9)
|
if (currentItem >= 9)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -276,17 +276,17 @@ public class ListHandler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ITagCollection<Block> blocktags = BlockTags.getCollection();
|
ITagCollection<Block> blocktags = BlockTags.getAllTags();
|
||||||
ITagCollection<EntityType<?>> entitytags = EntityTypeTags.getCollection();
|
ITagCollection<EntityType<?>> entitytags = EntityTypeTags.getAllTags();
|
||||||
|
|
||||||
System.out.println(blocktags.getRegisteredTags());
|
System.out.println(blocktags.getAvailableTags());
|
||||||
|
|
||||||
for (String s : forbidden)
|
for (String s : forbidden)
|
||||||
{
|
{
|
||||||
if (s.startsWith("#"))
|
if (s.startsWith("#"))
|
||||||
{
|
{
|
||||||
String sub = s.substring(1, s.length());
|
String sub = s.substring(1, s.length());
|
||||||
ITag<Block> tag = blocktags.get(new ResourceLocation(sub));
|
ITag<Block> tag = blocktags.getTag(new ResourceLocation(sub));
|
||||||
if (tag != null)
|
if (tag != null)
|
||||||
FORBIDDEN_TILES_TAGS.add(tag);
|
FORBIDDEN_TILES_TAGS.add(tag);
|
||||||
}
|
}
|
||||||
|
|
@ -296,7 +296,7 @@ public class ListHandler
|
||||||
{
|
{
|
||||||
if (s.startsWith("#"))
|
if (s.startsWith("#"))
|
||||||
{
|
{
|
||||||
ITag<Block> tag = blocktags.get(new ResourceLocation(s.substring(1, s.length())));
|
ITag<Block> tag = blocktags.getTag(new ResourceLocation(s.substring(1, s.length())));
|
||||||
if (tag != null)
|
if (tag != null)
|
||||||
ALLOWED_TILES_TAGS.add(tag);
|
ALLOWED_TILES_TAGS.add(tag);
|
||||||
}
|
}
|
||||||
|
|
@ -306,7 +306,7 @@ public class ListHandler
|
||||||
{
|
{
|
||||||
if (s.startsWith("#"))
|
if (s.startsWith("#"))
|
||||||
{
|
{
|
||||||
ITag<EntityType<?>> tag = entitytags.get(new ResourceLocation(s.substring(1, s.length())));
|
ITag<EntityType<?>> tag = entitytags.getTag(new ResourceLocation(s.substring(1, s.length())));
|
||||||
if (tag != null)
|
if (tag != null)
|
||||||
FORBIDDEN_ENTITIES_TAGS.add(tag);
|
FORBIDDEN_ENTITIES_TAGS.add(tag);
|
||||||
}
|
}
|
||||||
|
|
@ -316,7 +316,7 @@ public class ListHandler
|
||||||
{
|
{
|
||||||
if (s.startsWith("#"))
|
if (s.startsWith("#"))
|
||||||
{
|
{
|
||||||
ITag<EntityType<?>> tag = entitytags.get(new ResourceLocation(s.substring(1, s.length())));
|
ITag<EntityType<?>> tag = entitytags.getTag(new ResourceLocation(s.substring(1, s.length())));
|
||||||
if (tag != null)
|
if (tag != null)
|
||||||
ALLOWED_ENTITIES_TAGS.add(tag);
|
ALLOWED_ENTITIES_TAGS.add(tag);
|
||||||
}
|
}
|
||||||
|
|
@ -326,7 +326,7 @@ public class ListHandler
|
||||||
{
|
{
|
||||||
if (s.startsWith("#"))
|
if (s.startsWith("#"))
|
||||||
{
|
{
|
||||||
ITag<EntityType<?>> tag = entitytags.get(new ResourceLocation(s.substring(1, s.length())));
|
ITag<EntityType<?>> tag = entitytags.getTag(new ResourceLocation(s.substring(1, s.length())));
|
||||||
if (tag != null)
|
if (tag != null)
|
||||||
FORBIDDEN_STACKING_TAGS.add(tag);
|
FORBIDDEN_STACKING_TAGS.add(tag);
|
||||||
}
|
}
|
||||||
|
|
@ -336,7 +336,7 @@ public class ListHandler
|
||||||
{
|
{
|
||||||
if (s.startsWith("#"))
|
if (s.startsWith("#"))
|
||||||
{
|
{
|
||||||
ITag<EntityType<?>> tag = entitytags.get(new ResourceLocation(s.substring(1, s.length())));
|
ITag<EntityType<?>> tag = entitytags.getTag(new ResourceLocation(s.substring(1, s.length())));
|
||||||
if (tag != null)
|
if (tag != null)
|
||||||
ALLOWED_STACKING_TAGS.add(tag);
|
ALLOWED_STACKING_TAGS.add(tag);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ public class ModelOverridesHandler
|
||||||
toOverride = toOverride.replace(nbt, "");
|
toOverride = toOverride.replace(nbt, "");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
tag = JsonToNBT.getTagFromJson(nbt);
|
tag = JsonToNBT.parseTag(nbt);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
@ -135,7 +135,7 @@ public class ModelOverridesHandler
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
keyComp.putInt("stateid", Block.getStateId((BlockState) toOverrideObject));
|
keyComp.putInt("stateid", Block.getId((BlockState) toOverrideObject));
|
||||||
keyComp.putString("block", ((BlockState) toOverrideObject).getBlock().getRegistryName().toString());
|
keyComp.putString("block", ((BlockState) toOverrideObject).getBlock().getRegistryName().toString());
|
||||||
}
|
}
|
||||||
OVERRIDE_OBJECTS.put(keyComp, overrideObject);
|
OVERRIDE_OBJECTS.put(keyComp, overrideObject);
|
||||||
|
|
@ -161,7 +161,7 @@ public class ModelOverridesHandler
|
||||||
if (OVERRIDE_OBJECTS.isEmpty())
|
if (OVERRIDE_OBJECTS.isEmpty())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
int stateid = Block.getStateId(state);
|
int stateid = Block.getId(state);
|
||||||
CompoundNBT[] keys = new CompoundNBT[OVERRIDE_OBJECTS.size()];
|
CompoundNBT[] keys = new CompoundNBT[OVERRIDE_OBJECTS.size()];
|
||||||
OVERRIDE_OBJECTS.keySet().toArray(keys);
|
OVERRIDE_OBJECTS.keySet().toArray(keys);
|
||||||
for (CompoundNBT key : keys)
|
for (CompoundNBT key : keys)
|
||||||
|
|
@ -171,15 +171,15 @@ public class ModelOverridesHandler
|
||||||
if (id == 0 ? block == state.getBlock() : id == stateid)
|
if (id == 0 ? block == state.getBlock() : id == stateid)
|
||||||
{
|
{
|
||||||
CompoundNBT toCheckForCompound = key.getCompound("nbttag");
|
CompoundNBT toCheckForCompound = key.getCompound("nbttag");
|
||||||
Set<String> kSetToCheck = toCheckForCompound.keySet();
|
Set<String> kSetToCheck = toCheckForCompound.getAllKeys();
|
||||||
Set<String> kSetTile = tag.keySet();
|
Set<String> kSetTile = tag.getAllKeys();
|
||||||
|
|
||||||
boolean flag = true;
|
boolean flag = true;
|
||||||
if (kSetTile.containsAll(kSetToCheck))
|
if (kSetTile.containsAll(kSetToCheck))
|
||||||
{
|
{
|
||||||
for (String skey : kSetToCheck)
|
for (String skey : kSetToCheck)
|
||||||
{
|
{
|
||||||
if (!NBTUtil.areNBTEquals(tag.get(skey), toCheckForCompound.get(skey), true))
|
if (!NBTUtil.compareNbt(tag.get(skey), toCheckForCompound.get(skey), true))
|
||||||
flag = false;
|
flag = false;
|
||||||
}
|
}
|
||||||
if (flag)
|
if (flag)
|
||||||
|
|
@ -194,7 +194,7 @@ public class ModelOverridesHandler
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
public static IBakedModel getCustomOverrideModel(BlockState state, CompoundNBT tag, World world, PlayerEntity player)
|
public static IBakedModel getCustomOverrideModel(BlockState state, CompoundNBT tag, World world, PlayerEntity player)
|
||||||
{
|
{
|
||||||
int stateid = Block.getStateId(state);
|
int stateid = Block.getId(state);
|
||||||
CompoundNBT[] keys = new CompoundNBT[OVERRIDE_OBJECTS.size()];
|
CompoundNBT[] keys = new CompoundNBT[OVERRIDE_OBJECTS.size()];
|
||||||
OVERRIDE_OBJECTS.keySet().toArray(keys);
|
OVERRIDE_OBJECTS.keySet().toArray(keys);
|
||||||
for (CompoundNBT key : keys)
|
for (CompoundNBT key : keys)
|
||||||
|
|
@ -204,15 +204,15 @@ public class ModelOverridesHandler
|
||||||
if (id == 0 ? block == state.getBlock() : id == stateid)
|
if (id == 0 ? block == state.getBlock() : id == stateid)
|
||||||
{
|
{
|
||||||
CompoundNBT toCheckForCompound = key.getCompound("nbttag");
|
CompoundNBT toCheckForCompound = key.getCompound("nbttag");
|
||||||
Set<String> kSetToCheck = toCheckForCompound.keySet();
|
Set<String> kSetToCheck = toCheckForCompound.getAllKeys();
|
||||||
Set<String> kSetTile = tag.keySet();
|
Set<String> kSetTile = tag.getAllKeys();
|
||||||
|
|
||||||
boolean flag = true;
|
boolean flag = true;
|
||||||
if (kSetTile.containsAll(kSetToCheck))
|
if (kSetTile.containsAll(kSetToCheck))
|
||||||
{
|
{
|
||||||
for (String skey : kSetToCheck)
|
for (String skey : kSetToCheck)
|
||||||
{
|
{
|
||||||
if (!NBTUtil.areNBTEquals(tag.get(skey), toCheckForCompound.get(skey), true))
|
if (!NBTUtil.compareNbt(tag.get(skey), toCheckForCompound.get(skey), true))
|
||||||
flag = false;
|
flag = false;
|
||||||
}
|
}
|
||||||
if (flag)
|
if (flag)
|
||||||
|
|
@ -223,9 +223,9 @@ public class ModelOverridesHandler
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
if (override instanceof BlockState)
|
if (override instanceof BlockState)
|
||||||
return Minecraft.getInstance().getBlockRendererDispatcher().getModelForState((BlockState) override);
|
return Minecraft.getInstance().getBlockRenderer().getBlockModel((BlockState) override);
|
||||||
else
|
else
|
||||||
return Minecraft.getInstance().getItemRenderer().getItemModelWithOverrides((ItemStack) override, world, player);
|
return Minecraft.getInstance().getItemRenderer().getModel((ItemStack) override, world, player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -236,7 +236,7 @@ public class ModelOverridesHandler
|
||||||
|
|
||||||
public static Object getOverrideObject(BlockState state, CompoundNBT tag)
|
public static Object getOverrideObject(BlockState state, CompoundNBT tag)
|
||||||
{
|
{
|
||||||
int stateid = Block.getStateId(state);
|
int stateid = Block.getId(state);
|
||||||
CompoundNBT[] keys = new CompoundNBT[OVERRIDE_OBJECTS.size()];
|
CompoundNBT[] keys = new CompoundNBT[OVERRIDE_OBJECTS.size()];
|
||||||
OVERRIDE_OBJECTS.keySet().toArray(keys);
|
OVERRIDE_OBJECTS.keySet().toArray(keys);
|
||||||
for (CompoundNBT key : keys)
|
for (CompoundNBT key : keys)
|
||||||
|
|
@ -246,15 +246,15 @@ public class ModelOverridesHandler
|
||||||
if (id == 0 ? block == state.getBlock() : id == stateid)
|
if (id == 0 ? block == state.getBlock() : id == stateid)
|
||||||
{
|
{
|
||||||
CompoundNBT toCheckForCompound = key.getCompound("nbttag");
|
CompoundNBT toCheckForCompound = key.getCompound("nbttag");
|
||||||
Set<String> kSetToCheck = toCheckForCompound.keySet();
|
Set<String> kSetToCheck = toCheckForCompound.getAllKeys();
|
||||||
Set<String> kSetTile = tag.keySet();
|
Set<String> kSetTile = tag.getAllKeys();
|
||||||
|
|
||||||
boolean flag = true;
|
boolean flag = true;
|
||||||
if (kSetTile.containsAll(kSetToCheck))
|
if (kSetTile.containsAll(kSetToCheck))
|
||||||
{
|
{
|
||||||
for (String skey : kSetToCheck)
|
for (String skey : kSetToCheck)
|
||||||
{
|
{
|
||||||
if (!NBTUtil.areNBTEquals(tag.get(skey), toCheckForCompound.get(skey), true))
|
if (!NBTUtil.compareNbt(tag.get(skey), toCheckForCompound.get(skey), true))
|
||||||
flag = false;
|
flag = false;
|
||||||
}
|
}
|
||||||
if (flag)
|
if (flag)
|
||||||
|
|
|
||||||
|
|
@ -31,14 +31,14 @@ public class PickupHandler
|
||||||
|
|
||||||
public static boolean canPlayerPickUpBlock(ServerPlayerEntity player, @Nullable TileEntity tile, World world, BlockPos pos)
|
public static boolean canPlayerPickUpBlock(ServerPlayerEntity player, @Nullable TileEntity tile, World world, BlockPos pos)
|
||||||
{
|
{
|
||||||
if(player.interactionManager.getGameType() == GameType.SPECTATOR || player.interactionManager.getGameType() == GameType.ADVENTURE)
|
if(player.gameMode.getGameModeForPlayer() == GameType.SPECTATOR || player.gameMode.getGameModeForPlayer() == GameType.ADVENTURE)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
BlockState state = world.getBlockState(pos);
|
BlockState state = world.getBlockState(pos);
|
||||||
CompoundNBT tag = new CompoundNBT();
|
CompoundNBT tag = new CompoundNBT();
|
||||||
if (tile != null)
|
if (tile != null)
|
||||||
tile.write(tag);
|
tile.save(tag);
|
||||||
|
|
||||||
CarryOnOverride override = ScriptChecker.inspectBlock(world.getBlockState(pos), world, pos, tag);
|
CarryOnOverride override = ScriptChecker.inspectBlock(world.getBlockState(pos), world, pos, tag);
|
||||||
if (override != null)
|
if (override != null)
|
||||||
|
|
@ -62,9 +62,9 @@ public class PickupHandler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((state.getBlockHardness(world, pos) != -1 || player.isCreative()))
|
if ((state.getDestroySpeed(world, pos) != -1 || player.isCreative()))
|
||||||
{
|
{
|
||||||
double distance = Vector3d.copy(pos).distanceTo(player.getPositionVec());
|
double distance = Vector3d.atLowerCornerOf(pos).distanceTo(player.position());
|
||||||
double maxDist = Settings.maxDistance.get();
|
double maxDist = Settings.maxDistance.get();
|
||||||
|
|
||||||
if (distance < maxDist)
|
if (distance < maxDist)
|
||||||
|
|
@ -92,10 +92,10 @@ public class PickupHandler
|
||||||
|
|
||||||
public static boolean canPlayerPickUpEntity(ServerPlayerEntity player, Entity toPickUp)
|
public static boolean canPlayerPickUpEntity(ServerPlayerEntity player, Entity toPickUp)
|
||||||
{
|
{
|
||||||
if(player.interactionManager.getGameType() == GameType.SPECTATOR || player.interactionManager.getGameType() == GameType.ADVENTURE)
|
if(player.gameMode.getGameModeForPlayer() == GameType.SPECTATOR || player.gameMode.getGameModeForPlayer() == GameType.ADVENTURE)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
BlockPos pos = toPickUp.getPosition();
|
BlockPos pos = toPickUp.blockPosition();
|
||||||
|
|
||||||
if (toPickUp instanceof PlayerEntity)
|
if (toPickUp instanceof PlayerEntity)
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -110,16 +110,16 @@ public class PickupHandler
|
||||||
if (toPickUp instanceof AgeableEntity && Settings.allowBabies.get())
|
if (toPickUp instanceof AgeableEntity && Settings.allowBabies.get())
|
||||||
{
|
{
|
||||||
AgeableEntity living = (AgeableEntity) toPickUp;
|
AgeableEntity living = (AgeableEntity) toPickUp;
|
||||||
if (living.getGrowingAge() < 0 || living.isChild())
|
if (living.getAge() < 0 || living.isBaby())
|
||||||
{
|
{
|
||||||
|
|
||||||
double distance = pos.distanceSq(player.getPosition());
|
double distance = pos.distSqr(player.blockPosition());
|
||||||
if (distance < Math.pow(Settings.maxDistance.get(), 2))
|
if (distance < Math.pow(Settings.maxDistance.get(), 2))
|
||||||
{
|
{
|
||||||
if (toPickUp instanceof TameableEntity)
|
if (toPickUp instanceof TameableEntity)
|
||||||
{
|
{
|
||||||
TameableEntity tame = (TameableEntity) toPickUp;
|
TameableEntity tame = (TameableEntity) toPickUp;
|
||||||
if (tame.getOwnerId() != null && tame.getOwnerId() != PlayerEntity.getUUID(player.getGameProfile()))
|
if (tame.getOwnerUUID() != null && tame.getOwnerUUID() != PlayerEntity.createPlayerUUID(player.getGameProfile()))
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -148,20 +148,20 @@ public class PickupHandler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((Settings.pickupHostileMobs.get() ? true : toPickUp.getType().getClassification() != EntityClassification.MONSTER || player.isCreative()))
|
if ((Settings.pickupHostileMobs.get() ? true : toPickUp.getType().getCategory() != EntityClassification.MONSTER || player.isCreative()))
|
||||||
{
|
{
|
||||||
if ((Settings.pickupHostileMobs.get() ? true : toPickUp.getType().getClassification() != EntityClassification.MONSTER || player.isCreative()))
|
if ((Settings.pickupHostileMobs.get() ? true : toPickUp.getType().getCategory() != EntityClassification.MONSTER || player.isCreative()))
|
||||||
{
|
{
|
||||||
if ((toPickUp.getHeight() <= Settings.maxEntityHeight.get() && toPickUp.getWidth() <= Settings.maxEntityWidth.get() || player.isCreative()))
|
if ((toPickUp.getBbHeight() <= Settings.maxEntityHeight.get() && toPickUp.getBbWidth() <= Settings.maxEntityWidth.get() || player.isCreative()))
|
||||||
{
|
{
|
||||||
double distance = pos.distanceSq(player.getPosition());
|
double distance = pos.distSqr(player.blockPosition());
|
||||||
if (distance < Math.pow(Settings.maxDistance.get(), 2))
|
if (distance < Math.pow(Settings.maxDistance.get(), 2))
|
||||||
{
|
{
|
||||||
if (toPickUp instanceof TameableEntity)
|
if (toPickUp instanceof TameableEntity)
|
||||||
{
|
{
|
||||||
TameableEntity tame = (TameableEntity) toPickUp;
|
TameableEntity tame = (TameableEntity) toPickUp;
|
||||||
UUID owner = tame.getOwnerId();
|
UUID owner = tame.getOwnerUUID();
|
||||||
UUID playerID = PlayerEntity.getUUID(player.getGameProfile());
|
UUID playerID = PlayerEntity.createPlayerUUID(player.getGameProfile());
|
||||||
if (owner != null && !owner.equals(playerID))
|
if (owner != null && !owner.equals(playerID))
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ public class KeyboardCallbackWrapper
|
||||||
|
|
||||||
public void setup(Minecraft mc)
|
public void setup(Minecraft mc)
|
||||||
{
|
{
|
||||||
oldCallback = GLFW.glfwSetKeyCallback(mc.getMainWindow().getHandle(), this::keyCallback);
|
oldCallback = GLFW.glfwSetKeyCallback(mc.getWindow().getWindow(), this::keyCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void keyCallback(long window, int key, int scancode, int action, int mods)
|
private void keyCallback(long window, int key, int scancode, int action, int mods)
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ public class ScriptParseHelper
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
boolean matching = true;
|
boolean matching = true;
|
||||||
for (String key : toMatch.keySet())
|
for (String key : toMatch.getAllKeys())
|
||||||
{
|
{
|
||||||
INBT tag = toMatch.get(key);
|
INBT tag = toMatch.get(key);
|
||||||
key = key.replace("\"", "");
|
key = key.replace("\"", "");
|
||||||
|
|
@ -142,7 +142,7 @@ public class ScriptParseHelper
|
||||||
if (cond == null || cond.isEmpty())
|
if (cond == null || cond.isEmpty())
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
Scoreboard score = player.getWorldScoreboard();
|
Scoreboard score = player.getScoreboard();
|
||||||
String numb;
|
String numb;
|
||||||
String scorename;
|
String scorename;
|
||||||
int iE = cond.indexOf("=");
|
int iE = cond.indexOf("=");
|
||||||
|
|
@ -157,13 +157,13 @@ public class ScriptParseHelper
|
||||||
numb = cond.substring(iL);
|
numb = cond.substring(iL);
|
||||||
|
|
||||||
scorename = cond.replace(numb, "");
|
scorename = cond.replace(numb, "");
|
||||||
Map<ScoreObjective, Score> o = score.getObjectivesForEntity(player.getGameProfile().getName());
|
Map<ScoreObjective, Score> o = score.getPlayerScores(player.getGameProfile().getName());
|
||||||
if (o != null)
|
if (o != null)
|
||||||
{
|
{
|
||||||
Score sc = o.get(score.getObjective(scorename));
|
Score sc = o.get(score.getObjective(scorename));
|
||||||
if (sc != null)
|
if (sc != null)
|
||||||
{
|
{
|
||||||
int points = sc.getScorePoints();
|
int points = sc.getScore();
|
||||||
|
|
||||||
return matches(points, numb);
|
return matches(points, numb);
|
||||||
}
|
}
|
||||||
|
|
@ -179,7 +179,7 @@ public class ScriptParseHelper
|
||||||
|
|
||||||
BlockPos blockpos = new BlockPos(getValueFromString(cond, "x"), getValueFromString(cond, "y"), getValueFromString(cond, "z"));
|
BlockPos blockpos = new BlockPos(getValueFromString(cond, "x"), getValueFromString(cond, "y"), getValueFromString(cond, "z"));
|
||||||
BlockPos expand = new BlockPos(getValueFromString(cond, "dx"), getValueFromString(cond, "dy"), getValueFromString(cond, "dz"));
|
BlockPos expand = new BlockPos(getValueFromString(cond, "dx"), getValueFromString(cond, "dy"), getValueFromString(cond, "dz"));
|
||||||
BlockPos expanded = blockpos.add(expand);
|
BlockPos expanded = blockpos.offset(expand);
|
||||||
|
|
||||||
boolean x = (pos.getX() >= blockpos.getX() && pos.getX() <= expanded.getX()) || blockpos.getX() == 0;
|
boolean x = (pos.getX() >= blockpos.getX() && pos.getX() <= expanded.getX()) || blockpos.getX() == 0;
|
||||||
boolean y = (pos.getY() >= blockpos.getY() && pos.getY() <= expanded.getY()) || blockpos.getY() == 0;
|
boolean y = (pos.getY() >= blockpos.getY() && pos.getY() <= expanded.getY()) || blockpos.getY() == 0;
|
||||||
|
|
@ -221,7 +221,7 @@ public class ScriptParseHelper
|
||||||
if(cond == null || cond.isEmpty())
|
if(cond == null || cond.isEmpty())
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
Collection<EffectInstance> effects = player.getActivePotionEffects();
|
Collection<EffectInstance> effects = player.getActiveEffects();
|
||||||
String[] potions = cond.split(",");
|
String[] potions = cond.split(",");
|
||||||
|
|
||||||
List<String> names = new ArrayList<String>();
|
List<String> names = new ArrayList<String>();
|
||||||
|
|
@ -257,7 +257,7 @@ public class ScriptParseHelper
|
||||||
for(EffectInstance effect : effects)
|
for(EffectInstance effect : effects)
|
||||||
{
|
{
|
||||||
int amp = effect.getAmplifier();
|
int amp = effect.getAmplifier();
|
||||||
String name = effect.getPotion().getRegistryName().toString();
|
String name = effect.getEffect().getRegistryName().toString();
|
||||||
|
|
||||||
if(names.contains(name))
|
if(names.contains(name))
|
||||||
{
|
{
|
||||||
|
|
@ -282,7 +282,7 @@ public class ScriptParseHelper
|
||||||
case "air":
|
case "air":
|
||||||
return material == Material.AIR;
|
return material == Material.AIR;
|
||||||
case "anvil":
|
case "anvil":
|
||||||
return material == Material.ANVIL;
|
return material == Material.HEAVY_METAL;
|
||||||
case "barrier":
|
case "barrier":
|
||||||
return material == Material.BARRIER;
|
return material == Material.BARRIER;
|
||||||
case "cactus":
|
case "cactus":
|
||||||
|
|
@ -290,7 +290,7 @@ public class ScriptParseHelper
|
||||||
case "cake":
|
case "cake":
|
||||||
return material == Material.CAKE;
|
return material == Material.CAKE;
|
||||||
case "carpet":
|
case "carpet":
|
||||||
return material == Material.CARPET;
|
return material == Material.CLOTH_DECORATION;
|
||||||
case "clay":
|
case "clay":
|
||||||
return material == Material.CLAY;
|
return material == Material.CLAY;
|
||||||
case "cloth":
|
case "cloth":
|
||||||
|
|
@ -298,49 +298,49 @@ public class ScriptParseHelper
|
||||||
case "coral":
|
case "coral":
|
||||||
return material == Material.CORAL;
|
return material == Material.CORAL;
|
||||||
case "dragon_egg":
|
case "dragon_egg":
|
||||||
return material == Material.DRAGON_EGG;
|
return material == Material.EGG;
|
||||||
case "fire":
|
case "fire":
|
||||||
return material == Material.FIRE;
|
return material == Material.FIRE;
|
||||||
case "glass":
|
case "glass":
|
||||||
return material == Material.GLASS;
|
return material == Material.GLASS;
|
||||||
case "gourd":
|
case "gourd":
|
||||||
return material == Material.GOURD;
|
return material == Material.VEGETABLE;
|
||||||
case "grass":
|
case "grass":
|
||||||
return material == Material.ORGANIC;
|
return material == Material.GRASS;
|
||||||
case "ground":
|
case "ground":
|
||||||
return material == Material.ORGANIC;
|
return material == Material.GRASS;
|
||||||
case "ice":
|
case "ice":
|
||||||
return material == Material.ICE;
|
return material == Material.ICE;
|
||||||
case "iron":
|
case "iron":
|
||||||
return material == Material.IRON;
|
return material == Material.METAL;
|
||||||
case "lava":
|
case "lava":
|
||||||
return material == Material.LAVA;
|
return material == Material.LAVA;
|
||||||
case "leaves":
|
case "leaves":
|
||||||
return material == Material.LEAVES;
|
return material == Material.LEAVES;
|
||||||
case "packed_ice":
|
case "packed_ice":
|
||||||
return material == Material.PACKED_ICE;
|
return material == Material.ICE_SOLID;
|
||||||
case "piston":
|
case "piston":
|
||||||
return material == Material.PISTON;
|
return material == Material.PISTON;
|
||||||
case "plants":
|
case "plants":
|
||||||
return material == Material.PLANTS;
|
return material == Material.PLANT;
|
||||||
case "portal":
|
case "portal":
|
||||||
return material == Material.PORTAL;
|
return material == Material.PORTAL;
|
||||||
case "redstone_light":
|
case "redstone_light":
|
||||||
return material == Material.REDSTONE_LIGHT;
|
return material == Material.BUILDABLE_GLASS;
|
||||||
case "rock":
|
case "rock":
|
||||||
return material == Material.ROCK;
|
return material == Material.STONE;
|
||||||
case "sand":
|
case "sand":
|
||||||
return material == Material.SAND;
|
return material == Material.SAND;
|
||||||
case "snow":
|
case "snow":
|
||||||
return material == Material.SNOW;
|
return material == Material.TOP_SNOW;
|
||||||
case "sponge":
|
case "sponge":
|
||||||
return material == Material.SPONGE;
|
return material == Material.SPONGE;
|
||||||
case "structure_void":
|
case "structure_void":
|
||||||
return material == Material.STRUCTURE_VOID;
|
return material == Material.STRUCTURAL_AIR;
|
||||||
case "tnt":
|
case "tnt":
|
||||||
return material == Material.TNT;
|
return material == Material.EXPLOSIVE;
|
||||||
case "vine":
|
case "vine":
|
||||||
return material == Material.PLANTS;
|
return material == Material.PLANT;
|
||||||
case "water":
|
case "water":
|
||||||
return material == Material.WATER;
|
return material == Material.WATER;
|
||||||
case "web":
|
case "web":
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ public class ScrollCallbackWrapper
|
||||||
|
|
||||||
public void setup(Minecraft mc)
|
public void setup(Minecraft mc)
|
||||||
{
|
{
|
||||||
oldCallback = GLFW.glfwSetScrollCallback(mc.getMainWindow().getHandle(), this::scrollCallback);
|
oldCallback = GLFW.glfwSetScrollCallback(mc.getWindow().getWindow(), this::scrollCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void scrollCallback(long window, double xoffset, double yoffset)
|
private void scrollCallback(long window, double xoffset, double yoffset)
|
||||||
|
|
|
||||||
|
|
@ -114,7 +114,7 @@ public class StringParser
|
||||||
string = string.replace(nbt, "");
|
string = string.replace(nbt, "");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
tag = JsonToNBT.getTagFromJson(nbt);
|
tag = JsonToNBT.parseTag(nbt);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -50,12 +50,12 @@ public class ItemCarryonBlock extends Item
|
||||||
|
|
||||||
public ItemCarryonBlock()
|
public ItemCarryonBlock()
|
||||||
{
|
{
|
||||||
super(new Item.Properties().maxStackSize(1));
|
super(new Item.Properties().stacksTo(1));
|
||||||
this.setRegistryName(CarryOn.MODID, "tile_item");
|
this.setRegistryName(CarryOn.MODID, "tile_item");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ITextComponent getDisplayName(ItemStack stack)
|
public ITextComponent getName(ItemStack stack)
|
||||||
{
|
{
|
||||||
if (hasTileData(stack))
|
if (hasTileData(stack))
|
||||||
{
|
{
|
||||||
|
|
@ -66,28 +66,28 @@ public class ItemCarryonBlock extends Item
|
||||||
{
|
{
|
||||||
Object override = ModelOverridesHandler.getOverrideObject(state, nbt);
|
Object override = ModelOverridesHandler.getOverrideObject(state, nbt);
|
||||||
if (override instanceof ItemStack)
|
if (override instanceof ItemStack)
|
||||||
return ((ItemStack) override).getDisplayName();
|
return ((ItemStack) override).getHoverName();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
BlockState ostate = (BlockState) override;
|
BlockState ostate = (BlockState) override;
|
||||||
return ostate.getBlock().getTranslatedName();
|
return ostate.getBlock().getName();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return getItemStack(stack).getDisplayName();
|
return getItemStack(stack).getHoverName();
|
||||||
}
|
}
|
||||||
|
|
||||||
return new StringTextComponent("");
|
return new StringTextComponent("");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ActionResultType onItemUse(ItemUseContext context)
|
public ActionResultType useOn(ItemUseContext context)
|
||||||
{
|
{
|
||||||
Direction facing = context.getFace();
|
Direction facing = context.getClickedFace();
|
||||||
PlayerEntity player = context.getPlayer();
|
PlayerEntity player = context.getPlayer();
|
||||||
World world = context.getWorld();
|
World world = context.getLevel();
|
||||||
BlockPos pos = context.getPos();
|
BlockPos pos = context.getClickedPos();
|
||||||
ItemStack stack = context.getItem();
|
ItemStack stack = context.getItemInHand();
|
||||||
|
|
||||||
if (ModList.get().isLoaded("betterplacement"))
|
if (ModList.get().isLoaded("betterplacement"))
|
||||||
{
|
{
|
||||||
|
|
@ -99,23 +99,23 @@ public class ItemCarryonBlock extends Item
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Vector3d vec = player.getLookVec();
|
Vector3d vec = player.getLookAngle();
|
||||||
Direction facing2 = Direction.getFacingFromVector((float) vec.x, 0f, (float) vec.z);
|
Direction facing2 = Direction.getNearest((float) vec.x, 0f, (float) vec.z);
|
||||||
BlockPos pos2 = pos;
|
BlockPos pos2 = pos;
|
||||||
Block containedblock = getBlock(stack);
|
Block containedblock = getBlock(stack);
|
||||||
BlockState containedstate = getBlockState(stack);
|
BlockState containedstate = getBlockState(stack);
|
||||||
if (!world.getBlockState(pos2).isReplaceable(new BlockItemUseContext(context)))
|
if (!world.getBlockState(pos2).canBeReplaced(new BlockItemUseContext(context)))
|
||||||
{
|
{
|
||||||
pos2 = pos.offset(facing);
|
pos2 = pos.relative(facing);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (world.getBlockState(pos2).isReplaceable(new BlockItemUseContext(context)) && containedblock != null)
|
if (world.getBlockState(pos2).canBeReplaced(new BlockItemUseContext(context)) && containedblock != null)
|
||||||
{
|
{
|
||||||
boolean canPlace = containedstate.isValidPosition(world, pos2);
|
boolean canPlace = containedstate.canSurvive(world, pos2);
|
||||||
|
|
||||||
if (canPlace)
|
if (canPlace)
|
||||||
{
|
{
|
||||||
if (player.canPlayerEdit(pos, facing, stack) && world.isBlockModifiable(player, pos2))
|
if (player.mayUseItemAt(pos, facing, stack) && world.mayInteract(player, pos2))
|
||||||
{
|
{
|
||||||
|
|
||||||
BlockState placementState = containedblock.getStateForPlacement(new BlockItemUseContext(context));
|
BlockState placementState = containedblock.getStateForPlacement(new BlockItemUseContext(context));
|
||||||
|
|
@ -139,13 +139,13 @@ public class ItemCarryonBlock extends Item
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
BlockSnapshot snapshot = BlockSnapshot.create(world.getDimensionKey(), world, pos2);
|
BlockSnapshot snapshot = BlockSnapshot.create(world.dimension(), world, pos2);
|
||||||
EntityPlaceEvent event = new EntityPlaceEvent(snapshot, world.getBlockState(pos), player);
|
EntityPlaceEvent event = new EntityPlaceEvent(snapshot, world.getBlockState(pos), player);
|
||||||
MinecraftForge.EVENT_BUS.post(event);
|
MinecraftForge.EVENT_BUS.post(event);
|
||||||
|
|
||||||
if (!event.isCanceled())
|
if (!event.isCanceled())
|
||||||
{
|
{
|
||||||
world.setBlockState(pos2, actualState);
|
world.setBlockAndUpdate(pos2, actualState);
|
||||||
|
|
||||||
// If the blockstate doesn't handle rotation,
|
// If the blockstate doesn't handle rotation,
|
||||||
// try to
|
// try to
|
||||||
|
|
@ -153,24 +153,24 @@ public class ItemCarryonBlock extends Item
|
||||||
if (!getTileData(stack).isEmpty())
|
if (!getTileData(stack).isEmpty())
|
||||||
{
|
{
|
||||||
CompoundNBT tag = getTileData(stack);
|
CompoundNBT tag = getTileData(stack);
|
||||||
Set<String> keys = tag.keySet();
|
Set<String> keys = tag.getAllKeys();
|
||||||
keytester: for (String key : keys)
|
keytester: for (String key : keys)
|
||||||
{
|
{
|
||||||
for (String facingKey : FACING_KEYS)
|
for (String facingKey : FACING_KEYS)
|
||||||
{
|
{
|
||||||
if (key.toLowerCase().equals(facingKey))
|
if (key.toLowerCase().equals(facingKey))
|
||||||
{
|
{
|
||||||
byte type = tag.getTagId(key);
|
byte type = tag.getTagType(key);
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case 8:
|
case 8:
|
||||||
tag.putString(key, CharMatcher.javaUpperCase().matchesAllOf(tag.getString(key)) ? facing2.getOpposite().getName2().toUpperCase() : facing2.getOpposite().getName2());
|
tag.putString(key, CharMatcher.javaUpperCase().matchesAllOf(tag.getString(key)) ? facing2.getOpposite().getName().toUpperCase() : facing2.getOpposite().getName());
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
tag.putInt(key, facing2.getOpposite().getIndex());
|
tag.putInt(key, facing2.getOpposite().get3DDataValue());
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
tag.putByte(key, (byte) facing2.getOpposite().getIndex());
|
tag.putByte(key, (byte) facing2.getOpposite().get3DDataValue());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
@ -182,16 +182,16 @@ public class ItemCarryonBlock extends Item
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TileEntity tile = world.getTileEntity(pos2);
|
TileEntity tile = world.getBlockEntity(pos2);
|
||||||
if (tile != null)
|
if (tile != null)
|
||||||
{
|
{
|
||||||
CompoundNBT data = getTileData(stack);
|
CompoundNBT data = getTileData(stack);
|
||||||
updateTileLocation(data, pos2);
|
updateTileLocation(data, pos2);
|
||||||
tile.read(actualState, data);
|
tile.load(actualState, data);
|
||||||
}
|
}
|
||||||
clearTileData(stack);
|
clearTileData(stack);
|
||||||
player.playSound(actualState.getSoundType(world, pos2, player).getPlaceSound(), 1.0f, 0.5f);
|
player.playSound(actualState.getSoundType(world, pos2, player).getPlaceSound(), 1.0f, 0.5f);
|
||||||
player.setHeldItem(Hand.MAIN_HAND, ItemStack.EMPTY);
|
player.setItemInHand(Hand.MAIN_HAND, ItemStack.EMPTY);
|
||||||
player.getPersistentData().remove("overrideKey");
|
player.getPersistentData().remove("overrideKey");
|
||||||
ItemEvents.sendPacket(player, 9, 0);
|
ItemEvents.sendPacket(player, 9, 0);
|
||||||
return ActionResultType.SUCCESS;
|
return ActionResultType.SUCCESS;
|
||||||
|
|
@ -206,7 +206,7 @@ public class ItemCarryonBlock extends Item
|
||||||
{
|
{
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
||||||
if (world != null && world.isRemote)
|
if (world != null && world.isClientSide)
|
||||||
{
|
{
|
||||||
CarryOn.LOGGER.info("Block: " + ItemCarryonBlock.getBlock(stack));
|
CarryOn.LOGGER.info("Block: " + ItemCarryonBlock.getBlock(stack));
|
||||||
CarryOn.LOGGER.info("BlockState: " + ItemCarryonBlock.getBlockState(stack));
|
CarryOn.LOGGER.info("BlockState: " + ItemCarryonBlock.getBlockState(stack));
|
||||||
|
|
@ -219,10 +219,10 @@ public class ItemCarryonBlock extends Item
|
||||||
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonBlock.getBlockState(stack)))
|
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(ItemCarryonBlock.getBlockState(stack)))
|
||||||
CarryOn.LOGGER.info("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonBlock.getBlockState(stack)));
|
CarryOn.LOGGER.info("Custom Pickup Condition: " + CustomPickupOverrideHandler.getPickupCondition(ItemCarryonBlock.getBlockState(stack)));
|
||||||
|
|
||||||
player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "Error detected. Cannot place block. Execute \"/carryon clear\" to remove the item"), false);
|
player.displayClientMessage(new StringTextComponent(TextFormatting.RED + "Error detected. Cannot place block. Execute \"/carryon clear\" to remove the item"), false);
|
||||||
StringTextComponent s = new StringTextComponent(TextFormatting.GOLD + "here");
|
StringTextComponent s = new StringTextComponent(TextFormatting.GOLD + "here");
|
||||||
s.getStyle().setClickEvent(new ClickEvent(Action.OPEN_URL, "https://github.com/Tschipp/CarryOn/issues"));
|
s.getStyle().withClickEvent(new ClickEvent(Action.OPEN_URL, "https://github.com/Tschipp/CarryOn/issues"));
|
||||||
player.sendStatusMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").append(s), false);
|
player.displayClientMessage(new StringTextComponent(TextFormatting.RED + "Please report this error ").append(s), false);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -242,7 +242,7 @@ public class ItemCarryonBlock extends Item
|
||||||
if (entity instanceof PlayerEntity && Settings.slownessInCreative.get() ? false : ((PlayerEntity) entity).isCreative())
|
if (entity instanceof PlayerEntity && Settings.slownessInCreative.get() ? false : ((PlayerEntity) entity).isCreative())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
((LivingEntity) entity).addPotionEffect(new EffectInstance(Effects.SLOWNESS, 1, potionLevel(stack), false, false));
|
((LivingEntity) entity).addEffect(new EffectInstance(Effects.MOVEMENT_SLOWDOWN, 1, potionLevel(stack), false, false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -268,7 +268,7 @@ public class ItemCarryonBlock extends Item
|
||||||
|
|
||||||
CompoundNBT tileTag = new CompoundNBT();
|
CompoundNBT tileTag = new CompoundNBT();
|
||||||
if (tile != null)
|
if (tile != null)
|
||||||
tileTag = tile.write(tileTag);
|
tileTag = tile.save(tileTag);
|
||||||
|
|
||||||
CompoundNBT tag = stack.hasTag() ? stack.getTag() : new CompoundNBT();
|
CompoundNBT tag = stack.hasTag() ? stack.getTag() : new CompoundNBT();
|
||||||
if (tag.contains(TILE_DATA_KEY))
|
if (tag.contains(TILE_DATA_KEY))
|
||||||
|
|
@ -282,7 +282,7 @@ public class ItemCarryonBlock extends Item
|
||||||
tag.putString("block", state.getBlock().getRegistryName().toString());
|
tag.putString("block", state.getBlock().getRegistryName().toString());
|
||||||
// Item item = Item.getItemFromBlock(state.getBlock());
|
// Item item = Item.getItemFromBlock(state.getBlock());
|
||||||
// tag.setInt("meta", drop.getItemDamage());
|
// tag.setInt("meta", drop.getItemDamage());
|
||||||
tag.putInt("stateid", Block.getStateId(state));
|
tag.putInt("stateid", Block.getId(state));
|
||||||
stack.setTag(tag);
|
stack.setTag(tag);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -321,7 +321,7 @@ public class ItemCarryonBlock extends Item
|
||||||
{
|
{
|
||||||
CompoundNBT tag = stack.getTag();
|
CompoundNBT tag = stack.getTag();
|
||||||
int id = tag.getInt("stateid");
|
int id = tag.getInt("stateid");
|
||||||
return Block.getStateById(id).getBlock();
|
return Block.stateById(id).getBlock();
|
||||||
}
|
}
|
||||||
return Blocks.AIR;
|
return Blocks.AIR;
|
||||||
}
|
}
|
||||||
|
|
@ -348,18 +348,18 @@ public class ItemCarryonBlock extends Item
|
||||||
{
|
{
|
||||||
CompoundNBT tag = stack.getTag();
|
CompoundNBT tag = stack.getTag();
|
||||||
int id = tag.getInt("stateid");
|
int id = tag.getInt("stateid");
|
||||||
return Block.getStateById(id);
|
return Block.stateById(id);
|
||||||
}
|
}
|
||||||
return Blocks.AIR.getDefaultState();
|
return Blocks.AIR.defaultBlockState();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isLocked(BlockPos pos, World world)
|
public static boolean isLocked(BlockPos pos, World world)
|
||||||
{
|
{
|
||||||
TileEntity te = world.getTileEntity(pos);
|
TileEntity te = world.getBlockEntity(pos);
|
||||||
if (te != null)
|
if (te != null)
|
||||||
{
|
{
|
||||||
CompoundNBT tag = new CompoundNBT();
|
CompoundNBT tag = new CompoundNBT();
|
||||||
te.write(tag);
|
te.save(tag);
|
||||||
return tag.contains("Lock") ? !tag.getString("Lock").equals("") : false;
|
return tag.contains("Lock") ? !tag.getString("Lock").equals("") : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,23 +39,23 @@ public class ItemCarryonEntity extends Item {
|
||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
initGoals = ObfuscationReflectionHelper.findMethod(MobEntity.class, "func_184651_r");
|
initGoals = ObfuscationReflectionHelper.findMethod(MobEntity.class, "registerGoals");
|
||||||
initGoals.setAccessible(true);
|
initGoals.setAccessible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final String ENTITY_DATA_KEY = "entityData";
|
public static final String ENTITY_DATA_KEY = "entityData";
|
||||||
|
|
||||||
public ItemCarryonEntity() {
|
public ItemCarryonEntity() {
|
||||||
super(new Item.Properties().maxStackSize(1));
|
super(new Item.Properties().stacksTo(1));
|
||||||
this.setRegistryName(CarryOn.MODID, "entity_item");
|
this.setRegistryName(CarryOn.MODID, "entity_item");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ITextComponent getDisplayName(ItemStack stack)
|
public ITextComponent getName(ItemStack stack)
|
||||||
{
|
{
|
||||||
if (hasEntityData(stack)) {
|
if (hasEntityData(stack)) {
|
||||||
|
|
||||||
return new TranslationTextComponent(getEntityType(stack).getTranslationKey());
|
return new TranslationTextComponent(getEntityType(stack).getDescriptionId());
|
||||||
}
|
}
|
||||||
|
|
||||||
return new StringTextComponent("");
|
return new StringTextComponent("");
|
||||||
|
|
@ -92,13 +92,13 @@ public class ItemCarryonEntity extends Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ActionResultType onItemUse(ItemUseContext context) {
|
public ActionResultType useOn(ItemUseContext context) {
|
||||||
PlayerEntity player = context.getPlayer();
|
PlayerEntity player = context.getPlayer();
|
||||||
World world = context.getWorld();
|
World world = context.getLevel();
|
||||||
BlockPos pos = context.getPos();
|
BlockPos pos = context.getClickedPos();
|
||||||
Direction facing = context.getFace();
|
Direction facing = context.getClickedFace();
|
||||||
|
|
||||||
ItemStack stack = context.getItem();
|
ItemStack stack = context.getItemInHand();
|
||||||
|
|
||||||
BlockState state = world.getBlockState(pos);
|
BlockState state = world.getBlockState(pos);
|
||||||
|
|
||||||
|
|
@ -110,21 +110,21 @@ public class ItemCarryonEntity extends Item {
|
||||||
if (hasEntityData(stack)) {
|
if (hasEntityData(stack)) {
|
||||||
BlockPos finalPos = pos;
|
BlockPos finalPos = pos;
|
||||||
|
|
||||||
if (!state.isReplaceable(new BlockItemUseContext(context))) {
|
if (!state.canBeReplaced(new BlockItemUseContext(context))) {
|
||||||
finalPos = pos.offset(facing);
|
finalPos = pos.relative(facing);
|
||||||
}
|
}
|
||||||
|
|
||||||
Entity entity = getEntity(stack, world);
|
Entity entity = getEntity(stack, world);
|
||||||
if (entity != null) {
|
if (entity != null) {
|
||||||
if (!world.isRemote) {
|
if (!world.isClientSide) {
|
||||||
entity.setPositionAndRotation(finalPos.getX() + 0.5, finalPos.getY(), finalPos.getZ() + 0.5,
|
entity.absMoveTo(finalPos.getX() + 0.5, finalPos.getY(), finalPos.getZ() + 0.5,
|
||||||
180 + player.rotationYawHead, 0.0f);
|
180 + player.yHeadRot, 0.0f);
|
||||||
world.addEntity(entity);
|
world.addFreshEntity(entity);
|
||||||
if (entity instanceof MobEntity) {
|
if (entity instanceof MobEntity) {
|
||||||
((MobEntity) entity).playAmbientSound();
|
((MobEntity) entity).playAmbientSound();
|
||||||
}
|
}
|
||||||
clearEntityData(stack);
|
clearEntityData(stack);
|
||||||
player.setHeldItem(Hand.MAIN_HAND, ItemStack.EMPTY);
|
player.setItemInHand(Hand.MAIN_HAND, ItemStack.EMPTY);
|
||||||
ItemEvents.sendPacket(player, 9, 0);
|
ItemEvents.sendPacket(player, 9, 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -147,8 +147,8 @@ public class ItemCarryonEntity extends Item {
|
||||||
: ((PlayerEntity) entity).isCreative())
|
: ((PlayerEntity) entity).isCreative())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
((LivingEntity) entity).addPotionEffect(
|
((LivingEntity) entity).addEffect(
|
||||||
new EffectInstance(Effects.SLOWNESS, 1, potionLevel(stack, world), false, false));
|
new EffectInstance(Effects.MOVEMENT_SLOWDOWN, 1, potionLevel(stack, world), false, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -179,7 +179,7 @@ public class ItemCarryonEntity extends Item {
|
||||||
String name = getEntityName(stack);
|
String name = getEntityName(stack);
|
||||||
|
|
||||||
CompoundNBT e = getPersistentData(stack);
|
CompoundNBT e = getPersistentData(stack);
|
||||||
Optional<EntityType<?>> type = EntityType.byKey(name);
|
Optional<EntityType<?>> type = EntityType.byString(name);
|
||||||
Entity entity = null;
|
Entity entity = null;
|
||||||
|
|
||||||
if (type.isPresent()) {
|
if (type.isPresent()) {
|
||||||
|
|
@ -225,7 +225,7 @@ public class ItemCarryonEntity extends Item {
|
||||||
if (stack.hasTag()) {
|
if (stack.hasTag()) {
|
||||||
CompoundNBT tag = stack.getTag();
|
CompoundNBT tag = stack.getTag();
|
||||||
String name = tag.getString("entity");
|
String name = tag.getString("entity");
|
||||||
Optional<EntityType<?>> type = EntityType.byKey(name);
|
Optional<EntityType<?>> type = EntityType.byString(name);
|
||||||
if (type.isPresent())
|
if (type.isPresent())
|
||||||
return type.get();
|
return type.get();
|
||||||
}
|
}
|
||||||
|
|
@ -237,7 +237,7 @@ public class ItemCarryonEntity extends Item {
|
||||||
if (e == null)
|
if (e == null)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
int i = (int) (e.getHeight() * e.getWidth());
|
int i = (int) (e.getBbHeight() * e.getBbWidth());
|
||||||
if (i > 4)
|
if (i > 4)
|
||||||
i = 4;
|
i = 4;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -104,7 +104,7 @@ public class CarryOnOverride
|
||||||
if (resistance != null)
|
if (resistance != null)
|
||||||
setTypeResistance(resistance.getAsString());
|
setTypeResistance(resistance.getAsString());
|
||||||
if (nbt != null)
|
if (nbt != null)
|
||||||
setTypeBlockTag(JsonToNBT.getTagFromJson(nbt.toString()));
|
setTypeBlockTag(JsonToNBT.parseTag(nbt.toString()));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -124,7 +124,7 @@ public class CarryOnOverride
|
||||||
if (width != null)
|
if (width != null)
|
||||||
setTypeWidth(width.getAsString());
|
setTypeWidth(width.getAsString());
|
||||||
if (nbt != null)
|
if (nbt != null)
|
||||||
setTypeEntityTag(JsonToNBT.getTagFromJson(nbt.toString()));
|
setTypeEntityTag(JsonToNBT.parseTag(nbt.toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (conditions != null)
|
if (conditions != null)
|
||||||
|
|
@ -177,7 +177,7 @@ public class CarryOnOverride
|
||||||
if (scaled != null)
|
if (scaled != null)
|
||||||
setRenderscaled(scaled.getAsString());
|
setRenderscaled(scaled.getAsString());
|
||||||
if (nbt != null)
|
if (nbt != null)
|
||||||
setRenderNBT(JsonToNBT.getTagFromJson(nbt.toString()));
|
setRenderNBT(JsonToNBT.parseTag(nbt.toString()));
|
||||||
if (rotationLeftArm != null)
|
if (rotationLeftArm != null)
|
||||||
setRenderRotationLeftArm(rotationLeftArm.getAsString());
|
setRenderRotationLeftArm(rotationLeftArm.getAsString());
|
||||||
if (rotationRightArm != null)
|
if (rotationRightArm != null)
|
||||||
|
|
@ -783,95 +783,95 @@ public class CarryOnOverride
|
||||||
public void serialize(PacketBuffer buf)
|
public void serialize(PacketBuffer buf)
|
||||||
{
|
{
|
||||||
// BLOCKS
|
// BLOCKS
|
||||||
buf.writeCompoundTag(typeBlockTag);
|
buf.writeNbt(typeBlockTag);
|
||||||
buf.writeString(typeNameBlock);
|
buf.writeUtf(typeNameBlock);
|
||||||
buf.writeString(typeMaterial);
|
buf.writeUtf(typeMaterial);
|
||||||
buf.writeString(typeHardness);
|
buf.writeUtf(typeHardness);
|
||||||
buf.writeString(typeResistance);
|
buf.writeUtf(typeResistance);
|
||||||
|
|
||||||
// ENTITIES
|
// ENTITIES
|
||||||
buf.writeCompoundTag(typeEntityTag);
|
buf.writeNbt(typeEntityTag);
|
||||||
buf.writeString(typeNameEntity);
|
buf.writeUtf(typeNameEntity);
|
||||||
buf.writeString(typeHeight);
|
buf.writeUtf(typeHeight);
|
||||||
buf.writeString(typeWidth);
|
buf.writeUtf(typeWidth);
|
||||||
buf.writeString(typeHealth);
|
buf.writeUtf(typeHealth);
|
||||||
|
|
||||||
// CONDITIONS
|
// CONDITIONS
|
||||||
buf.writeString(conditionGamestage);
|
buf.writeUtf(conditionGamestage);
|
||||||
buf.writeString(conditionAchievement);
|
buf.writeUtf(conditionAchievement);
|
||||||
buf.writeString(conditionXp);
|
buf.writeUtf(conditionXp);
|
||||||
buf.writeString(conditionGamemode);
|
buf.writeUtf(conditionGamemode);
|
||||||
buf.writeString(conditionScoreboard);
|
buf.writeUtf(conditionScoreboard);
|
||||||
buf.writeString(conditionPosition);
|
buf.writeUtf(conditionPosition);
|
||||||
buf.writeString(conditionEffects);
|
buf.writeUtf(conditionEffects);
|
||||||
|
|
||||||
// RENDER
|
// RENDER
|
||||||
buf.writeString(renderNameBlock);
|
buf.writeUtf(renderNameBlock);
|
||||||
buf.writeString(renderNameEntity);
|
buf.writeUtf(renderNameEntity);
|
||||||
buf.writeCompoundTag(renderNBT);
|
buf.writeNbt(renderNBT);
|
||||||
buf.writeString(renderTranslation);
|
buf.writeUtf(renderTranslation);
|
||||||
buf.writeString(renderRotation);
|
buf.writeUtf(renderRotation);
|
||||||
buf.writeString(renderscaled);
|
buf.writeUtf(renderscaled);
|
||||||
buf.writeString(renderRotationLeftArm);
|
buf.writeUtf(renderRotationLeftArm);
|
||||||
buf.writeString(renderRotationRightArm);
|
buf.writeUtf(renderRotationRightArm);
|
||||||
buf.writeBoolean(renderLeftArm);
|
buf.writeBoolean(renderLeftArm);
|
||||||
buf.writeBoolean(renderRightArm);
|
buf.writeBoolean(renderRightArm);
|
||||||
|
|
||||||
// EFFECTS
|
// EFFECTS
|
||||||
buf.writeString(commandInit);
|
buf.writeUtf(commandInit);
|
||||||
buf.writeString(commandLoop);
|
buf.writeUtf(commandLoop);
|
||||||
buf.writeString(commandPlace);
|
buf.writeUtf(commandPlace);
|
||||||
|
|
||||||
buf.writeBoolean(isBlock);
|
buf.writeBoolean(isBlock);
|
||||||
buf.writeBoolean(isEntity);
|
buf.writeBoolean(isEntity);
|
||||||
buf.writeString(resourceLocation);
|
buf.writeUtf(resourceLocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CarryOnOverride deserialize(PacketBuffer buf)
|
public static CarryOnOverride deserialize(PacketBuffer buf)
|
||||||
{
|
{
|
||||||
CarryOnOverride override = new CarryOnOverride("");
|
CarryOnOverride override = new CarryOnOverride("");
|
||||||
override.typeBlockTag = buf.readCompoundTag();
|
override.typeBlockTag = buf.readNbt();
|
||||||
override.typeNameBlock = buf.readString();
|
override.typeNameBlock = buf.readUtf();
|
||||||
override.typeMaterial = buf.readString();
|
override.typeMaterial = buf.readUtf();
|
||||||
override.typeHardness = buf.readString();
|
override.typeHardness = buf.readUtf();
|
||||||
override.typeResistance = buf.readString();
|
override.typeResistance = buf.readUtf();
|
||||||
|
|
||||||
// ENTITIES
|
// ENTITIES
|
||||||
override.typeEntityTag = buf.readCompoundTag();
|
override.typeEntityTag = buf.readNbt();
|
||||||
override.typeNameEntity = buf.readString();
|
override.typeNameEntity = buf.readUtf();
|
||||||
override.typeHeight = buf.readString();
|
override.typeHeight = buf.readUtf();
|
||||||
override.typeWidth = buf.readString();
|
override.typeWidth = buf.readUtf();
|
||||||
override.typeHealth = buf.readString();
|
override.typeHealth = buf.readUtf();
|
||||||
|
|
||||||
// CONDITIONS
|
// CONDITIONS
|
||||||
override.conditionGamestage = buf.readString();
|
override.conditionGamestage = buf.readUtf();
|
||||||
override.conditionAchievement = buf.readString();
|
override.conditionAchievement = buf.readUtf();
|
||||||
override.conditionXp = buf.readString();
|
override.conditionXp = buf.readUtf();
|
||||||
override.conditionGamemode = buf.readString();
|
override.conditionGamemode = buf.readUtf();
|
||||||
override.conditionScoreboard = buf.readString();
|
override.conditionScoreboard = buf.readUtf();
|
||||||
override.conditionPosition = buf.readString();
|
override.conditionPosition = buf.readUtf();
|
||||||
override.conditionEffects = buf.readString();
|
override.conditionEffects = buf.readUtf();
|
||||||
|
|
||||||
// RENDER
|
// RENDER
|
||||||
override.renderNameBlock = buf.readString();
|
override.renderNameBlock = buf.readUtf();
|
||||||
override.renderNameEntity = buf.readString();
|
override.renderNameEntity = buf.readUtf();
|
||||||
override.renderNBT = buf.readCompoundTag();
|
override.renderNBT = buf.readNbt();
|
||||||
override.renderTranslation = buf.readString();
|
override.renderTranslation = buf.readUtf();
|
||||||
override.renderRotation = buf.readString();
|
override.renderRotation = buf.readUtf();
|
||||||
override.renderscaled = buf.readString();
|
override.renderscaled = buf.readUtf();
|
||||||
override.renderRotationLeftArm = buf.readString();
|
override.renderRotationLeftArm = buf.readUtf();
|
||||||
override.renderRotationRightArm = buf.readString();
|
override.renderRotationRightArm = buf.readUtf();
|
||||||
override.renderLeftArm = buf.readBoolean();
|
override.renderLeftArm = buf.readBoolean();
|
||||||
override.renderRightArm = buf.readBoolean();
|
override.renderRightArm = buf.readBoolean();
|
||||||
|
|
||||||
// EFFECTS
|
// EFFECTS
|
||||||
override.commandInit = buf.readString();
|
override.commandInit = buf.readUtf();
|
||||||
override.commandLoop = buf.readString();
|
override.commandLoop = buf.readUtf();
|
||||||
override.commandPlace = buf.readString();
|
override.commandPlace = buf.readUtf();
|
||||||
|
|
||||||
override.isBlock = buf.readBoolean();
|
override.isBlock = buf.readBoolean();
|
||||||
override.isEntity = buf.readBoolean();
|
override.isEntity = buf.readBoolean();
|
||||||
override.resourceLocation = buf.readString();
|
override.resourceLocation = buf.readUtf();
|
||||||
|
|
||||||
return override;
|
return override;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ public class ScriptChecker
|
||||||
|
|
||||||
Block block = state.getBlock();
|
Block block = state.getBlock();
|
||||||
Material material = state.getMaterial();
|
Material material = state.getMaterial();
|
||||||
float hardness = state.getBlockHardness(world, pos);
|
float hardness = state.getDestroySpeed(world, pos);
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
float resistance = block.getExplosionResistance();
|
float resistance = block.getExplosionResistance();
|
||||||
CompoundNBT nbt = tag;
|
CompoundNBT nbt = tag;
|
||||||
|
|
@ -62,8 +62,8 @@ public class ScriptChecker
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
String name = entity.getType().getRegistryName().toString();
|
String name = entity.getType().getRegistryName().toString();
|
||||||
float height = entity.getHeight();
|
float height = entity.getBbHeight();
|
||||||
float width = entity.getWidth();
|
float width = entity.getBbWidth();
|
||||||
float health = entity instanceof LivingEntity ? ((LivingEntity) entity).getHealth() : 0.0f;
|
float health = entity instanceof LivingEntity ? ((LivingEntity) entity).getHealth() : 0.0f;
|
||||||
CompoundNBT tag = entity.serializeNBT();
|
CompoundNBT tag = entity.serializeNBT();
|
||||||
|
|
||||||
|
|
@ -109,11 +109,11 @@ public class ScriptChecker
|
||||||
|
|
||||||
public static boolean fulfillsConditions(CarryOnOverride override, PlayerEntity player)
|
public static boolean fulfillsConditions(CarryOnOverride override, PlayerEntity player)
|
||||||
{
|
{
|
||||||
AdvancementManager manager = ((ServerPlayerEntity) player).server.getAdvancementManager();
|
AdvancementManager manager = ((ServerPlayerEntity) player).server.getAdvancements();
|
||||||
Advancement adv = manager.getAdvancement(new ResourceLocation((override.getConditionAchievement()).isEmpty() ? "" : override.getConditionAchievement()));
|
Advancement adv = manager.getAdvancement(new ResourceLocation((override.getConditionAchievement()).isEmpty() ? "" : override.getConditionAchievement()));
|
||||||
|
|
||||||
boolean achievement = adv == null ? true : ((ServerPlayerEntity) player).getAdvancements().getProgress(adv).isDone();
|
boolean achievement = adv == null ? true : ((ServerPlayerEntity) player).getAdvancements().getOrStartProgress(adv).isDone();
|
||||||
boolean gamemode = ScriptParseHelper.matches(((ServerPlayerEntity) player).interactionManager.getGameType().getID(), override.getConditionGamemode());
|
boolean gamemode = ScriptParseHelper.matches(((ServerPlayerEntity) player).gameMode.getGameModeForPlayer().getId(), override.getConditionGamemode());
|
||||||
boolean gamestage = true;
|
boolean gamestage = true;
|
||||||
if (ModList.get().isLoaded("gamestages"))
|
if (ModList.get().isLoaded("gamestages"))
|
||||||
{
|
{
|
||||||
|
|
@ -154,7 +154,7 @@ public class ScriptChecker
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean position = ScriptParseHelper.matches(player.getPosition(), override.getConditionPosition());
|
boolean position = ScriptParseHelper.matches(player.blockPosition(), override.getConditionPosition());
|
||||||
boolean xp = ScriptParseHelper.matches(player.experienceLevel, override.getConditionXp());
|
boolean xp = ScriptParseHelper.matches(player.experienceLevel, override.getConditionXp());
|
||||||
boolean scoreboard = ScriptParseHelper.matchesScore(player, override.getConditionScoreboard());
|
boolean scoreboard = ScriptParseHelper.matchesScore(player, override.getConditionScoreboard());
|
||||||
boolean effects = ScriptParseHelper.hasEffects(player, override.getConditionEffects());
|
boolean effects = ScriptParseHelper.hasEffects(player, override.getConditionEffects());
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ public class ObfuscateEvents
|
||||||
return;
|
return;
|
||||||
|
|
||||||
PlayerModel<?> model = event.getModelPlayer();
|
PlayerModel<?> model = event.getModelPlayer();
|
||||||
ItemStack stack = player.getHeldItemMainhand();
|
ItemStack stack = player.getMainHandItem();
|
||||||
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack) || stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemCarryonBlock.hasTileData(stack) || stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -55,33 +55,33 @@ public class ObfuscateEvents
|
||||||
|
|
||||||
if (renderLeft && rotLeft != null)
|
if (renderLeft && rotLeft != null)
|
||||||
{
|
{
|
||||||
renderArmPre(model.bipedLeftArm, (float) rotLeft[0], (float) rotLeft[2], rotation);
|
renderArmPre(model.leftArm, (float) rotLeft[0], (float) rotLeft[2], rotation);
|
||||||
renderArmPre(model.bipedLeftArmwear, (float) rotLeft[0], (float) rotLeft[2], rotation);
|
renderArmPre(model.leftSleeve, (float) rotLeft[0], (float) rotLeft[2], rotation);
|
||||||
}
|
}
|
||||||
else if (renderLeft)
|
else if (renderLeft)
|
||||||
{
|
{
|
||||||
renderArmPre(model.bipedLeftArm, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation);
|
renderArmPre(model.leftArm, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation);
|
||||||
renderArmPre(model.bipedLeftArmwear, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation);
|
renderArmPre(model.leftSleeve, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (renderRight && rotRight != null)
|
if (renderRight && rotRight != null)
|
||||||
{
|
{
|
||||||
renderArmPre(model.bipedRightArm, (float) rotRight[0], (float) rotRight[2], rotation);
|
renderArmPre(model.rightArm, (float) rotRight[0], (float) rotRight[2], rotation);
|
||||||
renderArmPre(model.bipedRightArmwear, (float) rotRight[0], (float) rotRight[2], rotation);
|
renderArmPre(model.rightSleeve, (float) rotRight[0], (float) rotRight[2], rotation);
|
||||||
}
|
}
|
||||||
else if (renderRight)
|
else if (renderRight)
|
||||||
{
|
{
|
||||||
renderArmPre(model.bipedRightArm, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation);
|
renderArmPre(model.rightArm, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation);
|
||||||
renderArmPre(model.bipedRightArmwear, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation);
|
renderArmPre(model.rightSleeve, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
renderArmPre(model.bipedRightArm, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation);
|
renderArmPre(model.rightArm, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation);
|
||||||
renderArmPre(model.bipedRightArmwear, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation);
|
renderArmPre(model.rightSleeve, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? -0.15f : 0), rotation);
|
||||||
renderArmPre(model.bipedLeftArm, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation);
|
renderArmPre(model.leftArm, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation);
|
||||||
renderArmPre(model.bipedLeftArmwear, 0.8F + (player.isSneaking() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation);
|
renderArmPre(model.leftSleeve, 0.8F + (player.isShiftKeyDown() ? 0.2f : 0f) - (stack.getItem() == RegistrationHandler.itemEntity ? -0.2f : 0), (stack.getItem() == RegistrationHandler.itemEntity ? 0.15f : 0), rotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -92,9 +92,9 @@ public class ObfuscateEvents
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
private void renderArmPre(ModelRenderer arm, float x, float z, float rotation)
|
private void renderArmPre(ModelRenderer arm, float x, float z, float rotation)
|
||||||
{
|
{
|
||||||
arm.rotateAngleX = (float) -x;
|
arm.xRot = (float) -x;
|
||||||
arm.rotateAngleY = (float) -Math.toRadians(rotation);
|
arm.yRot = (float) -Math.toRadians(rotation);
|
||||||
arm.rotateAngleZ = (float) z;
|
arm.zRot = (float) z;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ public class CarrySlotPacket
|
||||||
|
|
||||||
if (world != null)
|
if (world != null)
|
||||||
{
|
{
|
||||||
Entity e = world.getEntityByID(entityid);
|
Entity e = world.getEntity(entityid);
|
||||||
|
|
||||||
if (e != null && e instanceof PlayerEntity)
|
if (e != null && e instanceof PlayerEntity)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,6 @@ public class ClientProxy implements IProxy {
|
||||||
@Override
|
@Override
|
||||||
public World getWorld()
|
public World getWorld()
|
||||||
{
|
{
|
||||||
return Minecraft.getInstance().world;
|
return Minecraft.getInstance().level;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user