Fixed blocks not saving data
This commit is contained in:
parent
df6498a236
commit
28c4d4a2f9
|
|
@ -35,7 +35,7 @@ public class RenderEntityEvents
|
||||||
|
|
||||||
public static final Map<String, Entity> nbtEntityMap = new HashMap<>();
|
public static final Map<String, Entity> nbtEntityMap = new HashMap<>();
|
||||||
|
|
||||||
public static Entity getEntity(ItemStack carried, Level world)
|
public static Entity getEntity(ItemStack carried, Level level)
|
||||||
{
|
{
|
||||||
String nbt = ItemCarryonEntity.getPersistentData(carried).toString();
|
String nbt = ItemCarryonEntity.getPersistentData(carried).toString();
|
||||||
if (nbtEntityMap.containsKey(nbt))
|
if (nbtEntityMap.containsKey(nbt))
|
||||||
|
|
@ -43,7 +43,7 @@ public class RenderEntityEvents
|
||||||
return nbtEntityMap.get(nbt);
|
return nbtEntityMap.get(nbt);
|
||||||
}
|
}
|
||||||
|
|
||||||
Entity entity = ItemCarryonEntity.getEntity(carried, world);
|
Entity entity = ItemCarryonEntity.getEntity(carried, level);
|
||||||
nbtEntityMap.put(nbt, entity);
|
nbtEntityMap.put(nbt, entity);
|
||||||
|
|
||||||
return entity;
|
return entity;
|
||||||
|
|
@ -51,7 +51,7 @@ public class RenderEntityEvents
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onWorldUnload(WorldEvent.Unload event)
|
public void onLevelUnload(WorldEvent.Unload event)
|
||||||
{
|
{
|
||||||
nbtEntityMap.clear();
|
nbtEntityMap.clear();
|
||||||
}
|
}
|
||||||
|
|
@ -64,7 +64,7 @@ public class RenderEntityEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void renderHand(RenderHandEvent event)
|
public void renderHand(RenderHandEvent event)
|
||||||
{
|
{
|
||||||
Level world = Minecraft.getInstance().level;
|
Level level = Minecraft.getInstance().level;
|
||||||
Player player = Minecraft.getInstance().player;
|
Player player = Minecraft.getInstance().player;
|
||||||
ItemStack stack = player.getMainHandItem();
|
ItemStack stack = player.getMainHandItem();
|
||||||
int perspective = CarryRenderHelper.getPerspective();
|
int perspective = CarryRenderHelper.getPerspective();
|
||||||
|
|
@ -79,7 +79,7 @@ public class RenderEntityEvents
|
||||||
if (ModList.get().isLoaded("realrender") || ModList.get().isLoaded("rfpr"))
|
if (ModList.get().isLoaded("realrender") || ModList.get().isLoaded("rfpr"))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Entity entity = getEntity(stack, world);
|
Entity entity = getEntity(stack, level);
|
||||||
|
|
||||||
if (entity != null)
|
if (entity != null)
|
||||||
{
|
{
|
||||||
|
|
@ -117,7 +117,7 @@ public class RenderEntityEvents
|
||||||
|
|
||||||
Optional<EntityType<?>> type = EntityType.byString(entityname);
|
Optional<EntityType<?>> type = EntityType.byString(entityname);
|
||||||
if (type.isPresent())
|
if (type.isPresent())
|
||||||
newEntity = type.get().create(world);
|
newEntity = type.get().create(level);
|
||||||
|
|
||||||
if (newEntity != null)
|
if (newEntity != null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -124,7 +124,7 @@ public class RenderEvents
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
public void onJoinWorld(EntityJoinWorldEvent event)
|
public void onJoinLevel(EntityJoinWorldEvent event)
|
||||||
{
|
{
|
||||||
if (event.getEntity() instanceof Player)
|
if (event.getEntity() instanceof Player)
|
||||||
{
|
{
|
||||||
|
|
@ -232,7 +232,7 @@ public class RenderEvents
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void renderHand(RenderHandEvent event)
|
public void renderHand(RenderHandEvent event)
|
||||||
{
|
{
|
||||||
Level world = Minecraft.getInstance().level;
|
Level level = Minecraft.getInstance().level;
|
||||||
Player player = Minecraft.getInstance().player;
|
Player player = Minecraft.getInstance().player;
|
||||||
ItemStack stack = player.getMainHandItem();
|
ItemStack stack = player.getMainHandItem();
|
||||||
int perspective = CarryRenderHelper.getPerspective();
|
int perspective = CarryRenderHelper.getPerspective();
|
||||||
|
|
@ -267,7 +267,7 @@ public class RenderEvents
|
||||||
matrix.mulPose(Vector3f.XP.rotationDegrees(8));
|
matrix.mulPose(Vector3f.XP.rotationDegrees(8));
|
||||||
}
|
}
|
||||||
|
|
||||||
BakedModel 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, 0);
|
BakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, level, player) : tileStack.isEmpty() ? Minecraft.getInstance().getBlockRenderer().getBlockModel(state) : Minecraft.getInstance().getItemRenderer().getModel(tileStack, level, player, 0);
|
||||||
|
|
||||||
CarryOnOverride carryOverride = ScriptChecker.getOverride(player);
|
CarryOnOverride carryOverride = ScriptChecker.getOverride(player);
|
||||||
if (carryOverride != null)
|
if (carryOverride != null)
|
||||||
|
|
@ -281,7 +281,7 @@ 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().getModel(s, world, player, 0);
|
model = Minecraft.getInstance().getItemRenderer().getModel(s, level, player, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -313,10 +313,10 @@ public class RenderEvents
|
||||||
@SuppressWarnings({ "deprecation", "resource" })
|
@SuppressWarnings({ "deprecation", "resource" })
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onRenderWorld(RenderLevelLastEvent event)
|
public void onRenderLevel(RenderLevelLastEvent event)
|
||||||
{
|
{
|
||||||
Minecraft mc = Minecraft.getInstance();
|
Minecraft mc = Minecraft.getInstance();
|
||||||
Level world = mc.level;
|
Level level = mc.level;
|
||||||
float partialticks = event.getPartialTick();
|
float partialticks = event.getPartialTick();
|
||||||
BufferSource buffer = MultiBufferSource.immediate(Tesselator.getInstance().getBuilder());
|
BufferSource buffer = MultiBufferSource.immediate(Tesselator.getInstance().getBuilder());
|
||||||
PoseStack matrix = event.getPoseStack();
|
PoseStack matrix = event.getPoseStack();
|
||||||
|
|
@ -328,7 +328,7 @@ public class RenderEvents
|
||||||
RenderSystem.disableCull();
|
RenderSystem.disableCull();
|
||||||
RenderSystem.disableDepthTest();
|
RenderSystem.disableDepthTest();
|
||||||
|
|
||||||
for (Player player : world.players())
|
for (Player player : level.players())
|
||||||
{
|
{
|
||||||
if (perspective == 0 && player == mc.player)
|
if (perspective == 0 && player == mc.player)
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -345,7 +345,7 @@ public class RenderEvents
|
||||||
|
|
||||||
applyBlockTransformations(player, partialticks, matrix, block);
|
applyBlockTransformations(player, partialticks, matrix, block);
|
||||||
|
|
||||||
BakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, world, player) : tileItem.isEmpty() ? mc.getBlockRenderer().getBlockModel(state) : mc.getItemRenderer().getModel(tileItem, world, player, 0);
|
BakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, level, player) : tileItem.isEmpty() ? mc.getBlockRenderer().getBlockModel(state) : mc.getItemRenderer().getModel(tileItem, level, player, 0);
|
||||||
|
|
||||||
CarryOnOverride carryOverride = ScriptChecker.getOverride(player);
|
CarryOnOverride carryOverride = ScriptChecker.getOverride(player);
|
||||||
if (carryOverride != null)
|
if (carryOverride != null)
|
||||||
|
|
@ -359,7 +359,7 @@ public class RenderEvents
|
||||||
{
|
{
|
||||||
ItemStack s = new ItemStack(b, 1);
|
ItemStack s = new ItemStack(b, 1);
|
||||||
s.setTag(carryOverride.getRenderNBT());
|
s.setTag(carryOverride.getRenderNBT());
|
||||||
model = mc.getItemRenderer().getModel(s, world, player, 0);
|
model = mc.getItemRenderer().getModel(s, level, player, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -382,7 +382,7 @@ public class RenderEvents
|
||||||
}
|
}
|
||||||
else if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
else if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
||||||
{
|
{
|
||||||
Entity entity = RenderEntityEvents.getEntity(stack, world);
|
Entity entity = RenderEntityEvents.getEntity(stack, level);
|
||||||
|
|
||||||
if (entity != null)
|
if (entity != null)
|
||||||
{
|
{
|
||||||
|
|
@ -402,7 +402,7 @@ public class RenderEvents
|
||||||
|
|
||||||
Optional<EntityType<?>> type = EntityType.byString(entityname);
|
Optional<EntityType<?>> type = EntityType.byString(entityname);
|
||||||
if (type.isPresent())
|
if (type.isPresent())
|
||||||
newEntity = type.get().create(world);
|
newEntity = type.get().create(level);
|
||||||
|
|
||||||
if (newEntity != null)
|
if (newEntity != null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -35,11 +35,11 @@ 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())
|
||||||
{
|
{
|
||||||
Level world = player.level;
|
Level level = player.level;
|
||||||
BlockPos pos = cap.getPos();
|
BlockPos pos = cap.getPos();
|
||||||
if (world != null)
|
if (level != null)
|
||||||
{
|
{
|
||||||
BlockEntity te = world.getBlockEntity(pos);
|
BlockEntity te = level.getBlockEntity(pos);
|
||||||
if (te == null)
|
if (te == null)
|
||||||
{
|
{
|
||||||
// player.openContainer = null;
|
// player.openContainer = null;
|
||||||
|
|
|
||||||
|
|
@ -32,13 +32,13 @@ public class PositionCommonEvents
|
||||||
public void onBlockRight(PlayerInteractEvent.RightClickBlock event)
|
public void onBlockRight(PlayerInteractEvent.RightClickBlock event)
|
||||||
{
|
{
|
||||||
BlockPos pos = event.getPos();
|
BlockPos pos = event.getPos();
|
||||||
Level world = event.getWorld();
|
Level level = event.getWorld();
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
|
|
||||||
if (event.isCanceled() || player == null || player instanceof FakePlayer)
|
if (event.isCanceled() || player == null || player instanceof FakePlayer)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
BlockEntity te = world.getBlockEntity(pos);
|
BlockEntity te = level.getBlockEntity(pos);
|
||||||
if (te != null && player.getCapability(PositionProvider.POSITION_CAPABILITY).isPresent())
|
if (te != null && 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());
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,7 @@ public class ItemEntityEvents
|
||||||
public void onItemDropped(EntityJoinWorldEvent event)
|
public void onItemDropped(EntityJoinWorldEvent event)
|
||||||
{
|
{
|
||||||
Entity e = event.getEntity();
|
Entity e = event.getEntity();
|
||||||
Level world = event.getWorld();
|
Level level = event.getWorld();
|
||||||
if (e instanceof net.minecraft.world.entity.item.ItemEntity eitem)
|
if (e instanceof net.minecraft.world.entity.item.ItemEntity eitem)
|
||||||
{
|
{
|
||||||
ItemStack stack = eitem.getItem();
|
ItemStack stack = eitem.getItem();
|
||||||
|
|
@ -76,9 +76,9 @@ public class ItemEntityEvents
|
||||||
if (item == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
if (item == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(stack))
|
||||||
{
|
{
|
||||||
BlockPos pos = eitem.blockPosition();
|
BlockPos pos = eitem.blockPosition();
|
||||||
Entity entity = ItemCarryonEntity.getEntity(stack, world);
|
Entity entity = ItemCarryonEntity.getEntity(stack, level);
|
||||||
entity.setPos(pos.getX() + 0.5, pos.getY(), pos.getZ() + 0.5);
|
entity.setPos(pos.getX() + 0.5, pos.getY(), pos.getZ() + 0.5);
|
||||||
world.addFreshEntity(entity);
|
level.addFreshEntity(entity);
|
||||||
|
|
||||||
ItemCarryonEntity.clearEntityData(stack);
|
ItemCarryonEntity.clearEntityData(stack);
|
||||||
eitem.setItem(ItemStack.EMPTY);
|
eitem.setItem(ItemStack.EMPTY);
|
||||||
|
|
@ -95,7 +95,7 @@ public class ItemEntityEvents
|
||||||
{
|
{
|
||||||
ItemStack main = player.getMainHandItem();
|
ItemStack main = player.getMainHandItem();
|
||||||
ItemStack off = player.getOffhandItem();
|
ItemStack off = player.getOffhandItem();
|
||||||
Level world = event.getWorld();
|
Level level = event.getWorld();
|
||||||
Entity entity = event.getTarget();
|
Entity entity = event.getTarget();
|
||||||
BlockPos pos = entity.blockPosition();
|
BlockPos pos = entity.blockPosition();
|
||||||
|
|
||||||
|
|
@ -108,7 +108,7 @@ public class ItemEntityEvents
|
||||||
if (entity instanceof Animal)
|
if (entity instanceof Animal)
|
||||||
((Animal) entity).dropLeash(true, true);
|
((Animal) entity).dropLeash(true, true);
|
||||||
|
|
||||||
if (PickupHandler.canPlayerPickUpEntity((ServerPlayer) player, entity) && ItemCarryonEntity.storeEntityData(entity, world, stack))
|
if (PickupHandler.canPlayerPickUpEntity((ServerPlayer) player, entity) && ItemCarryonEntity.storeEntityData(entity, level, stack))
|
||||||
{
|
{
|
||||||
LazyOptional<IItemHandler> handler = entity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY);
|
LazyOptional<IItemHandler> handler = entity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY);
|
||||||
|
|
||||||
|
|
@ -141,12 +141,12 @@ public class ItemEntityEvents
|
||||||
}
|
}
|
||||||
else if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(main) && !CarryOnKeybinds.isKeyPressed(player) && Settings.stackableEntities.get())
|
else if (!main.isEmpty() && main.getItem() == RegistrationHandler.itemEntity && ItemCarryonEntity.hasEntityData(main) && !CarryOnKeybinds.isKeyPressed(player) && Settings.stackableEntities.get())
|
||||||
{
|
{
|
||||||
Entity entityHeld = ItemCarryonEntity.getEntity(main, world);
|
Entity entityHeld = ItemCarryonEntity.getEntity(main, level);
|
||||||
|
|
||||||
if (entity.invulnerableTime == 0 && entityHeld instanceof LivingEntity)
|
if (entity.invulnerableTime == 0 && entityHeld instanceof LivingEntity)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!world.isClientSide && entityHeld.getUUID() != entity.getUUID() && entity.isAlive())
|
if (!level.isClientSide && entityHeld.getUUID() != entity.getUUID() && entity.isAlive())
|
||||||
{
|
{
|
||||||
|
|
||||||
double sizeHeldEntity = entityHeld.getBbHeight() * entityHeld.getBbWidth();
|
double sizeHeldEntity = entityHeld.getBbHeight() * entityHeld.getBbWidth();
|
||||||
|
|
@ -173,14 +173,14 @@ public class ItemEntityEvents
|
||||||
double tempY = entity.getY();
|
double tempY = entity.getY();
|
||||||
double tempZ = entity.getZ();
|
double tempZ = entity.getZ();
|
||||||
entityHeld.setPos(tempX, tempY + 2.6, tempZ);
|
entityHeld.setPos(tempX, tempY + 2.6, tempZ);
|
||||||
world.addFreshEntity(entityHeld);
|
level.addFreshEntity(entityHeld);
|
||||||
entityHeld.startRiding(topEntity, false);
|
entityHeld.startRiding(topEntity, false);
|
||||||
entityHeld.teleportTo(tempX, tempY, tempZ);
|
entityHeld.teleportTo(tempX, tempY, tempZ);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
entityHeld.setPos(entity.getX(), entity.getY(), entity.getZ());
|
entityHeld.setPos(entity.getX(), entity.getY(), entity.getZ());
|
||||||
world.addFreshEntity(entityHeld);
|
level.addFreshEntity(entityHeld);
|
||||||
entityHeld.startRiding(topEntity, false);
|
entityHeld.startRiding(topEntity, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -189,17 +189,17 @@ public class ItemEntityEvents
|
||||||
ItemEvents.sendPacket(player, 9, 0);
|
ItemEvents.sendPacket(player, 9, 0);
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
event.setCancellationResult(InteractionResult.FAIL);
|
event.setCancellationResult(InteractionResult.FAIL);
|
||||||
world.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.HORSE_SADDLE, SoundSource.PLAYERS, 0.5F, 1.5F);
|
level.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.HORSE_SADDLE, SoundSource.PLAYERS, 0.5F, 1.5F);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
world.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.NOTE_BLOCK_BASS, SoundSource.PLAYERS, 0.5F, 1.5F);
|
level.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.NOTE_BLOCK_BASS, SoundSource.PLAYERS, 0.5F, 1.5F);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
world.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.NOTE_BLOCK_BASS, SoundSource.PLAYERS, 0.5F, 1.5F);
|
level.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.NOTE_BLOCK_BASS, SoundSource.PLAYERS, 0.5F, 1.5F);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -246,16 +246,16 @@ public class ItemEntityEvents
|
||||||
public void onLivingUpdate(LivingUpdateEvent event)
|
public void onLivingUpdate(LivingUpdateEvent event)
|
||||||
{
|
{
|
||||||
LivingEntity entity = event.getEntityLiving();
|
LivingEntity entity = event.getEntityLiving();
|
||||||
Level world = entity.level;
|
Level level = entity.level;
|
||||||
ItemStack main = entity.getMainHandItem();
|
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.blockPosition();
|
BlockPos pos = entity.blockPosition();
|
||||||
BlockPos below = pos.relative(Direction.DOWN);
|
BlockPos below = pos.relative(Direction.DOWN);
|
||||||
|
|
||||||
if (world.getBlockState(pos).getMaterial() == Material.WATER || world.getBlockState(below).getMaterial() == Material.WATER)
|
if (level.getBlockState(pos).getMaterial() == Material.WATER || level.getBlockState(below).getMaterial() == Material.WATER)
|
||||||
{
|
{
|
||||||
Entity contained = ItemCarryonEntity.getEntity(main, world);
|
Entity contained = ItemCarryonEntity.getEntity(main, level);
|
||||||
if (contained != null)
|
if (contained != null)
|
||||||
{
|
{
|
||||||
float height = contained.getBbWidth();
|
float height = contained.getBbWidth();
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,7 @@ public class ItemEvents
|
||||||
public void onItemDropped(EntityJoinWorldEvent event)
|
public void onItemDropped(EntityJoinWorldEvent event)
|
||||||
{
|
{
|
||||||
Entity e = event.getEntity();
|
Entity e = event.getEntity();
|
||||||
Level world = event.getWorld();
|
Level level = event.getWorld();
|
||||||
if (e instanceof net.minecraft.world.entity.item.ItemEntity eitem)
|
if (e instanceof net.minecraft.world.entity.item.ItemEntity eitem)
|
||||||
{
|
{
|
||||||
ItemStack stack = eitem.getItem();
|
ItemStack stack = eitem.getItem();
|
||||||
|
|
@ -106,23 +106,23 @@ public class ItemEvents
|
||||||
{
|
{
|
||||||
BlockPos pos = eitem.blockPosition();
|
BlockPos pos = eitem.blockPosition();
|
||||||
BlockPos finalPos = pos;
|
BlockPos finalPos = pos;
|
||||||
BlockPlaceContext context = new DirectionalPlaceContext(world, pos, Direction.DOWN, stack, Direction.UP);
|
BlockPlaceContext context = new DirectionalPlaceContext(level, pos, Direction.DOWN, stack, Direction.UP);
|
||||||
|
|
||||||
if (!world.getBlockState(pos).canBeReplaced(context) || !context.canPlace())
|
if (!level.getBlockState(pos).canBeReplaced(context) || !context.canPlace())
|
||||||
{
|
{
|
||||||
for (Direction facing : Direction.values())
|
for (Direction facing : Direction.values())
|
||||||
{
|
{
|
||||||
BlockPos offsetPos = pos.relative(facing);
|
BlockPos offsetPos = pos.relative(facing);
|
||||||
BlockPlaceContext newContext = new DirectionalPlaceContext(world, offsetPos, Direction.DOWN, stack, Direction.UP);
|
BlockPlaceContext newContext = new DirectionalPlaceContext(level, offsetPos, Direction.DOWN, stack, Direction.UP);
|
||||||
if (world.getBlockState(offsetPos).canBeReplaced(newContext) && newContext.canPlace())
|
if (level.getBlockState(offsetPos).canBeReplaced(newContext) && newContext.canPlace())
|
||||||
{
|
{
|
||||||
finalPos = offsetPos;
|
finalPos = offsetPos;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
world.setBlockAndUpdate(finalPos, ItemCarryonBlock.getBlockState(stack));
|
level.setBlockAndUpdate(finalPos, ItemCarryonBlock.getBlockState(stack));
|
||||||
BlockEntity tile = world.getBlockEntity(finalPos);
|
BlockEntity tile = level.getBlockEntity(finalPos);
|
||||||
if (tile != null)
|
if (tile != null)
|
||||||
{
|
{
|
||||||
var nbt = ItemCarryonBlock.getTileData(stack);
|
var nbt = ItemCarryonBlock.getTileData(stack);
|
||||||
|
|
@ -149,14 +149,14 @@ public class ItemEvents
|
||||||
if (event.getPlayer() instanceof Player)
|
if (event.getPlayer() instanceof Player)
|
||||||
{
|
{
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
Level world = player.getCommandSenderWorld();
|
Level level = player.getCommandSenderWorld();
|
||||||
|
|
||||||
ItemStack carried = player.getMainHandItem();
|
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.blockPosition(), ItemCarryonBlock.getTileData(carried));
|
CarryOnOverride override = ScriptChecker.inspectBlock(ItemCarryonBlock.getBlockState(carried), level, player.blockPosition(), ItemCarryonBlock.getTileData(carried));
|
||||||
if (override != null)
|
if (override != null)
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) player), new CarrySlotPacket(player.getInventory().selected, player.getId(), override.hashCode()));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) player), new CarrySlotPacket(player.getInventory().selected, player.getId(), override.hashCode()));
|
||||||
else
|
else
|
||||||
|
|
@ -164,7 +164,7 @@ public class ItemEvents
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CarryOnOverride override = ScriptChecker.inspectEntity(ItemCarryonEntity.getEntity(carried, world));
|
CarryOnOverride override = ScriptChecker.inspectEntity(ItemCarryonEntity.getEntity(carried, level));
|
||||||
if (override != null)
|
if (override != null)
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) player), new CarrySlotPacket(player.getInventory().selected, player.getId(), override.hashCode()));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) player), new CarrySlotPacket(player.getInventory().selected, player.getId(), override.hashCode()));
|
||||||
else
|
else
|
||||||
|
|
@ -206,14 +206,14 @@ public class ItemEvents
|
||||||
|
|
||||||
if (e instanceof Player player && tracker instanceof ServerPlayer)
|
if (e instanceof Player player && tracker instanceof ServerPlayer)
|
||||||
{
|
{
|
||||||
Level world = player.getCommandSenderWorld();
|
Level level = player.getCommandSenderWorld();
|
||||||
|
|
||||||
ItemStack carried = player.getMainHandItem();
|
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.blockPosition(), ItemCarryonBlock.getTileData(carried));
|
CarryOnOverride override = ScriptChecker.inspectBlock(ItemCarryonBlock.getBlockState(carried), level, player.blockPosition(), ItemCarryonBlock.getTileData(carried));
|
||||||
if (override != null)
|
if (override != null)
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) tracker), new CarrySlotPacket(player.getInventory().selected, player.getId(), override.hashCode()));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) tracker), new CarrySlotPacket(player.getInventory().selected, player.getId(), override.hashCode()));
|
||||||
else
|
else
|
||||||
|
|
@ -221,7 +221,7 @@ public class ItemEvents
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CarryOnOverride override = ScriptChecker.inspectEntity(ItemCarryonEntity.getEntity(carried, world));
|
CarryOnOverride override = ScriptChecker.inspectEntity(ItemCarryonEntity.getEntity(carried, level));
|
||||||
if (override != null)
|
if (override != null)
|
||||||
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) tracker), new CarrySlotPacket(player.getInventory().selected, player.getId(), override.hashCode()));
|
CarryOn.network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) tracker), new CarrySlotPacket(player.getInventory().selected, player.getId(), override.hashCode()));
|
||||||
else
|
else
|
||||||
|
|
@ -298,28 +298,28 @@ public class ItemEvents
|
||||||
|
|
||||||
ItemStack main = player.getMainHandItem();
|
ItemStack main = player.getMainHandItem();
|
||||||
ItemStack off = player.getOffhandItem();
|
ItemStack off = player.getOffhandItem();
|
||||||
Level world = event.getWorld();
|
Level level = event.getWorld();
|
||||||
BlockPos pos = event.getPos();
|
BlockPos pos = event.getPos();
|
||||||
BlockState state = world.getBlockState(pos);
|
BlockState state = level.getBlockState(pos);
|
||||||
|
|
||||||
if (main.isEmpty() && off.isEmpty() && CarryOnKeybinds.isKeyPressed(player))
|
if (main.isEmpty() && off.isEmpty() && CarryOnKeybinds.isKeyPressed(player))
|
||||||
{
|
{
|
||||||
|
|
||||||
ItemStack stack = new ItemStack(RegistrationHandler.itemTile);
|
ItemStack stack = new ItemStack(RegistrationHandler.itemTile);
|
||||||
|
|
||||||
BlockEntity te = world.getBlockEntity(pos);
|
BlockEntity te = level.getBlockEntity(pos);
|
||||||
if (PickupHandler.canPlayerPickUpBlock((ServerPlayer) player, te, world, pos))
|
if (PickupHandler.canPlayerPickUpBlock((ServerPlayer) player, te, level, pos))
|
||||||
{
|
{
|
||||||
player.closeContainer();
|
player.closeContainer();
|
||||||
world.levelEvent(1010, pos, 0);
|
level.levelEvent(1010, pos, 0);
|
||||||
|
|
||||||
if (ItemCarryonBlock.storeTileData(te, world, pos, state, stack))
|
if (ItemCarryonBlock.storeTileData(te, level, pos, state, stack))
|
||||||
{
|
{
|
||||||
|
|
||||||
BlockState statee = world.getBlockState(pos);
|
BlockState statee = level.getBlockState(pos);
|
||||||
CompoundTag tag = new CompoundTag();
|
CompoundTag tag = new CompoundTag();
|
||||||
tag = world.getBlockEntity(pos) != null ? world.getBlockEntity(pos).save(tag) : new CompoundTag();
|
tag = level.getBlockEntity(pos) != null ? level.getBlockEntity(pos).saveWithId() : tag;
|
||||||
CarryOnOverride override = ScriptChecker.inspectBlock(state, world, pos, tag);
|
CarryOnOverride override = ScriptChecker.inspectBlock(state, level, pos, tag);
|
||||||
int overrideHash = 0;
|
int overrideHash = 0;
|
||||||
if (override != null)
|
if (override != null)
|
||||||
overrideHash = override.hashCode();
|
overrideHash = override.hashCode();
|
||||||
|
|
@ -330,8 +330,8 @@ public class ItemEvents
|
||||||
{
|
{
|
||||||
sendPacket(player, player.getInventory().selected, overrideHash);
|
sendPacket(player, player.getInventory().selected, overrideHash);
|
||||||
|
|
||||||
world.removeBlockEntity(pos);
|
level.removeBlockEntity(pos);
|
||||||
world.removeBlock(pos, false);
|
level.removeBlock(pos, false);
|
||||||
player.setItemInHand(InteractionHand.MAIN_HAND, stack);
|
player.setItemInHand(InteractionHand.MAIN_HAND, stack);
|
||||||
event.setUseBlock(Result.DENY);
|
event.setUseBlock(Result.DENY);
|
||||||
event.setUseItem(Result.DENY);
|
event.setUseItem(Result.DENY);
|
||||||
|
|
@ -344,7 +344,7 @@ public class ItemEvents
|
||||||
{
|
{
|
||||||
sendPacket(player, player.getInventory().selected, overrideHash);
|
sendPacket(player, player.getInventory().selected, overrideHash);
|
||||||
emptyTileEntity(te);
|
emptyTileEntity(te);
|
||||||
world.removeBlock(pos, false);
|
level.removeBlock(pos, false);
|
||||||
player.setItemInHand(InteractionHand.MAIN_HAND, stack);
|
player.setItemInHand(InteractionHand.MAIN_HAND, stack);
|
||||||
event.setUseBlock(Result.DENY);
|
event.setUseBlock(Result.DENY);
|
||||||
event.setUseItem(Result.DENY);
|
event.setUseItem(Result.DENY);
|
||||||
|
|
@ -354,7 +354,7 @@ public class ItemEvents
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
sendPacket(player, 9, 0);
|
sendPacket(player, 9, 0);
|
||||||
world.setBlockAndUpdate(pos, statee);
|
level.setBlockAndUpdate(pos, statee);
|
||||||
if (!tag.isEmpty())
|
if (!tag.isEmpty())
|
||||||
{
|
{
|
||||||
BlockEntity.loadStatic(pos, statee, tag);
|
BlockEntity.loadStatic(pos, statee, tag);
|
||||||
|
|
@ -444,9 +444,9 @@ public class ItemEvents
|
||||||
int carrySlot = original.getInventory().selected;
|
int carrySlot = original.getInventory().selected;
|
||||||
|
|
||||||
ItemStack stack = player.getInventory().removeItemNoUpdate(carrySlot);
|
ItemStack stack = player.getInventory().removeItemNoUpdate(carrySlot);
|
||||||
Level world = player.level;
|
Level level = player.level;
|
||||||
|
|
||||||
ItemEntity item = new ItemEntity(world, 0, 0, 0, stack);
|
ItemEntity item = new ItemEntity(level, 0, 0, 0, stack);
|
||||||
BlockPos pos = null;
|
BlockPos pos = null;
|
||||||
Optional<BlockPos> bedpos = original.getSleepingPos();
|
Optional<BlockPos> bedpos = original.getSleepingPos();
|
||||||
if (bedpos.isPresent())
|
if (bedpos.isPresent())
|
||||||
|
|
@ -454,7 +454,7 @@ public class ItemEvents
|
||||||
if (pos == null)
|
if (pos == null)
|
||||||
pos = player.blockPosition();
|
pos = player.blockPosition();
|
||||||
item.setPos(pos.getX(), pos.getY(), pos.getZ());
|
item.setPos(pos.getX(), pos.getY(), pos.getZ());
|
||||||
world.addFreshEntity(item);
|
level.addFreshEntity(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -191,7 +191,7 @@ public class ModelOverridesHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
public static BakedModel getCustomOverrideModel(BlockState state, CompoundTag tag, Level world, Player player)
|
public static BakedModel getCustomOverrideModel(BlockState state, CompoundTag tag, Level level, Player player)
|
||||||
{
|
{
|
||||||
int stateid = Block.getId(state);
|
int stateid = Block.getId(state);
|
||||||
CompoundTag[] keys = new CompoundTag[OVERRIDE_OBJECTS.size()];
|
CompoundTag[] keys = new CompoundTag[OVERRIDE_OBJECTS.size()];
|
||||||
|
|
@ -224,7 +224,7 @@ public class ModelOverridesHandler
|
||||||
if (override instanceof BlockState)
|
if (override instanceof BlockState)
|
||||||
return Minecraft.getInstance().getBlockRenderer().getBlockModel((BlockState) override);
|
return Minecraft.getInstance().getBlockRenderer().getBlockModel((BlockState) override);
|
||||||
else
|
else
|
||||||
return Minecraft.getInstance().getItemRenderer().getModel((ItemStack) override, world, player, 0);
|
return Minecraft.getInstance().getItemRenderer().getModel((ItemStack) override, level, player, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,50 +29,50 @@ import tschipp.carryon.common.scripting.ScriptChecker;
|
||||||
public class PickupHandler
|
public class PickupHandler
|
||||||
{
|
{
|
||||||
|
|
||||||
public static boolean canPlayerPickUpBlock(ServerPlayer player, @Nullable BlockEntity tile, Level world, BlockPos pos)
|
public static boolean canPlayerPickUpBlock(ServerPlayer player, @Nullable BlockEntity tile, Level level, BlockPos pos)
|
||||||
{
|
{
|
||||||
if (player.gameMode.getGameModeForPlayer() == GameType.SPECTATOR || player.gameMode.getGameModeForPlayer() == GameType.ADVENTURE)
|
if (player.gameMode.getGameModeForPlayer() == GameType.SPECTATOR || player.gameMode.getGameModeForPlayer() == GameType.ADVENTURE)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
BlockState state = world.getBlockState(pos);
|
BlockState state = level.getBlockState(pos);
|
||||||
CompoundTag tag = new CompoundTag();
|
CompoundTag tag = new CompoundTag();
|
||||||
if (tile != null)
|
if (tile != null)
|
||||||
tile.save(tag);
|
tile.saveWithId();
|
||||||
|
|
||||||
CarryOnOverride override = ScriptChecker.inspectBlock(world.getBlockState(pos), world, pos, tag);
|
CarryOnOverride override = ScriptChecker.inspectBlock(level.getBlockState(pos), level, pos, tag);
|
||||||
if (override != null)
|
if (override != null)
|
||||||
{
|
{
|
||||||
return ScriptChecker.fulfillsConditions(override, player) && handleProtections(player, world, pos, state);
|
return ScriptChecker.fulfillsConditions(override, player) && handleProtections(player, level, pos, state);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (Settings.useWhitelistBlocks.get())
|
if (Settings.useWhitelistBlocks.get())
|
||||||
{
|
{
|
||||||
if (!ListHandler.isAllowed(world.getBlockState(pos).getBlock()))
|
if (!ListHandler.isAllowed(level.getBlockState(pos).getBlock()))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (ListHandler.isForbidden(world.getBlockState(pos).getBlock()))
|
else if (ListHandler.isForbidden(level.getBlockState(pos).getBlock()))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state.getDestroySpeed(world, pos) != -1 || player.isCreative())
|
if (state.getDestroySpeed(level, pos) != -1 || player.isCreative())
|
||||||
{
|
{
|
||||||
double distance = Vec3.atLowerCornerOf(pos).distanceTo(player.position());
|
double distance = Vec3.atLowerCornerOf(pos).distanceTo(player.position());
|
||||||
double maxDist = Settings.maxDistance.get();
|
double maxDist = Settings.maxDistance.get();
|
||||||
|
|
||||||
if (distance < maxDist && !ItemCarryonBlock.isLocked(pos, world))
|
if (distance < maxDist && !ItemCarryonBlock.isLocked(pos, level))
|
||||||
{
|
{
|
||||||
|
|
||||||
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(state))
|
if (CustomPickupOverrideHandler.hasSpecialPickupConditions(state))
|
||||||
{
|
{
|
||||||
return CarryonGamestageHelper.hasGamestage(CustomPickupOverrideHandler.getPickupCondition(state), player) && handleProtections(player, world, pos, state);
|
return CarryonGamestageHelper.hasGamestage(CustomPickupOverrideHandler.getPickupCondition(state), player) && handleProtections(player, level, pos, state);
|
||||||
}
|
}
|
||||||
else if (Settings.pickupAllBlocks.get() ? true : tile != null)
|
else if (Settings.pickupAllBlocks.get() ? true : tile != null)
|
||||||
{
|
{
|
||||||
return handleProtections(player, world, pos, state);
|
return handleProtections(player, level, pos, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -158,9 +158,9 @@ public class PickupHandler
|
||||||
|
|
||||||
public static class PickUpBlockEvent extends BlockEvent.BreakEvent
|
public static class PickUpBlockEvent extends BlockEvent.BreakEvent
|
||||||
{
|
{
|
||||||
public PickUpBlockEvent(Level world, BlockPos pos, BlockState state, Player player)
|
public PickUpBlockEvent(Level level, BlockPos pos, BlockState state, Player player)
|
||||||
{
|
{
|
||||||
super(world, pos, state, player);
|
super(level, pos, state, player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -172,11 +172,11 @@ public class PickupHandler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean handleProtections(ServerPlayer player, Level world, BlockPos pos, BlockState state)
|
private static boolean handleProtections(ServerPlayer player, Level level, BlockPos pos, BlockState state)
|
||||||
{
|
{
|
||||||
boolean breakable = true;
|
boolean breakable = true;
|
||||||
|
|
||||||
PickUpBlockEvent event = new PickUpBlockEvent(world, pos, state, player);
|
PickUpBlockEvent event = new PickUpBlockEvent(level, pos, state, player);
|
||||||
MinecraftForge.EVENT_BUS.post(event);
|
MinecraftForge.EVENT_BUS.post(event);
|
||||||
|
|
||||||
if (event.isCanceled())
|
if (event.isCanceled())
|
||||||
|
|
|
||||||
|
|
@ -201,10 +201,10 @@ public class ReflectionHelper
|
||||||
* The class to find the method on.
|
* The class to find the method on.
|
||||||
* @param methodName
|
* @param methodName
|
||||||
* The name of the method to find (used in developer
|
* The name of the method to find (used in developer
|
||||||
* environments, i.e. "getWorldTime").
|
* environments, i.e. "getLevelTime").
|
||||||
* @param methodObfName
|
* @param methodObfName
|
||||||
* The obfuscated name of the method to find (used in obfuscated
|
* The obfuscated name of the method to find (used in obfuscated
|
||||||
* environments, i.e. "getWorldTime"). If the name you are
|
* environments, i.e. "getLevelTime"). If the name you are
|
||||||
* looking for is on a class that is never obfuscated, this
|
* looking for is on a class that is never obfuscated, this
|
||||||
* should be null.
|
* should be null.
|
||||||
* @param parameterTypes
|
* @param parameterTypes
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@ public class ItemCarryonBlock extends Item
|
||||||
{
|
{
|
||||||
Direction facing = context.getClickedFace();
|
Direction facing = context.getClickedFace();
|
||||||
Player player = context.getPlayer();
|
Player player = context.getPlayer();
|
||||||
Level world = context.getLevel();
|
Level level = context.getLevel();
|
||||||
BlockPos pos = context.getClickedPos();
|
BlockPos pos = context.getClickedPos();
|
||||||
ItemStack stack = context.getItemInHand();
|
ItemStack stack = context.getItemInHand();
|
||||||
|
|
||||||
|
|
@ -101,16 +101,16 @@ public class ItemCarryonBlock extends Item
|
||||||
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).canBeReplaced(new BlockPlaceContext(context)))
|
if (!level.getBlockState(pos2).canBeReplaced(new BlockPlaceContext(context)))
|
||||||
{
|
{
|
||||||
pos2 = pos.relative(facing);
|
pos2 = pos.relative(facing);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (world.getBlockState(pos2).canBeReplaced(new BlockPlaceContext(context)) && containedblock != null)
|
if (level.getBlockState(pos2).canBeReplaced(new BlockPlaceContext(context)) && containedblock != null)
|
||||||
{
|
{
|
||||||
boolean canPlace = containedstate.canSurvive(world, pos2);
|
boolean canPlace = containedstate.canSurvive(level, pos2);
|
||||||
|
|
||||||
if (canPlace && player.mayUseItemAt(pos, facing, stack) && world.mayInteract(player, pos2))
|
if (canPlace && player.mayUseItemAt(pos, facing, stack) && level.mayInteract(player, pos2))
|
||||||
{
|
{
|
||||||
|
|
||||||
BlockState placementState = containedblock.getStateForPlacement(new BlockPlaceContext(context));
|
BlockState placementState = containedblock.getStateForPlacement(new BlockPlaceContext(context));
|
||||||
|
|
@ -138,13 +138,13 @@ public class ItemCarryonBlock extends Item
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
BlockSnapshot snapshot = BlockSnapshot.create(world.dimension(), world, pos2);
|
BlockSnapshot snapshot = BlockSnapshot.create(level.dimension(), level, pos2);
|
||||||
EntityPlaceEvent event = new EntityPlaceEvent(snapshot, world.getBlockState(pos), player);
|
EntityPlaceEvent event = new EntityPlaceEvent(snapshot, level.getBlockState(pos), player);
|
||||||
MinecraftForge.EVENT_BUS.post(event);
|
MinecraftForge.EVENT_BUS.post(event);
|
||||||
|
|
||||||
if (!event.isCanceled())
|
if (!event.isCanceled())
|
||||||
{
|
{
|
||||||
world.setBlockAndUpdate(pos2, actualState);
|
level.setBlockAndUpdate(pos2, actualState);
|
||||||
|
|
||||||
// If the blockstate doesn't handle rotation,
|
// If the blockstate doesn't handle rotation,
|
||||||
// try to
|
// try to
|
||||||
|
|
@ -181,7 +181,7 @@ public class ItemCarryonBlock extends Item
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BlockEntity tile = world.getBlockEntity(pos2);
|
BlockEntity tile = level.getBlockEntity(pos2);
|
||||||
if (tile != null)
|
if (tile != null)
|
||||||
{
|
{
|
||||||
CompoundTag data = getTileData(stack);
|
CompoundTag data = getTileData(stack);
|
||||||
|
|
@ -189,7 +189,7 @@ public class ItemCarryonBlock extends Item
|
||||||
tile.load(data);
|
tile.load(data);
|
||||||
}
|
}
|
||||||
clearTileData(stack);
|
clearTileData(stack);
|
||||||
player.playSound(actualState.getSoundType(world, pos2, player).getPlaceSound(), 1.0f, 0.5f);
|
player.playSound(actualState.getSoundType(level, pos2, player).getPlaceSound(), 1.0f, 0.5f);
|
||||||
player.setItemInHand(InteractionHand.MAIN_HAND, ItemStack.EMPTY);
|
player.setItemInHand(InteractionHand.MAIN_HAND, ItemStack.EMPTY);
|
||||||
player.getPersistentData().remove("overrideKey");
|
player.getPersistentData().remove("overrideKey");
|
||||||
ItemEvents.sendPacket(player, 9, 0);
|
ItemEvents.sendPacket(player, 9, 0);
|
||||||
|
|
@ -203,7 +203,7 @@ public class ItemCarryonBlock extends Item
|
||||||
{
|
{
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
||||||
if (world != null && world.isClientSide)
|
if (level != null && level.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));
|
||||||
|
|
@ -230,7 +230,7 @@ public class ItemCarryonBlock extends Item
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void inventoryTick(ItemStack stack, Level world, Entity entity, int itemSlot, boolean isSelected)
|
public void inventoryTick(ItemStack stack, Level level, Entity entity, int itemSlot, boolean isSelected)
|
||||||
{
|
{
|
||||||
if (hasTileData(stack))
|
if (hasTileData(stack))
|
||||||
{
|
{
|
||||||
|
|
@ -258,14 +258,14 @@ public class ItemCarryonBlock extends Item
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean storeTileData(@Nullable BlockEntity tile, Level world, BlockPos pos, BlockState state, ItemStack stack)
|
public static boolean storeTileData(@Nullable BlockEntity tile, Level level, BlockPos pos, BlockState state, ItemStack stack)
|
||||||
{
|
{
|
||||||
if (stack.isEmpty())
|
if (stack.isEmpty())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
CompoundTag tileTag = new CompoundTag();
|
CompoundTag tileTag = new CompoundTag();
|
||||||
if (tile != null)
|
if (tile != null)
|
||||||
tileTag = tile.save(tileTag);
|
tileTag = tile.saveWithId();
|
||||||
|
|
||||||
CompoundTag tag = stack.hasTag() ? stack.getTag() : new CompoundTag();
|
CompoundTag tag = stack.hasTag() ? stack.getTag() : new CompoundTag();
|
||||||
if (tag.contains(TILE_DATA_KEY))
|
if (tag.contains(TILE_DATA_KEY))
|
||||||
|
|
@ -327,7 +327,7 @@ public class ItemCarryonBlock extends Item
|
||||||
// {
|
// {
|
||||||
// if (stack.hasTag())
|
// if (stack.hasTag())
|
||||||
// {
|
// {
|
||||||
// CompoundNBT tag = stack.getTag();
|
// CompoundTag tag = stack.getTag();
|
||||||
// int meta = tag.getInt("meta");
|
// int meta = tag.getInt("meta");
|
||||||
// return meta;
|
// return meta;
|
||||||
// }
|
// }
|
||||||
|
|
@ -350,13 +350,13 @@ public class ItemCarryonBlock extends Item
|
||||||
return Blocks.AIR.defaultBlockState();
|
return Blocks.AIR.defaultBlockState();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isLocked(BlockPos pos, Level world)
|
public static boolean isLocked(BlockPos pos, Level level)
|
||||||
{
|
{
|
||||||
BlockEntity te = world.getBlockEntity(pos);
|
BlockEntity te = level.getBlockEntity(pos);
|
||||||
if (te != null)
|
if (te != null)
|
||||||
{
|
{
|
||||||
CompoundTag tag = new CompoundTag();
|
CompoundTag tag = new CompoundTag();
|
||||||
te.save(tag);
|
te.saveWithId();
|
||||||
return tag.contains("Lock") ? !tag.getString("Lock").equals("") : false;
|
return tag.contains("Lock") ? !tag.getString("Lock").equals("") : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -74,13 +74,13 @@ public class ItemCarryonEntity extends Item
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean storeEntityData(@Nonnull Entity entity, Level world, ItemStack stack)
|
public static boolean storeEntityData(@Nonnull Entity entity, Level level, ItemStack stack)
|
||||||
{
|
{
|
||||||
if (entity == null || stack.isEmpty())
|
if (entity == null || stack.isEmpty())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
CompoundTag entityData = new CompoundTag();
|
CompoundTag entityData = new CompoundTag();
|
||||||
entityData = entity.serializeNBT();
|
entity.saveWithoutId(entityData);
|
||||||
|
|
||||||
String name = EntityType.getKey(entity.getType()).toString();
|
String name = EntityType.getKey(entity.getType()).toString();
|
||||||
|
|
||||||
|
|
@ -98,13 +98,13 @@ public class ItemCarryonEntity extends Item
|
||||||
public InteractionResult useOn(UseOnContext context)
|
public InteractionResult useOn(UseOnContext context)
|
||||||
{
|
{
|
||||||
Player player = context.getPlayer();
|
Player player = context.getPlayer();
|
||||||
Level world = context.getLevel();
|
Level level = context.getLevel();
|
||||||
BlockPos pos = context.getClickedPos();
|
BlockPos pos = context.getClickedPos();
|
||||||
Direction facing = context.getClickedFace();
|
Direction facing = context.getClickedFace();
|
||||||
|
|
||||||
ItemStack stack = context.getItemInHand();
|
ItemStack stack = context.getItemInHand();
|
||||||
|
|
||||||
BlockState state = world.getBlockState(pos);
|
BlockState state = level.getBlockState(pos);
|
||||||
|
|
||||||
if (ModList.get().isLoaded("betterplacement") && CarryOnKeybinds.isKeyPressed(player))
|
if (ModList.get().isLoaded("betterplacement") && CarryOnKeybinds.isKeyPressed(player))
|
||||||
return InteractionResult.FAIL;
|
return InteractionResult.FAIL;
|
||||||
|
|
@ -118,13 +118,13 @@ public class ItemCarryonEntity extends Item
|
||||||
finalPos = pos.relative(facing);
|
finalPos = pos.relative(facing);
|
||||||
}
|
}
|
||||||
|
|
||||||
Entity entity = getEntity(stack, world);
|
Entity entity = getEntity(stack, level);
|
||||||
if (entity != null)
|
if (entity != null)
|
||||||
{
|
{
|
||||||
if (!world.isClientSide)
|
if (!level.isClientSide)
|
||||||
{
|
{
|
||||||
entity.absMoveTo(finalPos.getX() + 0.5, finalPos.getY(), finalPos.getZ() + 0.5, 180 + player.yHeadRot, 0.0f);
|
entity.absMoveTo(finalPos.getX() + 0.5, finalPos.getY(), finalPos.getZ() + 0.5, 180 + player.yHeadRot, 0.0f);
|
||||||
world.addFreshEntity(entity);
|
level.addFreshEntity(entity);
|
||||||
if (entity instanceof Mob)
|
if (entity instanceof Mob)
|
||||||
{
|
{
|
||||||
((Mob) entity).playAmbientSound();
|
((Mob) entity).playAmbientSound();
|
||||||
|
|
@ -143,11 +143,11 @@ public class ItemCarryonEntity extends Item
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void inventoryTick(ItemStack stack, Level world, Entity entity, int itemSlot, boolean isSelected)
|
public void inventoryTick(ItemStack stack, Level level, Entity entity, int itemSlot, boolean isSelected)
|
||||||
{
|
{
|
||||||
if (hasEntityData(stack))
|
if (hasEntityData(stack))
|
||||||
{
|
{
|
||||||
if (getEntity(stack, world) == null)
|
if (getEntity(stack, level) == null)
|
||||||
stack = ItemStack.EMPTY;
|
stack = ItemStack.EMPTY;
|
||||||
|
|
||||||
if (entity instanceof LivingEntity)
|
if (entity instanceof LivingEntity)
|
||||||
|
|
@ -155,7 +155,7 @@ public class ItemCarryonEntity extends Item
|
||||||
if (entity instanceof Player && Settings.slownessInCreative.get() ? false : ((Player) entity).isCreative())
|
if (entity instanceof Player && Settings.slownessInCreative.get() ? false : ((Player) entity).isCreative())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
((LivingEntity) entity).addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 1, this.potionLevel(stack, world), false, false));
|
((LivingEntity) entity).addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 1, this.potionLevel(stack, level), false, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -185,9 +185,9 @@ public class ItemCarryonEntity extends Item
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Entity getEntity(ItemStack stack, Level world)
|
public static Entity getEntity(ItemStack stack, Level level)
|
||||||
{
|
{
|
||||||
if (world == null)
|
if (level == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
String name = getEntityName(stack);
|
String name = getEntityName(stack);
|
||||||
|
|
@ -198,18 +198,20 @@ public class ItemCarryonEntity extends Item
|
||||||
|
|
||||||
if (type.isPresent())
|
if (type.isPresent())
|
||||||
{
|
{
|
||||||
entity = type.get().create(world);
|
entity = type.get().create(level);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entity != null)
|
if (entity != null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
initGoals.invoke(entity);
|
if (entity instanceof Mob)
|
||||||
entity.deserializeNBT(e);
|
initGoals.invoke(entity);
|
||||||
|
entity.load(e);
|
||||||
}
|
}
|
||||||
catch (Exception e1)
|
catch (Exception e1)
|
||||||
{
|
{
|
||||||
|
e1.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -256,9 +258,9 @@ public class ItemCarryonEntity extends Item
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int potionLevel(ItemStack stack, Level world)
|
private int potionLevel(ItemStack stack, Level level)
|
||||||
{
|
{
|
||||||
Entity e = getEntity(stack, world);
|
Entity e = getEntity(stack, level);
|
||||||
if (e == null)
|
if (e == null)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,14 +26,14 @@ import tschipp.carryon.common.helper.ScriptParseHelper;
|
||||||
public class ScriptChecker
|
public class ScriptChecker
|
||||||
{
|
{
|
||||||
@Nullable
|
@Nullable
|
||||||
public static CarryOnOverride inspectBlock(BlockState state, Level world, BlockPos pos, @Nullable CompoundTag tag)
|
public static CarryOnOverride inspectBlock(BlockState state, Level level, BlockPos pos, @Nullable CompoundTag tag)
|
||||||
{
|
{
|
||||||
if (!Settings.useScripts.get())
|
if (!Settings.useScripts.get())
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
Block block = state.getBlock();
|
Block block = state.getBlock();
|
||||||
Material material = state.getMaterial();
|
Material material = state.getMaterial();
|
||||||
float hardness = state.getDestroySpeed(world, pos);
|
float hardness = state.getDestroySpeed(level, pos);
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
float resistance = block.getExplosionResistance();
|
float resistance = block.getExplosionResistance();
|
||||||
CompoundTag nbt = tag;
|
CompoundTag nbt = tag;
|
||||||
|
|
|
||||||
|
|
@ -49,11 +49,11 @@ public class CarrySlotPacket
|
||||||
{
|
{
|
||||||
ctx.get().enqueueWork(() -> {
|
ctx.get().enqueueWork(() -> {
|
||||||
|
|
||||||
Level world = CarryOn.proxy.getWorld();
|
Level level = CarryOn.proxy.getLevel();
|
||||||
|
|
||||||
if (world != null)
|
if (level != null)
|
||||||
{
|
{
|
||||||
Entity e = world.getEntity(this.entityid);
|
Entity e = level.getEntity(this.entityid);
|
||||||
|
|
||||||
if (e instanceof Player player)
|
if (e instanceof Player player)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ public class ClientProxy implements IProxy
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Level getWorld()
|
public Level getLevel()
|
||||||
{
|
{
|
||||||
return Minecraft.getInstance().level;
|
return Minecraft.getInstance().level;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,5 +11,5 @@ public interface IProxy
|
||||||
|
|
||||||
public Player getPlayer();
|
public Player getPlayer();
|
||||||
|
|
||||||
public Level getWorld();
|
public Level getLevel();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ public class ServerProxy implements IProxy
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Level getWorld()
|
public Level getLevel()
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user